From 6f3617047c15d62dcf211bb6f91a6de0ca48bb73 Mon Sep 17 00:00:00 2001 From: Bertrand Janvoie Date: Thu, 22 Sep 2022 11:14:31 +0200 Subject: [PATCH] Split projects --- Pepiniere/ansible/Formation/.gitignore | 2 - Pepiniere/ansible/Formation/.gitlab-ci.yml | 29 - Pepiniere/ansible/Formation/.gitmodules | 3 - .../Formation/0.Introduction-formation.md | 118 - .../Formation/1.Introduction-ansible.md | 206 - .../ansible/Formation/10.bonnes-pratiques.md | 85 - .../Formation/2.installation-inventaire.md | 328 - .../ansible/Formation/3.commandes-ad-hoc.md | 384 -- Pepiniere/ansible/Formation/4.playbooks.md | 578 -- Pepiniere/ansible/Formation/5.roles.md | 409 -- .../Formation/6.structures-de-controle.md | 385 -- Pepiniere/ansible/Formation/7.templates.md | 516 -- .../ansible/Formation/8.notions-avancees.md | 306 - .../ansible/Formation/9.Ansible-Galaxy.md | 246 - Pepiniere/ansible/Formation/README.md | 29 - .../ansible-config-virtualbox-vms.md | 54 - .../ansible-ad-hoc-deployment-workflow.png | Bin 46778 -> 0 bytes .../ansible-ad-hoc-multi-node-deployment.png | Bin 100663 -> 0 bytes .../images/ansible-archi-playbooks.png | Bin 71660 -> 0 bytes .../Formation/images/ansible-archi-roles.png | Bin 87704 -> 0 bytes .../Formation/images/ansible-archi-ssh.png | Bin 44570 -> 0 bytes .../Formation/images/ansible-galaxy-site.png | Bin 157130 -> 0 bytes .../ansible-playbook-deployment-workflow.png | Bin 53935 -> 0 bytes ...laybook-multi-node-deployment-workflow.png | Bin 108142 -> 0 bytes .../images/ci-vs-cd-devops-difference.jpg | Bin 138002 -> 0 bytes .../ansible/Formation/images/logo-ansible.svg | 70 - .../Formation/images/logo-molecule.png | Bin 78212 -> 0 bytes .../Formation/images/logo-testinfra.svg | 240 - .../manual-deployment-without-ansible.png | Bin 27039 -> 0 bytes .../Formation/images/tower-dashboard.png | Bin 117098 -> 0 bytes Pepiniere/ansible/Formation/images/tp.gif | Bin 103799 -> 0 bytes Pepiniere/ansible/Formation/index.html | 150 - Pepiniere/ansible/Formation/introduction.html | 72 - .../ansible/Formation/revealjs/README.md | 13 - .../ansible/Formation/revealjs/content.md | 239 - .../ansible/Formation/revealjs/css/custom.css | 5 - .../Formation/revealjs/css/print/paper.css | 202 - .../Formation/revealjs/css/print/pdf.css | 160 - .../ansible/Formation/revealjs/css/reveal.css | 1387 ---- .../Formation/revealjs/css/reveal.scss | 1411 ---- .../Formation/revealjs/css/theme/README.md | 21 - .../Formation/revealjs/css/theme/beige.css | 291 - .../Formation/revealjs/css/theme/black.css | 287 - .../Formation/revealjs/css/theme/blood.css | 310 - .../Formation/revealjs/css/theme/league.css | 293 - .../Formation/revealjs/css/theme/moon.css | 291 - .../Formation/revealjs/css/theme/night.css | 285 - .../Formation/revealjs/css/theme/serif.css | 287 - .../Formation/revealjs/css/theme/sii.css | 367 - .../Formation/revealjs/css/theme/simple.css | 287 - .../Formation/revealjs/css/theme/sky.css | 294 - .../revealjs/css/theme/solarized.css | 291 - .../revealjs/css/theme/source/beige.scss | 39 - .../revealjs/css/theme/source/black.scss | 49 - .../revealjs/css/theme/source/blood.scss | 79 - .../revealjs/css/theme/source/league.scss | 34 - .../revealjs/css/theme/source/moon.scss | 57 - .../revealjs/css/theme/source/night.scss | 35 - .../revealjs/css/theme/source/serif.scss | 35 - .../revealjs/css/theme/source/simple.scss | 38 - .../revealjs/css/theme/source/sky.scss | 46 - .../revealjs/css/theme/source/solarized.scss | 63 - .../revealjs/css/theme/source/white.scss | 49 - .../revealjs/css/theme/template/mixins.scss | 29 - .../revealjs/css/theme/template/settings.scss | 43 - .../revealjs/css/theme/template/theme.scss | 346 - .../Formation/revealjs/css/theme/white.css | 289 - .../revealjs/highlight/highlight.pack.js | 3 - .../revealjs/highlight/styles/agate.css | 108 - .../highlight/styles/androidstudio.css | 66 - .../highlight/styles/arduino-light.css | 88 - .../revealjs/highlight/styles/arta.css | 73 - .../revealjs/highlight/styles/ascetic.css | 45 - .../highlight/styles/atelier-cave-dark.css | 83 - .../highlight/styles/atelier-cave-light.css | 85 - .../highlight/styles/atelier-dune-dark.css | 69 - .../highlight/styles/atelier-dune-light.css | 69 - .../highlight/styles/atelier-estuary-dark.css | 84 - .../styles/atelier-estuary-light.css | 84 - .../highlight/styles/atelier-forest-dark.css | 69 - .../highlight/styles/atelier-forest-light.css | 69 - .../highlight/styles/atelier-heath-dark.css | 69 - .../highlight/styles/atelier-heath-light.css | 69 - .../styles/atelier-lakeside-dark.css | 69 - .../styles/atelier-lakeside-light.css | 69 - .../highlight/styles/atelier-plateau-dark.css | 84 - .../styles/atelier-plateau-light.css | 84 - .../highlight/styles/atelier-savanna-dark.css | 84 - .../styles/atelier-savanna-light.css | 84 - .../highlight/styles/atelier-seaside-dark.css | 69 - .../styles/atelier-seaside-light.css | 69 - .../styles/atelier-sulphurpool-dark.css | 69 - .../styles/atelier-sulphurpool-light.css | 69 - .../highlight/styles/atom-one-dark.css | 96 - .../highlight/styles/atom-one-light.css | 96 - .../revealjs/highlight/styles/brown-paper.css | 64 - .../highlight/styles/brown-papersq.png | Bin 18198 -> 0 bytes .../highlight/styles/codepen-embed.css | 60 - .../highlight/styles/color-brewer.css | 71 - .../revealjs/highlight/styles/darcula.css | 77 - .../revealjs/highlight/styles/dark.css | 63 - .../revealjs/highlight/styles/darkula.css | 6 - .../revealjs/highlight/styles/default.css | 99 - .../revealjs/highlight/styles/docco.css | 97 - .../revealjs/highlight/styles/dracula.css | 76 - .../revealjs/highlight/styles/far.css | 71 - .../revealjs/highlight/styles/foundation.css | 88 - .../revealjs/highlight/styles/github-gist.css | 71 - .../revealjs/highlight/styles/github.css | 99 - .../revealjs/highlight/styles/googlecode.css | 89 - .../revealjs/highlight/styles/grayscale.css | 101 - .../highlight/styles/gruvbox-dark.css | 108 - .../highlight/styles/gruvbox-light.css | 108 - .../revealjs/highlight/styles/hopscotch.css | 83 - .../revealjs/highlight/styles/hybrid.css | 102 - .../revealjs/highlight/styles/idea.css | 97 - .../revealjs/highlight/styles/ir-black.css | 73 - .../revealjs/highlight/styles/kimbie.dark.css | 74 - .../highlight/styles/kimbie.light.css | 74 - .../revealjs/highlight/styles/magula.css | 70 - .../revealjs/highlight/styles/mono-blue.css | 59 - .../highlight/styles/monokai-sublime.css | 83 - .../revealjs/highlight/styles/monokai.css | 70 - .../revealjs/highlight/styles/obsidian.css | 88 - .../revealjs/highlight/styles/ocean.css | 74 - .../highlight/styles/paraiso-dark.css | 72 - .../highlight/styles/paraiso-light.css | 72 - .../revealjs/highlight/styles/pojoaque.css | 83 - .../revealjs/highlight/styles/pojoaque.jpg | Bin 1186 -> 0 bytes .../revealjs/highlight/styles/purebasic.css | 96 - .../highlight/styles/qtcreator_dark.css | 83 - .../highlight/styles/qtcreator_light.css | 83 - .../revealjs/highlight/styles/railscasts.css | 106 - .../revealjs/highlight/styles/rainbow.css | 85 - .../revealjs/highlight/styles/routeros.css | 108 - .../revealjs/highlight/styles/school-book.css | 72 - .../revealjs/highlight/styles/school-book.png | Bin 486 -> 0 bytes .../highlight/styles/solarized-dark.css | 84 - .../highlight/styles/solarized-light.css | 84 - .../revealjs/highlight/styles/sunburst.css | 102 - .../highlight/styles/tomorrow-night-blue.css | 75 - .../styles/tomorrow-night-bright.css | 74 - .../styles/tomorrow-night-eighties.css | 74 - .../highlight/styles/tomorrow-night.css | 75 - .../revealjs/highlight/styles/tomorrow.css | 72 - .../revealjs/highlight/styles/vs.css | 68 - .../revealjs/highlight/styles/vs2015.css | 115 - .../revealjs/highlight/styles/xcode.css | 93 - .../revealjs/highlight/styles/xt256.css | 92 - .../revealjs/highlight/styles/zenburn.css | 80 - .../revealjs/images/favicon-logo-sii.png | Bin 5531 -> 0 bytes .../Formation/revealjs/images/header-sii.png | Bin 671 -> 0 bytes .../Formation/revealjs/images/logo-sii.svg | 83 - .../ansible/Formation/revealjs/index.html | 72 - .../ansible/Formation/revealjs/js/reveal.js | 4744 ------------- .../Formation/revealjs/lib/css/zenburn.css | 80 - .../revealjs/lib/font/league-gothic/LICENSE | 2 - .../lib/font/league-gothic/league-gothic.css | 10 - .../lib/font/league-gothic/league-gothic.eot | Bin 25696 -> 0 bytes .../lib/font/league-gothic/league-gothic.ttf | Bin 64256 -> 0 bytes .../lib/font/league-gothic/league-gothic.woff | Bin 30764 -> 0 bytes .../revealjs/lib/font/source-sans-pro/LICENSE | 45 - .../source-sans-pro-italic.eot | Bin 75720 -> 0 bytes .../source-sans-pro-italic.ttf | Bin 238084 -> 0 bytes .../source-sans-pro-italic.woff | Bin 98556 -> 0 bytes .../source-sans-pro-regular.eot | Bin 88070 -> 0 bytes .../source-sans-pro-regular.ttf | Bin 288008 -> 0 bytes .../source-sans-pro-regular.woff | Bin 114324 -> 0 bytes .../source-sans-pro-semibold.eot | Bin 89897 -> 0 bytes .../source-sans-pro-semibold.ttf | Bin 284640 -> 0 bytes .../source-sans-pro-semibold.woff | Bin 115648 -> 0 bytes .../source-sans-pro-semibolditalic.eot | Bin 75706 -> 0 bytes .../source-sans-pro-semibolditalic.ttf | Bin 240944 -> 0 bytes .../source-sans-pro-semibolditalic.woff | Bin 98816 -> 0 bytes .../font/source-sans-pro/source-sans-pro.css | 39 - .../Formation/revealjs/lib/js/classList.js | 2 - .../Formation/revealjs/lib/js/head.min.js | 9 - .../Formation/revealjs/lib/js/html5shiv.js | 7 - .../revealjs/plugin/highlight/highlight.js | 31 - .../revealjs/plugin/markdown/example.html | 129 - .../revealjs/plugin/markdown/example.md | 31 - .../revealjs/plugin/markdown/markdown.js | 405 -- .../revealjs/plugin/markdown/marked.js | 6 - .../Formation/revealjs/plugin/math/math.js | 67 - .../revealjs/plugin/multiplex/client.js | 13 - .../revealjs/plugin/multiplex/index.js | 64 - .../revealjs/plugin/multiplex/master.js | 31 - .../revealjs/plugin/multiplex/package.json | 19 - .../revealjs/plugin/notes-server/client.js | 65 - .../revealjs/plugin/notes-server/index.js | 69 - .../revealjs/plugin/notes-server/notes.html | 407 -- .../revealjs/plugin/notes/notes.html | 414 -- .../Formation/revealjs/plugin/notes/notes.js | 136 - .../revealjs/plugin/print-pdf/print-pdf.js | 48 - .../revealjs/plugin/search/search.js | 196 - .../Formation/revealjs/plugin/zoom-js/zoom.js | 278 - .../travaux-pratiques/2.tp-deploiement-app.md | 28 - .../imports/apache-handlers.yaml | 5 - .../imports/apache-install.yaml | 38 - .../imports/mariadb-install.yaml | 19 - .../imports/mariadb-wordpress-configure.yaml | 20 - .../imports/wordpress-configure.yaml | 31 - .../imports/wordpress-install.yaml | 18 - ...tall-apache-wordpress-mariadb-imports.yaml | 26 - ...ache-wordpress-mariadb-roles-password.yaml | 18 - .../formation/group_vars/centos7.yaml | 5 - .../inventories/formation/hosts | 17 - .../tp-wordpress-roles-password/passwords.txt | 1 - .../roles/apache-install/tasks/main.yaml | 33 - .../roles/mariadb-configure/tasks/main.yml | 19 - .../roles/mariadb-install/tasks/main.yaml | 18 - .../roles/wordpress-configure/tasks/main.yml | 30 - .../roles/wordpress-install/tasks/main.yml | 16 - .../formation/group_vars/wordpress.yaml | 6 - .../inventories/formation/hosts | 10 - .../files/tp-wordpress-roles/playbook.yaml | 9 - .../roles/apache/tasks/main.yaml | 36 - .../roles/mariadb/defaults/main.yml | 4 - .../roles/mariadb/tasks/add-database.yml | 19 - .../roles/mariadb/tasks/install.yaml | 18 - .../roles/mariadb/tasks/main.yaml | 2 - .../roles/wordpress/meta/main.yml | 3 - .../roles/wordpress/tasks/configure.yml | 30 - .../roles/wordpress/tasks/install.yml | 16 - .../roles/wordpress/tasks/main.yaml | 2 - .../files/tp-wordpress/hosts | 6 - .../install-apache-wordpress-mariadb.yaml | 149 - .../files/tp-wordpress/script-tp2.sh | 53 - .../images/ansible-archi-ssh.png | Bin 44570 -> 0 bytes .../images/ansible-galaxy-search-role.png | Bin 92123 -> 0 bytes .../Formation/travaux-pratiques/revealjs | 1 - .../travaux-pratiques/tp-ansible-divers.html | 72 - .../travaux-pratiques/tp-ansible-divers.md | 15 - .../travaux-pratiques/tp-ansible-galaxy.html | 96 - .../travaux-pratiques/tp-ansible-galaxy.md | 111 - .../travaux-pratiques/tp-ansible-imports.html | 96 - .../travaux-pratiques/tp-ansible-imports.md | 215 - .../tp-ansible-inventaire.html | 96 - .../tp-ansible-inventaire.md | 268 - .../tp-ansible-les-commandes-ad-hoc.html | 96 - .../tp-ansible-les-commandes-ad-hoc.md | 287 - .../tp-ansible-playbooks.html | 96 - .../travaux-pratiques/tp-ansible-playbooks.md | 434 -- .../travaux-pratiques/tp-ansible-roles.html | 96 - .../travaux-pratiques/tp-ansible-roles.md | 345 - .../tp-ansible-structures-de-controle.html | 96 - .../tp-ansible-structures-de-controle.md | 55 - .../tp-ansible-templates.html | 96 - .../travaux-pratiques/tp-ansible-templates.md | 36 - .../travaux-pratiques/tp-ansible-vault.html | 96 - .../travaux-pratiques/tp-ansible-vault.md | 283 - .../ansible/Travaux_pratiques/ansible.cfg | 2 - .../formation/group_vars/all/vault | 7 - .../formation/group_vars/wordpress.yaml | 5 - .../inventories/formation/hosts | 23 - .../Travaux_pratiques/playbook-vault.yaml | 5 - .../ansible/Travaux_pratiques/playbook.yaml | 9 - .../playbooks/configure_mariadb.yaml | 14 - .../playbooks/configure_postgre.yaml | 28 - .../playbooks/configure_wordpress.yaml | 32 - .../playbooks/create_web_server.yaml | 26 - .../playbooks/create_wordpress.yaml | 115 - .../playbooks/get-user-id.yaml | 10 - .../Travaux_pratiques/playbooks/index.html | 30 - .../playbooks/install_apache.yaml | 20 - .../install_apache_wordpress_mariadb.yaml | 23 - .../playbooks/install_mariadb.yaml | 20 - .../playbooks/install_php.yaml | 16 - .../playbooks/install_postgre.yaml | 32 - .../install_postgre_apache_wordpress.yaml | 23 - .../playbooks/install_wordpress_latest.yaml | 6 - .../playbooks/restart_apache.yaml | 5 - .../roles/apache/handlers/restart_apache.yaml | 5 - .../roles/apache/tasks/install_apache.yaml | 31 - .../roles/apache/tasks/install_php.yaml | 29 - .../roles/apache/tasks/main.yaml | 2 - .../roles/postgre/defaults/main.yaml | 4 - .../roles/postgre/tasks/add_database.yaml | 7 - .../roles/postgre/tasks/add_user.yaml | 11 - .../roles/postgre/tasks/install.yaml | 40 - .../roles/postgre/tasks/main.yaml | 3 - .../wordpress/tasks/configure_wordpress.yaml | 32 - .../tasks/install_wordpress_latest.yaml | 6 - .../roles/wordpress/tasks/main.yaml | 2 - .../ansible/Travaux_pratiques/vault-password | 1 - Pepiniere/docker/.gitignore | 2 - Pepiniere/docker/.gitlab-ci.yml | 112 - Pepiniere/docker/.gitmodules | 4 - .../images/CTRITTEN.jpg | Bin 31551 -> 0 bytes .../images/MPOULLAIN.jpg | Bin 24972 -> 0 bytes .../images/docker-wave-whale.svg | 40 - .../0.introduction-formation/index.html | 72 - .../introduction-formation.md | 69 - .../docker/0.introduction-formation/revealjs | 1 - .../build-ship-run-any-app-anywhere.png | Bin 79664 -> 0 bytes .../images/docker-container.png | Bin 437782 -> 0 bytes .../images/docker-customers.png | Bin 44509 -> 0 bytes .../images/docker-cycle.png | Bin 43333 -> 0 bytes .../images/docker-engine-containerd-runc.png | Bin 63345 -> 0 bytes .../images/docker-engine.png | Bin 313420 -> 0 bytes .../images/docker-networking-host.jpg | Bin 27130 -> 0 bytes .../images/docker-on-linux-platform.png | Bin 183411 -> 0 bytes .../images/docker-on-windows-platform.png | Bin 338774 -> 0 bytes .../images/docker-run-workflow.png | Bin 76246 -> 0 bytes .../images/docker-subscription.png | Bin 85283 -> 0 bytes .../images/docker-wave-whale.svg | 40 - .../images/logo-docker.svg | 1 - .../images/logo-podman.png | Bin 45020 -> 0 bytes .../images/micro-services.png | Bin 209171 -> 0 bytes ...popular-docker-official-images-in-2020.png | Bin 298130 -> 0 bytes .../images/network-expose-publish.png | Bin 58475 -> 0 bytes .../images/network-expose.png | Bin 55137 -> 0 bytes .../images/network.jpg | Bin 220147 -> 0 bytes .../images/solomon-hykes.png | Bin 56360 -> 0 bytes .../images/tp.gif | Bin 103799 -> 0 bytes ...ace-virtualization-vs-containerization.png | Bin 25614 -> 0 bytes ...user-space-vs-kernel-space-julia-evans.png | Bin 267464 -> 0 bytes ...space-vs-kernel-space-simple-container.png | Bin 4979 -> 0 bytes ...pace-vs-kernel-space-simple-user-space.png | Bin 4428 -> 0 bytes .../images/virtual-machine-vs-container.png | Bin 53200 -> 0 bytes .../1.introduction-aux-conteneurs/index.html | 88 - .../introduction-aux-conteneurs.md | 1121 --- .../1.introduction-aux-conteneurs/revealjs | 1 - .../images-de-conteneurs.md | 793 --- .../2.images-de-conteneurs/images/dive.gif | Bin 1910463 -> 0 bytes .../docker-container-sharing-layers.jpg | Bin 56036 -> 0 bytes .../images/docker-environment-args-env.png | Bin 37475 -> 0 bytes .../images/docker-hub.png | Bin 48077 -> 0 bytes .../images/docker-image-layers.jpg | Bin 46046 -> 0 bytes .../images/docker-image-new-layer.jpg | Bin 57009 -> 0 bytes .../images/docker-image-reusability.png | Bin 84732 -> 0 bytes .../images/docker-one-process.png | Bin 109410 -> 0 bytes .../images/docker-registry.png | Bin 78466 -> 0 bytes .../images/docker-wave-whale.svg | 40 - .../images/dockerfile-image-container.jpg | Bin 107919 -> 0 bytes ...popular-docker-official-images-in-2020.png | Bin 298130 -> 0 bytes .../2.images-de-conteneurs/images/tp.gif | Bin 103799 -> 0 bytes .../docker/2.images-de-conteneurs/index.html | 88 - .../docker/2.images-de-conteneurs/revealjs | 1 - .../conteneurs-utilisation-avancee.md | 737 -- .../images/ctop.gif | Bin 691694 -> 0 bytes .../images/docker-wave-whale.svg | 40 - .../images/tp.gif | Bin 103799 -> 0 bytes .../images/types-of-mounts-bind.png | Bin 23666 -> 0 bytes .../images/types-of-mounts-tmpfs.png | Bin 23553 -> 0 bytes .../images/types-of-mounts-volume.png | Bin 23458 -> 0 bytes .../images/types-of-mounts.png | Bin 23298 -> 0 bytes .../index.html | 88 - .../3.conteneurs-utilisation-avancee/revealjs | 1 - .../docker/4.hotes-docker/hotes-docker.md | 366 - .../images/docker-wave-whale.svg | 40 - .../4.hotes-docker/images/logo-ansible.png | Bin 6297 -> 0 bytes .../4.hotes-docker/images/logo-atomic.png | Bin 3256 -> 0 bytes .../4.hotes-docker/images/logo-coreos.jpg | Bin 7664 -> 0 bytes .../images/logo-docker-machine.jpg | Bin 9213 -> 0 bytes .../4.hotes-docker/images/logo-heat.jpg | Bin 20650 -> 0 bytes .../4.hotes-docker/images/logo-photon.jpg | Bin 12398 -> 0 bytes .../4.hotes-docker/images/logo-rancher.jpg | Bin 9219 -> 0 bytes .../4.hotes-docker/images/logo-terraform.jpg | Bin 25409 -> 0 bytes .../docker/4.hotes-docker/images/machine.png | Bin 211926 -> 0 bytes .../docker/4.hotes-docker/images/machine2.png | Bin 14424 -> 0 bytes .../images/rancheros-architecture.png | Bin 35154 -> 0 bytes Pepiniere/docker/4.hotes-docker/images/tp.gif | Bin 103799 -> 0 bytes Pepiniere/docker/4.hotes-docker/index.html | 72 - Pepiniere/docker/4.hotes-docker/revealjs | 1 - .../docker/5.swarm/images/container-mess.jpg | Bin 177585 -> 0 bytes .../docker-networking-overlay-addresses.jpg | Bin 91104 -> 0 bytes .../docker-networking-overlay-routing.jpg | Bin 103608 -> 0 bytes .../images/docker-networking-overlay.jpg | Bin 92277 -> 0 bytes .../5.swarm/images/docker-wave-whale.svg | 40 - Pepiniere/docker/5.swarm/images/glusterfs.png | Bin 139895 -> 0 bytes .../images/orchestration-principle.jpg | Bin 51179 -> 0 bytes .../images/swarm-network-ingress-lb.png | Bin 71717 -> 0 bytes .../swarm-network-ingress-routing-mesh.png | Bin 61615 -> 0 bytes Pepiniere/docker/5.swarm/images/swarm.png | Bin 45249 -> 0 bytes Pepiniere/docker/5.swarm/images/swarm2.png | Bin 31756 -> 0 bytes Pepiniere/docker/5.swarm/images/swarm3.png | Bin 127669 -> 0 bytes Pepiniere/docker/5.swarm/images/tp.gif | Bin 103799 -> 0 bytes Pepiniere/docker/5.swarm/images/traefik.png | Bin 362766 -> 0 bytes Pepiniere/docker/5.swarm/index.html | 88 - Pepiniere/docker/5.swarm/revealjs | 1 - Pepiniere/docker/5.swarm/swarm.md | 750 -- .../images/docker-wave-whale.svg | 40 - .../images/harbor-1.jpg | Bin 153865 -> 0 bytes .../images/logo-harbor.png | Bin 35582 -> 0 bytes .../images/logo-portainer.png | Bin 7071 -> 0 bytes .../images/logo-portus.png | Bin 6456 -> 0 bytes .../images/logo-weave.png | Bin 9828 -> 0 bytes .../images/portainer-containers.png | Bin 85254 -> 0 bytes .../images/portainer-dashboard.png | Bin 94575 -> 0 bytes .../images/portus-1.png | Bin 623895 -> 0 bytes .../images/weave-scope-1.png | Bin 148246 -> 0 bytes .../images/weave-scope-2.png | Bin 468321 -> 0 bytes .../docker/6.outils-administration/index.html | 72 - .../outils-administration.md | 126 - .../docker/6.outils-administration/revealjs | 1 - .../images/cadvisor.jpg | Bin 10746 -> 0 bytes .../7.monitoring-conteneurs/images/ctop.gif | Bin 691694 -> 0 bytes .../images/docker-wave-whale.svg | 40 - .../images/grafana-dashboard.png | Bin 396686 -> 0 bytes .../images/grafana.png | Bin 2615 -> 0 bytes .../images/monitoring.png | Bin 30414 -> 0 bytes .../images/monitoring2.png | Bin 17629 -> 0 bytes .../images/monitoring3.png | Bin 28720 -> 0 bytes .../images/prometheus.png | Bin 4168 -> 0 bytes .../docker/7.monitoring-conteneurs/index.html | 72 - .../monitoring-conteneurs.md | 128 - .../docker/7.monitoring-conteneurs/revealjs | 1 - Pepiniere/docker/README.md | 95 - Pepiniere/docker/index.html | 41 - Pepiniere/docker/index/favicon-logo-sii.png | Bin 5531 -> 0 bytes Pepiniere/docker/index/header-sii.png | Bin 671 -> 0 bytes Pepiniere/docker/index/logo-sii.svg | 83 - Pepiniere/docker/index/marked.min.js | 6 - Pepiniere/docker/index/sii.css | 134 - Pepiniere/docker/revealjs/.gitignore | 13 - Pepiniere/docker/revealjs/README.md | 13 - Pepiniere/docker/revealjs/bower.json | 24 - Pepiniere/docker/revealjs/content.md | 239 - Pepiniere/docker/revealjs/css/print/paper.css | 203 - Pepiniere/docker/revealjs/css/print/pdf.css | 164 - Pepiniere/docker/revealjs/css/reset.css | 30 - Pepiniere/docker/revealjs/css/reveal.css | 1598 ----- Pepiniere/docker/revealjs/css/reveal.scss | 1768 ----- Pepiniere/docker/revealjs/css/theme/README.md | 21 - Pepiniere/docker/revealjs/css/theme/beige.css | 277 - Pepiniere/docker/revealjs/css/theme/black.css | 273 - Pepiniere/docker/revealjs/css/theme/blood.css | 296 - .../docker/revealjs/css/theme/league.css | 279 - Pepiniere/docker/revealjs/css/theme/moon.css | 277 - Pepiniere/docker/revealjs/css/theme/night.css | 271 - Pepiniere/docker/revealjs/css/theme/serif.css | 273 - Pepiniere/docker/revealjs/css/theme/sii.css | 398 -- .../docker/revealjs/css/theme/simple.css | 276 - Pepiniere/docker/revealjs/css/theme/sky.css | 280 - .../docker/revealjs/css/theme/solarized.css | 277 - .../revealjs/css/theme/source/beige.scss | 39 - .../revealjs/css/theme/source/black.scss | 49 - .../revealjs/css/theme/source/blood.scss | 78 - .../revealjs/css/theme/source/league.scss | 34 - .../revealjs/css/theme/source/moon.scss | 57 - .../revealjs/css/theme/source/night.scss | 34 - .../revealjs/css/theme/source/serif.scss | 35 - .../revealjs/css/theme/source/simple.scss | 43 - .../docker/revealjs/css/theme/source/sky.scss | 46 - .../revealjs/css/theme/source/solarized.scss | 63 - .../revealjs/css/theme/source/white.scss | 49 - .../revealjs/css/theme/template/mixins.scss | 29 - .../revealjs/css/theme/template/settings.scss | 45 - .../revealjs/css/theme/template/theme.scss | 325 - Pepiniere/docker/revealjs/css/theme/white.css | 273 - Pepiniere/docker/revealjs/demo.html | 425 -- Pepiniere/docker/revealjs/gruntfile.js | 192 - .../revealjs/images/favicon-logo-sii.png | Bin 5531 -> 0 bytes .../docker/revealjs/images/header-sii.png | Bin 671 -> 0 bytes Pepiniere/docker/revealjs/images/logo-sii.svg | 83 - Pepiniere/docker/revealjs/index.html | 91 - Pepiniere/docker/revealjs/js/reveal.js | 6028 ----------------- Pepiniere/docker/revealjs/lib/css/monokai.css | 71 - Pepiniere/docker/revealjs/lib/css/zenburn.css | 80 - .../revealjs/lib/font/league-gothic/LICENSE | 2 - .../lib/font/league-gothic/league-gothic.css | 10 - .../lib/font/league-gothic/league-gothic.eot | Bin 25696 -> 0 bytes .../lib/font/league-gothic/league-gothic.ttf | Bin 64256 -> 0 bytes .../lib/font/league-gothic/league-gothic.woff | Bin 30764 -> 0 bytes .../revealjs/lib/font/source-sans-pro/LICENSE | 45 - .../source-sans-pro-italic.eot | Bin 75720 -> 0 bytes .../source-sans-pro-italic.ttf | Bin 238084 -> 0 bytes .../source-sans-pro-italic.woff | Bin 98556 -> 0 bytes .../source-sans-pro-regular.eot | Bin 88070 -> 0 bytes .../source-sans-pro-regular.ttf | Bin 288008 -> 0 bytes .../source-sans-pro-regular.woff | Bin 114324 -> 0 bytes .../source-sans-pro-semibold.eot | Bin 89897 -> 0 bytes .../source-sans-pro-semibold.ttf | Bin 284640 -> 0 bytes .../source-sans-pro-semibold.woff | Bin 115648 -> 0 bytes .../source-sans-pro-semibolditalic.eot | Bin 75706 -> 0 bytes .../source-sans-pro-semibolditalic.ttf | Bin 240944 -> 0 bytes .../source-sans-pro-semibolditalic.woff | Bin 98816 -> 0 bytes .../font/source-sans-pro/source-sans-pro.css | 39 - Pepiniere/docker/revealjs/lib/js/html5shiv.js | 7 - Pepiniere/docker/revealjs/lib/js/promise.js | 2 - Pepiniere/docker/revealjs/package-lock.json | 5891 ---------------- Pepiniere/docker/revealjs/package.json | 44 - .../revealjs/plugin/highlight/highlight.js | 168 - .../revealjs/plugin/markdown/example.html | 134 - .../revealjs/plugin/markdown/example.md | 36 - .../revealjs/plugin/markdown/markdown.js | 446 -- .../docker/revealjs/plugin/markdown/marked.js | 6 - Pepiniere/docker/revealjs/plugin/math/math.js | 92 - .../revealjs/plugin/multiplex/client.js | 13 - .../docker/revealjs/plugin/multiplex/index.js | 64 - .../revealjs/plugin/multiplex/master.js | 34 - .../revealjs/plugin/multiplex/package.json | 19 - .../revealjs/plugin/notes-server/client.js | 65 - .../revealjs/plugin/notes-server/index.js | 69 - .../revealjs/plugin/notes-server/notes.html | 585 -- .../docker/revealjs/plugin/notes/notes.html | 834 --- .../docker/revealjs/plugin/notes/notes.js | 178 - .../revealjs/plugin/print-pdf/print-pdf.js | 67 - .../docker/revealjs/plugin/search/search.js | 206 - .../docker/revealjs/plugin/zoom-js/zoom.js | 277 - .../docker-config-virtualbox-vms.md | 47 - .../files/tp-compose/docker-compose-2.yml | 26 - .../files/tp-compose/docker-compose.yml | 22 - .../files/tp-compose/web/Dockerfile | 30 - .../files/tp-compose/web/docker.sql | 10 - .../files/tp-compose/web/index.sh | 44 - .../files/tp-compose/web/start.sh | 5 - .../files/tp-dockerfile/Dockerfile | 28 - .../tp-dockerfile/Dockerfile.healthcheck | 24 - .../files/tp-dockerfile/index.html | 1 - .../files/tp-dockerfile/start.sh | 3 - .../docker-compose-secrets.yml | 39 - .../files/tp-swarm-secrets/web/Dockerfile | 25 - .../files/tp-swarm-secrets/web/docker.sql | 10 - .../files/tp-swarm-secrets/web/index.sh | 44 - .../files/tp-swarm-secrets/web/start.sh | 11 - ...ker-compose-formation-app-with-traefik.yml | 31 - .../docker-compose-traefik.yml | 22 - .../tp-swarm-traefik/docker-compose-wit.yml | 15 - .../files/tp-swarm/docker-compose.yml | 27 - .../slides/convert_slides_2_pdf | 27 - .../slides/docker/images/tp3.png | Bin 65349 -> 0 bytes .../travaux-pratiques/slides/docker/revealjs | 1 - .../slides/docker/tp-compose.html | 90 - .../slides/docker/tp-compose.md | 215 - .../slides/docker/tp-docker-introduction.html | 90 - .../slides/docker/tp-docker-introduction.md | 181 - .../slides/docker/tp-dockerfile.html | 90 - .../slides/docker/tp-dockerfile.md | 346 - .../slides/docker/tp-images.html | 90 - .../slides/docker/tp-images.md | 206 - .../slides/docker/tp-network.html | 90 - .../slides/docker/tp-network.md | 297 - .../slides/docker/tp-volumes.html | 90 - .../slides/docker/tp-volumes.md | 142 - .../slides/docker/tp-web-db.html | 90 - .../slides/docker/tp-web-db.md | 271 - .../docker/travaux-pratiques/slides/revealjs | 1 - .../travaux-pratiques/slides/swarm/revealjs | 1 - .../slides/swarm/tp-docker-machine.html | 72 - .../slides/swarm/tp-docker-machine.md | 32 - .../slides/swarm/tp-registry.html | 72 - .../slides/swarm/tp-registry.md | 56 - .../slides/swarm/tp-rolling-update.html | 90 - .../slides/swarm/tp-rolling-update.md | 156 - .../slides/swarm/tp-secrets.html | 90 - .../slides/swarm/tp-secrets.md | 313 - .../slides/swarm/tp-swarm-init.html | 90 - .../slides/swarm/tp-swarm-init.md | 28 - .../slides/swarm/tp-swarm.html | 90 - .../slides/swarm/tp-swarm.md | 439 -- .../slides/swarm/tp-traefik.html | 90 - .../slides/swarm/tp-traefik.md | 170 - .../tools/who-is-there/README.md | 5 - Pepiniere/git-level1/.gitignore | 5 - Pepiniere/git-level1/.gitmodules | 3 - Pepiniere/git-level1/Dockerfile | 8 - .../Outils - Git - 1j - SII-R8-0015.pdf | Bin 1049861 -> 0 bytes .../Outils - Git - 1j - SII-R8-0015.ppt | Bin 693248 -> 0 bytes Pepiniere/git-level1/convert_slides_2_pdf | 1 - .../fonts/opensans/opensans-bold.eot | Bin 80293 -> 0 bytes .../fonts/opensans/opensans-bold.ttf | Bin 224552 -> 0 bytes .../fonts/opensans/opensans-bold.woff | Bin 104540 -> 0 bytes .../fonts/opensans/opensans-bolditalic.eot | Bin 88306 -> 0 bytes .../fonts/opensans/opensans-bolditalic.ttf | Bin 249164 -> 0 bytes .../fonts/opensans/opensans-bolditalic.woff | Bin 115868 -> 0 bytes .../fonts/opensans/opensans-italic.eot | Bin 89738 -> 0 bytes .../fonts/opensans/opensans-italic.ttf | Bin 258076 -> 0 bytes .../fonts/opensans/opensans-italic.woff | Bin 118116 -> 0 bytes .../fonts/opensans/opensans-regular.eot | Bin 79462 -> 0 bytes .../fonts/opensans/opensans-regular.ttf | Bin 217632 -> 0 bytes .../fonts/opensans/opensans-regular.woff | Bin 102324 -> 0 bytes .../git-level1/fonts/opensans/opensans.css | 38 - Pepiniere/git-level1/git-level1.pdf | Bin 1964327 -> 0 bytes .../images/02-contexte/centralise.png | Bin 198857 -> 0 bytes .../images/02-contexte/distribue.png | Bin 271135 -> 0 bytes .../git-level1/images/02-contexte/git.png | Bin 7629 -> 0 bytes .../git-level1/images/02-contexte/github.png | Bin 49224 -> 0 bytes .../git-level1/images/02-contexte/gitlab.png | Bin 54424 -> 0 bytes .../images/03-installation/code.png | Bin 17196 -> 0 bytes .../images/03-installation/egit.png | Bin 44594 -> 0 bytes .../images/03-installation/kracken.png | Bin 36746 -> 0 bytes .../images/03-installation/macos.png | Bin 3569 -> 0 bytes .../git-level1/images/03-installation/tux.png | Bin 13183 -> 0 bytes .../images/03-installation/windows.png | Bin 4249 -> 0 bytes .../git-level1/images/04-principe/folder.png | Bin 36864 -> 0 bytes .../git-level1/images/08-Projet/phases.png | Bin 41876 -> 0 bytes Pepiniere/git-level1/images/Git-logo.svg | 7 - Pepiniere/git-level1/index.html | 167 - Pepiniere/git-level1/readme.md | 24 - Pepiniere/git-level1/reveal/README.md | 13 - Pepiniere/git-level1/reveal/content.md | 239 - Pepiniere/git-level1/reveal/css/custom.css | 5 - .../git-level1/reveal/css/print/paper.css | 202 - Pepiniere/git-level1/reveal/css/print/pdf.css | 160 - Pepiniere/git-level1/reveal/css/reveal.css | 1387 ---- Pepiniere/git-level1/reveal/css/reveal.scss | 1411 ---- .../git-level1/reveal/css/theme/README.md | 21 - .../git-level1/reveal/css/theme/beige.css | 291 - .../git-level1/reveal/css/theme/black.css | 287 - .../git-level1/reveal/css/theme/blood.css | 310 - .../git-level1/reveal/css/theme/league.css | 293 - .../git-level1/reveal/css/theme/moon.css | 291 - .../git-level1/reveal/css/theme/night.css | 285 - .../git-level1/reveal/css/theme/serif.css | 287 - Pepiniere/git-level1/reveal/css/theme/sii.css | 367 - .../git-level1/reveal/css/theme/simple.css | 287 - Pepiniere/git-level1/reveal/css/theme/sky.css | 294 - .../git-level1/reveal/css/theme/solarized.css | 291 - .../reveal/css/theme/source/beige.scss | 39 - .../reveal/css/theme/source/black.scss | 49 - .../reveal/css/theme/source/blood.scss | 79 - .../reveal/css/theme/source/league.scss | 34 - .../reveal/css/theme/source/moon.scss | 57 - .../reveal/css/theme/source/night.scss | 35 - .../reveal/css/theme/source/serif.scss | 35 - .../reveal/css/theme/source/simple.scss | 38 - .../reveal/css/theme/source/sky.scss | 46 - .../reveal/css/theme/source/solarized.scss | 63 - .../reveal/css/theme/source/white.scss | 49 - .../reveal/css/theme/template/mixins.scss | 29 - .../reveal/css/theme/template/settings.scss | 43 - .../reveal/css/theme/template/theme.scss | 346 - .../git-level1/reveal/css/theme/white.css | 289 - .../reveal/highlight/highlight.pack.js | 3 - .../reveal/highlight/styles/agate.css | 108 - .../reveal/highlight/styles/androidstudio.css | 66 - .../reveal/highlight/styles/arduino-light.css | 88 - .../reveal/highlight/styles/arta.css | 73 - .../reveal/highlight/styles/ascetic.css | 45 - .../highlight/styles/atelier-cave-dark.css | 83 - .../highlight/styles/atelier-cave-light.css | 85 - .../highlight/styles/atelier-dune-dark.css | 69 - .../highlight/styles/atelier-dune-light.css | 69 - .../highlight/styles/atelier-estuary-dark.css | 84 - .../styles/atelier-estuary-light.css | 84 - .../highlight/styles/atelier-forest-dark.css | 69 - .../highlight/styles/atelier-forest-light.css | 69 - .../highlight/styles/atelier-heath-dark.css | 69 - .../highlight/styles/atelier-heath-light.css | 69 - .../styles/atelier-lakeside-dark.css | 69 - .../styles/atelier-lakeside-light.css | 69 - .../highlight/styles/atelier-plateau-dark.css | 84 - .../styles/atelier-plateau-light.css | 84 - .../highlight/styles/atelier-savanna-dark.css | 84 - .../styles/atelier-savanna-light.css | 84 - .../highlight/styles/atelier-seaside-dark.css | 69 - .../styles/atelier-seaside-light.css | 69 - .../styles/atelier-sulphurpool-dark.css | 69 - .../styles/atelier-sulphurpool-light.css | 69 - .../reveal/highlight/styles/atom-one-dark.css | 96 - .../highlight/styles/atom-one-light.css | 96 - .../reveal/highlight/styles/brown-paper.css | 64 - .../reveal/highlight/styles/brown-papersq.png | Bin 18198 -> 0 bytes .../reveal/highlight/styles/codepen-embed.css | 60 - .../reveal/highlight/styles/color-brewer.css | 71 - .../reveal/highlight/styles/darcula.css | 77 - .../reveal/highlight/styles/dark.css | 63 - .../reveal/highlight/styles/darkula.css | 6 - .../reveal/highlight/styles/default.css | 99 - .../reveal/highlight/styles/docco.css | 97 - .../reveal/highlight/styles/dracula.css | 76 - .../reveal/highlight/styles/far.css | 71 - .../reveal/highlight/styles/foundation.css | 88 - .../reveal/highlight/styles/github-gist.css | 71 - .../reveal/highlight/styles/github.css | 99 - .../reveal/highlight/styles/googlecode.css | 89 - .../reveal/highlight/styles/grayscale.css | 101 - .../reveal/highlight/styles/gruvbox-dark.css | 108 - .../reveal/highlight/styles/gruvbox-light.css | 108 - .../reveal/highlight/styles/hopscotch.css | 83 - .../reveal/highlight/styles/hybrid.css | 102 - .../reveal/highlight/styles/idea.css | 97 - .../reveal/highlight/styles/ir-black.css | 73 - .../reveal/highlight/styles/kimbie.dark.css | 74 - .../reveal/highlight/styles/kimbie.light.css | 74 - .../reveal/highlight/styles/magula.css | 70 - .../reveal/highlight/styles/mono-blue.css | 59 - .../highlight/styles/monokai-sublime.css | 83 - .../reveal/highlight/styles/monokai.css | 70 - .../reveal/highlight/styles/obsidian.css | 88 - .../reveal/highlight/styles/ocean.css | 74 - .../reveal/highlight/styles/paraiso-dark.css | 72 - .../reveal/highlight/styles/paraiso-light.css | 72 - .../reveal/highlight/styles/pojoaque.css | 83 - .../reveal/highlight/styles/pojoaque.jpg | Bin 1186 -> 0 bytes .../reveal/highlight/styles/purebasic.css | 96 - .../highlight/styles/qtcreator_dark.css | 83 - .../highlight/styles/qtcreator_light.css | 83 - .../reveal/highlight/styles/railscasts.css | 106 - .../reveal/highlight/styles/rainbow.css | 85 - .../reveal/highlight/styles/routeros.css | 108 - .../reveal/highlight/styles/school-book.css | 72 - .../reveal/highlight/styles/school-book.png | Bin 486 -> 0 bytes .../highlight/styles/solarized-dark.css | 84 - .../highlight/styles/solarized-light.css | 84 - .../reveal/highlight/styles/sunburst.css | 102 - .../highlight/styles/tomorrow-night-blue.css | 75 - .../styles/tomorrow-night-bright.css | 74 - .../styles/tomorrow-night-eighties.css | 74 - .../highlight/styles/tomorrow-night.css | 75 - .../reveal/highlight/styles/tomorrow.css | 72 - .../git-level1/reveal/highlight/styles/vs.css | 68 - .../reveal/highlight/styles/vs2015.css | 115 - .../reveal/highlight/styles/xcode.css | 93 - .../reveal/highlight/styles/xt256.css | 92 - .../reveal/highlight/styles/zenburn.css | 80 - .../reveal/images/favicon-logo-sii.png | Bin 5531 -> 0 bytes .../git-level1/reveal/images/header-sii.png | Bin 671 -> 0 bytes .../git-level1/reveal/images/logo-sii.svg | 83 - Pepiniere/git-level1/reveal/index.html | 72 - Pepiniere/git-level1/reveal/js/reveal.js | 4744 ------------- .../git-level1/reveal/lib/css/zenburn.css | 80 - .../reveal/lib/font/league-gothic/LICENSE | 2 - .../lib/font/league-gothic/league-gothic.css | 10 - .../lib/font/league-gothic/league-gothic.eot | Bin 25696 -> 0 bytes .../lib/font/league-gothic/league-gothic.ttf | Bin 64256 -> 0 bytes .../lib/font/league-gothic/league-gothic.woff | Bin 30764 -> 0 bytes .../reveal/lib/font/source-sans-pro/LICENSE | 45 - .../source-sans-pro-italic.eot | Bin 75720 -> 0 bytes .../source-sans-pro-italic.ttf | Bin 238084 -> 0 bytes .../source-sans-pro-italic.woff | Bin 98556 -> 0 bytes .../source-sans-pro-regular.eot | Bin 88070 -> 0 bytes .../source-sans-pro-regular.ttf | Bin 288008 -> 0 bytes .../source-sans-pro-regular.woff | Bin 114324 -> 0 bytes .../source-sans-pro-semibold.eot | Bin 89897 -> 0 bytes .../source-sans-pro-semibold.ttf | Bin 284640 -> 0 bytes .../source-sans-pro-semibold.woff | Bin 115648 -> 0 bytes .../source-sans-pro-semibolditalic.eot | Bin 75706 -> 0 bytes .../source-sans-pro-semibolditalic.ttf | Bin 240944 -> 0 bytes .../source-sans-pro-semibolditalic.woff | Bin 98816 -> 0 bytes .../font/source-sans-pro/source-sans-pro.css | 39 - .../git-level1/reveal/lib/js/classList.js | 2 - .../git-level1/reveal/lib/js/head.min.js | 9 - .../git-level1/reveal/lib/js/html5shiv.js | 7 - .../reveal/plugin/highlight/highlight.js | 31 - .../reveal/plugin/markdown/example.html | 129 - .../reveal/plugin/markdown/example.md | 31 - .../reveal/plugin/markdown/markdown.js | 405 -- .../reveal/plugin/markdown/marked.js | 6 - .../git-level1/reveal/plugin/math/math.js | 67 - .../reveal/plugin/multiplex/client.js | 13 - .../reveal/plugin/multiplex/index.js | 64 - .../reveal/plugin/multiplex/master.js | 31 - .../reveal/plugin/multiplex/package.json | 19 - .../reveal/plugin/notes-server/client.js | 65 - .../reveal/plugin/notes-server/index.js | 69 - .../reveal/plugin/notes-server/notes.html | 407 -- .../git-level1/reveal/plugin/notes/notes.html | 414 -- .../git-level1/reveal/plugin/notes/notes.js | 136 - .../reveal/plugin/print-pdf/print-pdf.js | 48 - .../git-level1/reveal/plugin/search/search.js | 196 - .../git-level1/reveal/plugin/zoom-js/zoom.js | 278 - Pepiniere/git-level1/slides.css | 5622 --------------- Pepiniere/git-level1/slides/01-sommaire.md | 33 - Pepiniere/git-level1/slides/02-contexte.md | 73 - .../git-level1/slides/03-installation.md | 201 - Pepiniere/git-level1/slides/04-principe.md | 222 - Pepiniere/git-level1/slides/05-quotidien.md | 376 - Pepiniere/git-level1/slides/06-remote.md | 86 - Pepiniere/git-level1/slides/07-branches.md | 72 - Pepiniere/git-level1/slides/08-projet.md | 198 - Pepiniere/git-level1/slides/09-modules.md | 118 - .../git-level1/slides/10-bonnes-pratiques.md | 148 - Pepiniere/git-level1/slides/11-conclusion.md | 20 - Pepiniere/git-level1/svg/add.svg | 205 - Pepiniere/git-level1/svg/arbre.svg | 324 - Pepiniere/git-level1/svg/branche.svg | 258 - Pepiniere/git-level1/svg/checkout.svg | 165 - Pepiniere/git-level1/svg/checkout_file.svg | 457 -- .../git-level1/svg/checkout_file_commit.svg | 423 -- Pepiniere/git-level1/svg/clone.svg | 230 - Pepiniere/git-level1/svg/conflict.svg | 99 - Pepiniere/git-level1/svg/conventions.svg | 509 -- Pepiniere/git-level1/svg/draft.svg | 239 - Pepiniere/git-level1/svg/etats.svg | 238 - Pepiniere/git-level1/svg/fetch.svg | 450 -- Pepiniere/git-level1/svg/file_life_cycle.svg | 360 - Pepiniere/git-level1/svg/gitflow_all.svg | 2032 ------ Pepiniere/git-level1/svg/gitflow_base.svg | 469 -- Pepiniere/git-level1/svg/gitflow_feature.svg | 329 - Pepiniere/git-level1/svg/gitflow_hotfix.svg | 487 -- Pepiniere/git-level1/svg/gitflow_release.svg | 497 -- Pepiniere/git-level1/svg/history.svg | 186 - Pepiniere/git-level1/svg/merge_branch.svg | 330 - Pepiniere/git-level1/svg/merge_vs_rebase.svg | 853 --- Pepiniere/git-level1/svg/recap_process.svg | 364 - Pepiniere/git-level1/svg/reset-file.svg | 425 -- Pepiniere/git-level1/svg/reset-hard.svg | 348 - Pepiniere/git-level1/svg/reset-mixed.svg | 394 -- Pepiniere/git-level1/svg/reset-soft.svg | 392 -- .../svg/stable-environment-branches.svg | 491 -- Pepiniere/git-level1/svg/submodule_folder.svg | 154 - Pepiniere/git-level1/svg/workflow-add.svg | 271 - Pepiniere/git-level1/svg/workflow-commit.svg | 327 - Pepiniere/git-level1/svg/workflow-init.svg | 233 - Pepiniere/git-level1/timings.md | 1 - Pepiniere/gitlab-presentation/.gitmodules | 3 - Pepiniere/gitlab-presentation/README.md | 9 - .../images/ci-cd-runners-architecture.png | Bin 9947 -> 0 bytes .../gitlab-presentation/images/ci-cd.png | Bin 83497 -> 0 bytes .../images/devops-lifecycle.png | Bin 18611 -> 0 bytes .../images/forrester-ci-wave-graphic.png | Bin 63871 -> 0 bytes .../images/gitlab-devops-lifecycle-2.png | Bin 104049 -> 0 bytes .../images/gitlab-devops-lifecycle.png | Bin 120610 -> 0 bytes .../images/gitlab-logo.svg | 103 - .../images/gitlab-screen-commit-diff.png | Bin 86447 -> 0 bytes .../images/gitlab-screen-commits.png | Bin 132577 -> 0 bytes .../images/gitlab-screen-files.png | Bin 76208 -> 0 bytes .../images/gitlab-screen-issue.png | Bin 134853 -> 0 bytes .../images/gitlab-screen-issues-board.png | Bin 116731 -> 0 bytes .../images/gitlab-screen-issues-list.png | Bin 124179 -> 0 bytes .../images/gitlab-screen-pipeline-debug.png | Bin 131541 -> 0 bytes .../gitlab-screen-pipeline-definition.png | Bin 91517 -> 0 bytes .../gitlab-screen-pipeline-faillure.png | Bin 50693 -> 0 bytes .../images/gitlab-screen-pipeline-success.png | Bin 49284 -> 0 bytes ...b-screen-pipeline-with-a-lot-of-stages.png | Bin 48783 -> 0 bytes .../images/gitlab-screen-pipelines-2.png | Bin 136174 -> 0 bytes .../images/gitlab-screen-pipelines.png | Bin 147851 -> 0 bytes .../images/gitlab-screen-projects.png | Bin 128891 -> 0 bytes .../images/gitlab-wit-pipeline-1.png | Bin 6240 -> 0 bytes .../images/gitlab-wit-pipeline-2.png | Bin 8651 -> 0 bytes .../images/gitlab-wit-pipeline-3.png | Bin 11014 -> 0 bytes .../images/gitlab-wit-pipeline-4.png | Bin 12906 -> 0 bytes .../images/mattermost-screen-chat.png | Bin 222537 -> 0 bytes .../introduction-a-gitlab.html | 72 - .../introduction-a-gitlab.md | 585 -- .../gitlab-presentation/revealjs/README.md | 13 - .../gitlab-presentation/revealjs/content.md | 239 - .../revealjs/css/custom.css | 5 - .../revealjs/css/print/paper.css | 202 - .../revealjs/css/print/pdf.css | 160 - .../revealjs/css/reveal.css | 1387 ---- .../revealjs/css/reveal.scss | 1411 ---- .../revealjs/css/theme/README.md | 21 - .../revealjs/css/theme/beige.css | 291 - .../revealjs/css/theme/black.css | 287 - .../revealjs/css/theme/blood.css | 310 - .../revealjs/css/theme/league.css | 293 - .../revealjs/css/theme/moon.css | 291 - .../revealjs/css/theme/night.css | 285 - .../revealjs/css/theme/serif.css | 287 - .../revealjs/css/theme/sii.css | 367 - .../revealjs/css/theme/simple.css | 287 - .../revealjs/css/theme/sky.css | 294 - .../revealjs/css/theme/solarized.css | 291 - .../revealjs/css/theme/source/beige.scss | 39 - .../revealjs/css/theme/source/black.scss | 49 - .../revealjs/css/theme/source/blood.scss | 79 - .../revealjs/css/theme/source/league.scss | 34 - .../revealjs/css/theme/source/moon.scss | 57 - .../revealjs/css/theme/source/night.scss | 35 - .../revealjs/css/theme/source/serif.scss | 35 - .../revealjs/css/theme/source/simple.scss | 38 - .../revealjs/css/theme/source/sky.scss | 46 - .../revealjs/css/theme/source/solarized.scss | 63 - .../revealjs/css/theme/source/white.scss | 49 - .../revealjs/css/theme/template/mixins.scss | 29 - .../revealjs/css/theme/template/settings.scss | 43 - .../revealjs/css/theme/template/theme.scss | 346 - .../revealjs/css/theme/white.css | 289 - .../revealjs/highlight/highlight.pack.js | 3 - .../revealjs/highlight/styles/agate.css | 108 - .../highlight/styles/androidstudio.css | 66 - .../highlight/styles/arduino-light.css | 88 - .../revealjs/highlight/styles/arta.css | 73 - .../revealjs/highlight/styles/ascetic.css | 45 - .../highlight/styles/atelier-cave-dark.css | 83 - .../highlight/styles/atelier-cave-light.css | 85 - .../highlight/styles/atelier-dune-dark.css | 69 - .../highlight/styles/atelier-dune-light.css | 69 - .../highlight/styles/atelier-estuary-dark.css | 84 - .../styles/atelier-estuary-light.css | 84 - .../highlight/styles/atelier-forest-dark.css | 69 - .../highlight/styles/atelier-forest-light.css | 69 - .../highlight/styles/atelier-heath-dark.css | 69 - .../highlight/styles/atelier-heath-light.css | 69 - .../styles/atelier-lakeside-dark.css | 69 - .../styles/atelier-lakeside-light.css | 69 - .../highlight/styles/atelier-plateau-dark.css | 84 - .../styles/atelier-plateau-light.css | 84 - .../highlight/styles/atelier-savanna-dark.css | 84 - .../styles/atelier-savanna-light.css | 84 - .../highlight/styles/atelier-seaside-dark.css | 69 - .../styles/atelier-seaside-light.css | 69 - .../styles/atelier-sulphurpool-dark.css | 69 - .../styles/atelier-sulphurpool-light.css | 69 - .../highlight/styles/atom-one-dark.css | 96 - .../highlight/styles/atom-one-light.css | 96 - .../revealjs/highlight/styles/brown-paper.css | 64 - .../highlight/styles/brown-papersq.png | Bin 18198 -> 0 bytes .../highlight/styles/codepen-embed.css | 60 - .../highlight/styles/color-brewer.css | 71 - .../revealjs/highlight/styles/darcula.css | 77 - .../revealjs/highlight/styles/dark.css | 63 - .../revealjs/highlight/styles/darkula.css | 6 - .../revealjs/highlight/styles/default.css | 99 - .../revealjs/highlight/styles/docco.css | 97 - .../revealjs/highlight/styles/dracula.css | 76 - .../revealjs/highlight/styles/far.css | 71 - .../revealjs/highlight/styles/foundation.css | 88 - .../revealjs/highlight/styles/github-gist.css | 71 - .../revealjs/highlight/styles/github.css | 99 - .../revealjs/highlight/styles/googlecode.css | 89 - .../revealjs/highlight/styles/grayscale.css | 101 - .../highlight/styles/gruvbox-dark.css | 108 - .../highlight/styles/gruvbox-light.css | 108 - .../revealjs/highlight/styles/hopscotch.css | 83 - .../revealjs/highlight/styles/hybrid.css | 102 - .../revealjs/highlight/styles/idea.css | 97 - .../revealjs/highlight/styles/ir-black.css | 73 - .../revealjs/highlight/styles/kimbie.dark.css | 74 - .../highlight/styles/kimbie.light.css | 74 - .../revealjs/highlight/styles/magula.css | 70 - .../revealjs/highlight/styles/mono-blue.css | 59 - .../highlight/styles/monokai-sublime.css | 83 - .../revealjs/highlight/styles/monokai.css | 70 - .../revealjs/highlight/styles/obsidian.css | 88 - .../revealjs/highlight/styles/ocean.css | 74 - .../highlight/styles/paraiso-dark.css | 72 - .../highlight/styles/paraiso-light.css | 72 - .../revealjs/highlight/styles/pojoaque.css | 83 - .../revealjs/highlight/styles/pojoaque.jpg | Bin 1186 -> 0 bytes .../revealjs/highlight/styles/purebasic.css | 96 - .../highlight/styles/qtcreator_dark.css | 83 - .../highlight/styles/qtcreator_light.css | 83 - .../revealjs/highlight/styles/railscasts.css | 106 - .../revealjs/highlight/styles/rainbow.css | 85 - .../revealjs/highlight/styles/routeros.css | 108 - .../revealjs/highlight/styles/school-book.css | 72 - .../revealjs/highlight/styles/school-book.png | Bin 486 -> 0 bytes .../highlight/styles/solarized-dark.css | 84 - .../highlight/styles/solarized-light.css | 84 - .../revealjs/highlight/styles/sunburst.css | 102 - .../highlight/styles/tomorrow-night-blue.css | 75 - .../styles/tomorrow-night-bright.css | 74 - .../styles/tomorrow-night-eighties.css | 74 - .../highlight/styles/tomorrow-night.css | 75 - .../revealjs/highlight/styles/tomorrow.css | 72 - .../revealjs/highlight/styles/vs.css | 68 - .../revealjs/highlight/styles/vs2015.css | 115 - .../revealjs/highlight/styles/xcode.css | 93 - .../revealjs/highlight/styles/xt256.css | 92 - .../revealjs/highlight/styles/zenburn.css | 80 - .../revealjs/images/favicon-logo-sii.png | Bin 5531 -> 0 bytes .../revealjs/images/header-sii.png | Bin 671 -> 0 bytes .../revealjs/images/logo-sii.svg | 83 - .../gitlab-presentation/revealjs/index.html | 72 - .../gitlab-presentation/revealjs/js/reveal.js | 4744 ------------- .../revealjs/lib/css/zenburn.css | 80 - .../revealjs/lib/font/league-gothic/LICENSE | 2 - .../lib/font/league-gothic/league-gothic.css | 10 - .../lib/font/league-gothic/league-gothic.eot | Bin 25696 -> 0 bytes .../lib/font/league-gothic/league-gothic.ttf | Bin 64256 -> 0 bytes .../lib/font/league-gothic/league-gothic.woff | Bin 30764 -> 0 bytes .../revealjs/lib/font/source-sans-pro/LICENSE | 45 - .../source-sans-pro-italic.eot | Bin 75720 -> 0 bytes .../source-sans-pro-italic.ttf | Bin 238084 -> 0 bytes .../source-sans-pro-italic.woff | Bin 98556 -> 0 bytes .../source-sans-pro-regular.eot | Bin 88070 -> 0 bytes .../source-sans-pro-regular.ttf | Bin 288008 -> 0 bytes .../source-sans-pro-regular.woff | Bin 114324 -> 0 bytes .../source-sans-pro-semibold.eot | Bin 89897 -> 0 bytes .../source-sans-pro-semibold.ttf | Bin 284640 -> 0 bytes .../source-sans-pro-semibold.woff | Bin 115648 -> 0 bytes .../source-sans-pro-semibolditalic.eot | Bin 75706 -> 0 bytes .../source-sans-pro-semibolditalic.ttf | Bin 240944 -> 0 bytes .../source-sans-pro-semibolditalic.woff | Bin 98816 -> 0 bytes .../font/source-sans-pro/source-sans-pro.css | 39 - .../revealjs/lib/js/classList.js | 2 - .../revealjs/lib/js/head.min.js | 9 - .../revealjs/lib/js/html5shiv.js | 7 - .../revealjs/plugin/highlight/highlight.js | 31 - .../revealjs/plugin/markdown/example.html | 129 - .../revealjs/plugin/markdown/example.md | 31 - .../revealjs/plugin/markdown/markdown.js | 405 -- .../revealjs/plugin/markdown/marked.js | 6 - .../revealjs/plugin/math/math.js | 67 - .../revealjs/plugin/multiplex/client.js | 13 - .../revealjs/plugin/multiplex/index.js | 64 - .../revealjs/plugin/multiplex/master.js | 31 - .../revealjs/plugin/multiplex/package.json | 19 - .../revealjs/plugin/notes-server/client.js | 65 - .../revealjs/plugin/notes-server/index.js | 69 - .../revealjs/plugin/notes-server/notes.html | 407 -- .../revealjs/plugin/notes/notes.html | 414 -- .../revealjs/plugin/notes/notes.js | 136 - .../revealjs/plugin/print-pdf/print-pdf.js | 48 - .../revealjs/plugin/search/search.js | 196 - .../revealjs/plugin/zoom-js/zoom.js | 278 - 991 files changed, 129438 deletions(-) delete mode 100644 Pepiniere/ansible/Formation/.gitignore delete mode 100644 Pepiniere/ansible/Formation/.gitlab-ci.yml delete mode 100644 Pepiniere/ansible/Formation/.gitmodules delete mode 100644 Pepiniere/ansible/Formation/0.Introduction-formation.md delete mode 100644 Pepiniere/ansible/Formation/1.Introduction-ansible.md delete mode 100644 Pepiniere/ansible/Formation/10.bonnes-pratiques.md delete mode 100644 Pepiniere/ansible/Formation/2.installation-inventaire.md delete mode 100644 Pepiniere/ansible/Formation/3.commandes-ad-hoc.md delete mode 100644 Pepiniere/ansible/Formation/4.playbooks.md delete mode 100644 Pepiniere/ansible/Formation/5.roles.md delete mode 100644 Pepiniere/ansible/Formation/6.structures-de-controle.md delete mode 100644 Pepiniere/ansible/Formation/7.templates.md delete mode 100644 Pepiniere/ansible/Formation/8.notions-avancees.md delete mode 100644 Pepiniere/ansible/Formation/9.Ansible-Galaxy.md delete mode 100644 Pepiniere/ansible/Formation/README.md delete mode 100644 Pepiniere/ansible/Formation/ansible-config-virtualbox-vms.md delete mode 100644 Pepiniere/ansible/Formation/images/ansible-ad-hoc-deployment-workflow.png delete mode 100644 Pepiniere/ansible/Formation/images/ansible-ad-hoc-multi-node-deployment.png delete mode 100644 Pepiniere/ansible/Formation/images/ansible-archi-playbooks.png delete mode 100644 Pepiniere/ansible/Formation/images/ansible-archi-roles.png delete mode 100644 Pepiniere/ansible/Formation/images/ansible-archi-ssh.png delete mode 100644 Pepiniere/ansible/Formation/images/ansible-galaxy-site.png delete mode 100644 Pepiniere/ansible/Formation/images/ansible-playbook-deployment-workflow.png delete mode 100644 Pepiniere/ansible/Formation/images/ansible-playbook-multi-node-deployment-workflow.png delete mode 100644 Pepiniere/ansible/Formation/images/ci-vs-cd-devops-difference.jpg delete mode 100644 Pepiniere/ansible/Formation/images/logo-ansible.svg delete mode 100644 Pepiniere/ansible/Formation/images/logo-molecule.png delete mode 100644 Pepiniere/ansible/Formation/images/logo-testinfra.svg delete mode 100644 Pepiniere/ansible/Formation/images/manual-deployment-without-ansible.png delete mode 100644 Pepiniere/ansible/Formation/images/tower-dashboard.png delete mode 100644 Pepiniere/ansible/Formation/images/tp.gif delete mode 100644 Pepiniere/ansible/Formation/index.html delete mode 100644 Pepiniere/ansible/Formation/introduction.html delete mode 100644 Pepiniere/ansible/Formation/revealjs/README.md delete mode 100644 Pepiniere/ansible/Formation/revealjs/content.md delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/custom.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/print/paper.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/print/pdf.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/reveal.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/reveal.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/README.md delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/beige.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/black.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/blood.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/league.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/moon.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/night.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/serif.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/sii.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/simple.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/sky.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/solarized.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/beige.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/black.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/blood.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/league.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/moon.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/night.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/serif.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/simple.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/sky.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/solarized.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/source/white.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/template/mixins.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/template/settings.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/template/theme.scss delete mode 100644 Pepiniere/ansible/Formation/revealjs/css/theme/white.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/highlight.pack.js delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/agate.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/androidstudio.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/arduino-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/arta.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/ascetic.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/brown-paper.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/brown-papersq.png delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/codepen-embed.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/color-brewer.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/darcula.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/darkula.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/default.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/docco.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/dracula.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/far.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/foundation.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/github-gist.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/github.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/googlecode.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/grayscale.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/hopscotch.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/hybrid.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/idea.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/ir-black.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/magula.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/mono-blue.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai-sublime.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/obsidian.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/ocean.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/pojoaque.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/pojoaque.jpg delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/purebasic.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/railscasts.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/rainbow.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/routeros.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/school-book.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/school-book.png delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-dark.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-light.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/sunburst.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-blue.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-bright.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-eighties.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/vs.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/vs2015.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/xcode.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/xt256.css delete mode 100755 Pepiniere/ansible/Formation/revealjs/highlight/styles/zenburn.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/images/favicon-logo-sii.png delete mode 100644 Pepiniere/ansible/Formation/revealjs/images/header-sii.png delete mode 100644 Pepiniere/ansible/Formation/revealjs/images/logo-sii.svg delete mode 100644 Pepiniere/ansible/Formation/revealjs/index.html delete mode 100644 Pepiniere/ansible/Formation/revealjs/js/reveal.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/css/zenburn.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/league-gothic/LICENSE delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/league-gothic/league-gothic.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/league-gothic/league-gothic.eot delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/league-gothic/league-gothic.ttf delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/league-gothic/league-gothic.woff delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/LICENSE delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.eot delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.ttf delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.woff delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.eot delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.ttf delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.woff delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.eot delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.ttf delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.woff delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/font/source-sans-pro/source-sans-pro.css delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/js/classList.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/js/head.min.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/lib/js/html5shiv.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/highlight/highlight.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/markdown/example.html delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/markdown/example.md delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/markdown/markdown.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/markdown/marked.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/math/math.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/multiplex/client.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/multiplex/index.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/multiplex/master.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/multiplex/package.json delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/notes-server/client.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/notes-server/index.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/notes-server/notes.html delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/notes/notes.html delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/notes/notes.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/print-pdf/print-pdf.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/search/search.js delete mode 100644 Pepiniere/ansible/Formation/revealjs/plugin/zoom-js/zoom.js delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/2.tp-deploiement-app.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-imports/imports/apache-handlers.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-imports/imports/apache-install.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-imports/imports/mariadb-install.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-imports/imports/mariadb-wordpress-configure.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-imports/imports/wordpress-configure.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-imports/imports/wordpress-install.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-imports/install-apache-wordpress-mariadb-imports.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/apache-wordpress-mariadb-roles-password.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/inventories/formation/group_vars/centos7.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/inventories/formation/hosts delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/passwords.txt delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/roles/apache-install/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/roles/mariadb-configure/tasks/main.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/roles/mariadb-install/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/roles/wordpress-configure/tasks/main.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles-password/roles/wordpress-install/tasks/main.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/inventories/formation/group_vars/wordpress.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/inventories/formation/hosts delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/playbook.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/apache/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/mariadb/defaults/main.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/mariadb/tasks/add-database.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/mariadb/tasks/install.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/mariadb/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/wordpress/meta/main.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/wordpress/tasks/configure.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/wordpress/tasks/install.yml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress-roles/roles/wordpress/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress/hosts delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress/install-apache-wordpress-mariadb.yaml delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/files/tp-wordpress/script-tp2.sh delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/images/ansible-archi-ssh.png delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/images/ansible-galaxy-search-role.png delete mode 120000 Pepiniere/ansible/Formation/travaux-pratiques/revealjs delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-divers.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-divers.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-galaxy.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-galaxy.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-imports.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-imports.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-inventaire.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-inventaire.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-les-commandes-ad-hoc.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-les-commandes-ad-hoc.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-playbooks.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-playbooks.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-roles.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-roles.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-structures-de-controle.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-structures-de-controle.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-templates.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-templates.md delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-vault.html delete mode 100644 Pepiniere/ansible/Formation/travaux-pratiques/tp-ansible-vault.md delete mode 100644 Pepiniere/ansible/Travaux_pratiques/ansible.cfg delete mode 100644 Pepiniere/ansible/Travaux_pratiques/inventories/formation/group_vars/all/vault delete mode 100644 Pepiniere/ansible/Travaux_pratiques/inventories/formation/group_vars/wordpress.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/inventories/formation/hosts delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbook-vault.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbook.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/configure_mariadb.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/configure_postgre.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/configure_wordpress.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/create_web_server.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/create_wordpress.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/get-user-id.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/index.html delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/install_apache.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/install_apache_wordpress_mariadb.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/install_mariadb.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/install_php.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/install_postgre.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/install_postgre_apache_wordpress.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/install_wordpress_latest.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/playbooks/restart_apache.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/apache/handlers/restart_apache.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/apache/tasks/install_apache.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/apache/tasks/install_php.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/apache/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/postgre/defaults/main.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/postgre/tasks/add_database.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/postgre/tasks/add_user.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/postgre/tasks/install.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/postgre/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/wordpress/tasks/configure_wordpress.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/wordpress/tasks/install_wordpress_latest.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/roles/wordpress/tasks/main.yaml delete mode 100644 Pepiniere/ansible/Travaux_pratiques/vault-password delete mode 100644 Pepiniere/docker/.gitignore delete mode 100644 Pepiniere/docker/.gitlab-ci.yml delete mode 100644 Pepiniere/docker/.gitmodules delete mode 100644 Pepiniere/docker/0.introduction-formation/images/CTRITTEN.jpg delete mode 100644 Pepiniere/docker/0.introduction-formation/images/MPOULLAIN.jpg delete mode 100644 Pepiniere/docker/0.introduction-formation/images/docker-wave-whale.svg delete mode 100755 Pepiniere/docker/0.introduction-formation/index.html delete mode 100755 Pepiniere/docker/0.introduction-formation/introduction-formation.md delete mode 120000 Pepiniere/docker/0.introduction-formation/revealjs delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/build-ship-run-any-app-anywhere.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-container.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-customers.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-cycle.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-engine-containerd-runc.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-engine.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-networking-host.jpg delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-on-linux-platform.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-on-windows-platform.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-run-workflow.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-subscription.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/docker-wave-whale.svg delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/logo-docker.svg delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/logo-podman.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/micro-services.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/most-popular-docker-official-images-in-2020.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/network-expose-publish.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/network-expose.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/network.jpg delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/solomon-hykes.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/tp.gif delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/user-space-vs-Kernel-space-virtualization-vs-containerization.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/user-space-vs-kernel-space-julia-evans.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/user-space-vs-kernel-space-simple-container.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/user-space-vs-kernel-space-simple-user-space.png delete mode 100644 Pepiniere/docker/1.introduction-aux-conteneurs/images/virtual-machine-vs-container.png delete mode 100755 Pepiniere/docker/1.introduction-aux-conteneurs/index.html delete mode 100755 Pepiniere/docker/1.introduction-aux-conteneurs/introduction-aux-conteneurs.md delete mode 120000 Pepiniere/docker/1.introduction-aux-conteneurs/revealjs delete mode 100755 Pepiniere/docker/2.images-de-conteneurs/images-de-conteneurs.md delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/dive.gif delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-container-sharing-layers.jpg delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-environment-args-env.png delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-hub.png delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-image-layers.jpg delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-image-new-layer.jpg delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-image-reusability.png delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-one-process.png delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-registry.png delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/docker-wave-whale.svg delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/dockerfile-image-container.jpg delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/most-popular-docker-official-images-in-2020.png delete mode 100644 Pepiniere/docker/2.images-de-conteneurs/images/tp.gif delete mode 100755 Pepiniere/docker/2.images-de-conteneurs/index.html delete mode 120000 Pepiniere/docker/2.images-de-conteneurs/revealjs delete mode 100755 Pepiniere/docker/3.conteneurs-utilisation-avancee/conteneurs-utilisation-avancee.md delete mode 100644 Pepiniere/docker/3.conteneurs-utilisation-avancee/images/ctop.gif delete mode 100644 Pepiniere/docker/3.conteneurs-utilisation-avancee/images/docker-wave-whale.svg delete mode 100644 Pepiniere/docker/3.conteneurs-utilisation-avancee/images/tp.gif delete mode 100644 Pepiniere/docker/3.conteneurs-utilisation-avancee/images/types-of-mounts-bind.png delete mode 100644 Pepiniere/docker/3.conteneurs-utilisation-avancee/images/types-of-mounts-tmpfs.png delete mode 100644 Pepiniere/docker/3.conteneurs-utilisation-avancee/images/types-of-mounts-volume.png delete mode 100644 Pepiniere/docker/3.conteneurs-utilisation-avancee/images/types-of-mounts.png delete mode 100755 Pepiniere/docker/3.conteneurs-utilisation-avancee/index.html delete mode 120000 Pepiniere/docker/3.conteneurs-utilisation-avancee/revealjs delete mode 100755 Pepiniere/docker/4.hotes-docker/hotes-docker.md delete mode 100644 Pepiniere/docker/4.hotes-docker/images/docker-wave-whale.svg delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-ansible.png delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-atomic.png delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-coreos.jpg delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-docker-machine.jpg delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-heat.jpg delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-photon.jpg delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-rancher.jpg delete mode 100644 Pepiniere/docker/4.hotes-docker/images/logo-terraform.jpg delete mode 100644 Pepiniere/docker/4.hotes-docker/images/machine.png delete mode 100644 Pepiniere/docker/4.hotes-docker/images/machine2.png delete mode 100644 Pepiniere/docker/4.hotes-docker/images/rancheros-architecture.png delete mode 100644 Pepiniere/docker/4.hotes-docker/images/tp.gif delete mode 100755 Pepiniere/docker/4.hotes-docker/index.html delete mode 120000 Pepiniere/docker/4.hotes-docker/revealjs delete mode 100644 Pepiniere/docker/5.swarm/images/container-mess.jpg delete mode 100644 Pepiniere/docker/5.swarm/images/docker-networking-overlay-addresses.jpg delete mode 100644 Pepiniere/docker/5.swarm/images/docker-networking-overlay-routing.jpg delete mode 100644 Pepiniere/docker/5.swarm/images/docker-networking-overlay.jpg delete mode 100644 Pepiniere/docker/5.swarm/images/docker-wave-whale.svg delete mode 100644 Pepiniere/docker/5.swarm/images/glusterfs.png delete mode 100644 Pepiniere/docker/5.swarm/images/orchestration-principle.jpg delete mode 100644 Pepiniere/docker/5.swarm/images/swarm-network-ingress-lb.png delete mode 100644 Pepiniere/docker/5.swarm/images/swarm-network-ingress-routing-mesh.png delete mode 100644 Pepiniere/docker/5.swarm/images/swarm.png delete mode 100644 Pepiniere/docker/5.swarm/images/swarm2.png delete mode 100644 Pepiniere/docker/5.swarm/images/swarm3.png delete mode 100644 Pepiniere/docker/5.swarm/images/tp.gif delete mode 100644 Pepiniere/docker/5.swarm/images/traefik.png delete mode 100755 Pepiniere/docker/5.swarm/index.html delete mode 120000 Pepiniere/docker/5.swarm/revealjs delete mode 100644 Pepiniere/docker/5.swarm/swarm.md delete mode 100644 Pepiniere/docker/6.outils-administration/images/docker-wave-whale.svg delete mode 100644 Pepiniere/docker/6.outils-administration/images/harbor-1.jpg delete mode 100644 Pepiniere/docker/6.outils-administration/images/logo-harbor.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/logo-portainer.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/logo-portus.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/logo-weave.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/portainer-containers.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/portainer-dashboard.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/portus-1.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/weave-scope-1.png delete mode 100644 Pepiniere/docker/6.outils-administration/images/weave-scope-2.png delete mode 100755 Pepiniere/docker/6.outils-administration/index.html delete mode 100755 Pepiniere/docker/6.outils-administration/outils-administration.md delete mode 120000 Pepiniere/docker/6.outils-administration/revealjs delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/cadvisor.jpg delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/ctop.gif delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/docker-wave-whale.svg delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/grafana-dashboard.png delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/grafana.png delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/monitoring.png delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/monitoring2.png delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/monitoring3.png delete mode 100644 Pepiniere/docker/7.monitoring-conteneurs/images/prometheus.png delete mode 100755 Pepiniere/docker/7.monitoring-conteneurs/index.html delete mode 100755 Pepiniere/docker/7.monitoring-conteneurs/monitoring-conteneurs.md delete mode 120000 Pepiniere/docker/7.monitoring-conteneurs/revealjs delete mode 100644 Pepiniere/docker/README.md delete mode 100644 Pepiniere/docker/index.html delete mode 100755 Pepiniere/docker/index/favicon-logo-sii.png delete mode 100755 Pepiniere/docker/index/header-sii.png delete mode 100755 Pepiniere/docker/index/logo-sii.svg delete mode 100755 Pepiniere/docker/index/marked.min.js delete mode 100755 Pepiniere/docker/index/sii.css delete mode 100644 Pepiniere/docker/revealjs/.gitignore delete mode 100644 Pepiniere/docker/revealjs/README.md delete mode 100644 Pepiniere/docker/revealjs/bower.json delete mode 100644 Pepiniere/docker/revealjs/content.md delete mode 100644 Pepiniere/docker/revealjs/css/print/paper.css delete mode 100644 Pepiniere/docker/revealjs/css/print/pdf.css delete mode 100644 Pepiniere/docker/revealjs/css/reset.css delete mode 100644 Pepiniere/docker/revealjs/css/reveal.css delete mode 100644 Pepiniere/docker/revealjs/css/reveal.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/README.md delete mode 100644 Pepiniere/docker/revealjs/css/theme/beige.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/black.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/blood.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/league.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/moon.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/night.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/serif.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/sii.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/simple.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/sky.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/solarized.css delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/beige.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/black.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/blood.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/league.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/moon.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/night.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/serif.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/simple.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/sky.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/solarized.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/source/white.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/template/mixins.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/template/settings.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/template/theme.scss delete mode 100644 Pepiniere/docker/revealjs/css/theme/white.css delete mode 100644 Pepiniere/docker/revealjs/demo.html delete mode 100644 Pepiniere/docker/revealjs/gruntfile.js delete mode 100644 Pepiniere/docker/revealjs/images/favicon-logo-sii.png delete mode 100644 Pepiniere/docker/revealjs/images/header-sii.png delete mode 100644 Pepiniere/docker/revealjs/images/logo-sii.svg delete mode 100644 Pepiniere/docker/revealjs/index.html delete mode 100644 Pepiniere/docker/revealjs/js/reveal.js delete mode 100644 Pepiniere/docker/revealjs/lib/css/monokai.css delete mode 100644 Pepiniere/docker/revealjs/lib/css/zenburn.css delete mode 100644 Pepiniere/docker/revealjs/lib/font/league-gothic/LICENSE delete mode 100644 Pepiniere/docker/revealjs/lib/font/league-gothic/league-gothic.css delete mode 100755 Pepiniere/docker/revealjs/lib/font/league-gothic/league-gothic.eot delete mode 100755 Pepiniere/docker/revealjs/lib/font/league-gothic/league-gothic.ttf delete mode 100755 Pepiniere/docker/revealjs/lib/font/league-gothic/league-gothic.woff delete mode 100644 Pepiniere/docker/revealjs/lib/font/source-sans-pro/LICENSE delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.eot delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.ttf delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.woff delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.eot delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.ttf delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.woff delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.eot delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.ttf delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.woff delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf delete mode 100755 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff delete mode 100644 Pepiniere/docker/revealjs/lib/font/source-sans-pro/source-sans-pro.css delete mode 100644 Pepiniere/docker/revealjs/lib/js/html5shiv.js delete mode 100644 Pepiniere/docker/revealjs/lib/js/promise.js delete mode 100644 Pepiniere/docker/revealjs/package-lock.json delete mode 100644 Pepiniere/docker/revealjs/package.json delete mode 100644 Pepiniere/docker/revealjs/plugin/highlight/highlight.js delete mode 100644 Pepiniere/docker/revealjs/plugin/markdown/example.html delete mode 100644 Pepiniere/docker/revealjs/plugin/markdown/example.md delete mode 100755 Pepiniere/docker/revealjs/plugin/markdown/markdown.js delete mode 100644 Pepiniere/docker/revealjs/plugin/markdown/marked.js delete mode 100755 Pepiniere/docker/revealjs/plugin/math/math.js delete mode 100644 Pepiniere/docker/revealjs/plugin/multiplex/client.js delete mode 100644 Pepiniere/docker/revealjs/plugin/multiplex/index.js delete mode 100644 Pepiniere/docker/revealjs/plugin/multiplex/master.js delete mode 100644 Pepiniere/docker/revealjs/plugin/multiplex/package.json delete mode 100644 Pepiniere/docker/revealjs/plugin/notes-server/client.js delete mode 100644 Pepiniere/docker/revealjs/plugin/notes-server/index.js delete mode 100644 Pepiniere/docker/revealjs/plugin/notes-server/notes.html delete mode 100644 Pepiniere/docker/revealjs/plugin/notes/notes.html delete mode 100644 Pepiniere/docker/revealjs/plugin/notes/notes.js delete mode 100644 Pepiniere/docker/revealjs/plugin/print-pdf/print-pdf.js delete mode 100644 Pepiniere/docker/revealjs/plugin/search/search.js delete mode 100644 Pepiniere/docker/revealjs/plugin/zoom-js/zoom.js delete mode 100644 Pepiniere/docker/travaux-pratiques/docker-config-virtualbox-vms.md delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-compose/docker-compose-2.yml delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-compose/docker-compose.yml delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-compose/web/Dockerfile delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-compose/web/docker.sql delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-compose/web/index.sh delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-compose/web/start.sh delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-dockerfile/Dockerfile delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-dockerfile/Dockerfile.healthcheck delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-dockerfile/index.html delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-dockerfile/start.sh delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-secrets/docker-compose-secrets.yml delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-secrets/web/Dockerfile delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-secrets/web/docker.sql delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-secrets/web/index.sh delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-secrets/web/start.sh delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-traefik/docker-compose-formation-app-with-traefik.yml delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-traefik/docker-compose-traefik.yml delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm-traefik/docker-compose-wit.yml delete mode 100644 Pepiniere/docker/travaux-pratiques/files/tp-swarm/docker-compose.yml delete mode 100755 Pepiniere/docker/travaux-pratiques/slides/convert_slides_2_pdf delete mode 100755 Pepiniere/docker/travaux-pratiques/slides/docker/images/tp3.png delete mode 120000 Pepiniere/docker/travaux-pratiques/slides/docker/revealjs delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-compose.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-compose.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-docker-introduction.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-docker-introduction.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-dockerfile.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-dockerfile.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-images.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-images.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-network.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-network.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-volumes.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-volumes.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-web-db.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/docker/tp-web-db.md delete mode 120000 Pepiniere/docker/travaux-pratiques/slides/revealjs delete mode 120000 Pepiniere/docker/travaux-pratiques/slides/swarm/revealjs delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-docker-machine.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-docker-machine.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-registry.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-registry.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-rolling-update.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-rolling-update.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-secrets.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-secrets.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-swarm-init.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-swarm-init.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-swarm.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-swarm.md delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-traefik.html delete mode 100644 Pepiniere/docker/travaux-pratiques/slides/swarm/tp-traefik.md delete mode 100644 Pepiniere/docker/travaux-pratiques/tools/who-is-there/README.md delete mode 100644 Pepiniere/git-level1/.gitignore delete mode 100644 Pepiniere/git-level1/.gitmodules delete mode 100644 Pepiniere/git-level1/Dockerfile delete mode 100755 Pepiniere/git-level1/Outils - Git - 1j - SII-R8-0015.pdf delete mode 100755 Pepiniere/git-level1/Outils - Git - 1j - SII-R8-0015.ppt delete mode 100755 Pepiniere/git-level1/convert_slides_2_pdf delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-bold.eot delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-bold.ttf delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-bold.woff delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-bolditalic.eot delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-bolditalic.ttf delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-bolditalic.woff delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-italic.eot delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-italic.ttf delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-italic.woff delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-regular.eot delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-regular.ttf delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans-regular.woff delete mode 100644 Pepiniere/git-level1/fonts/opensans/opensans.css delete mode 100644 Pepiniere/git-level1/git-level1.pdf delete mode 100644 Pepiniere/git-level1/images/02-contexte/centralise.png delete mode 100644 Pepiniere/git-level1/images/02-contexte/distribue.png delete mode 100644 Pepiniere/git-level1/images/02-contexte/git.png delete mode 100644 Pepiniere/git-level1/images/02-contexte/github.png delete mode 100644 Pepiniere/git-level1/images/02-contexte/gitlab.png delete mode 100644 Pepiniere/git-level1/images/03-installation/code.png delete mode 100644 Pepiniere/git-level1/images/03-installation/egit.png delete mode 100644 Pepiniere/git-level1/images/03-installation/kracken.png delete mode 100644 Pepiniere/git-level1/images/03-installation/macos.png delete mode 100644 Pepiniere/git-level1/images/03-installation/tux.png delete mode 100644 Pepiniere/git-level1/images/03-installation/windows.png delete mode 100644 Pepiniere/git-level1/images/04-principe/folder.png delete mode 100644 Pepiniere/git-level1/images/08-Projet/phases.png delete mode 100644 Pepiniere/git-level1/images/Git-logo.svg delete mode 100755 Pepiniere/git-level1/index.html delete mode 100644 Pepiniere/git-level1/readme.md delete mode 100644 Pepiniere/git-level1/reveal/README.md delete mode 100644 Pepiniere/git-level1/reveal/content.md delete mode 100644 Pepiniere/git-level1/reveal/css/custom.css delete mode 100644 Pepiniere/git-level1/reveal/css/print/paper.css delete mode 100644 Pepiniere/git-level1/reveal/css/print/pdf.css delete mode 100644 Pepiniere/git-level1/reveal/css/reveal.css delete mode 100644 Pepiniere/git-level1/reveal/css/reveal.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/README.md delete mode 100644 Pepiniere/git-level1/reveal/css/theme/beige.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/black.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/blood.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/league.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/moon.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/night.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/serif.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/sii.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/simple.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/sky.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/solarized.css delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/beige.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/black.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/blood.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/league.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/moon.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/night.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/serif.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/simple.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/sky.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/solarized.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/source/white.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/template/mixins.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/template/settings.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/template/theme.scss delete mode 100644 Pepiniere/git-level1/reveal/css/theme/white.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/highlight.pack.js delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/agate.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/androidstudio.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/arduino-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/arta.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/ascetic.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-cave-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-cave-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-dune-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-dune-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-estuary-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-estuary-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-forest-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-forest-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-heath-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-heath-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-lakeside-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-lakeside-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-plateau-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-plateau-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-savanna-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-savanna-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-seaside-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-seaside-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-sulphurpool-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atelier-sulphurpool-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atom-one-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/atom-one-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/brown-paper.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/brown-papersq.png delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/codepen-embed.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/color-brewer.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/darcula.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/darkula.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/default.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/docco.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/dracula.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/far.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/foundation.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/github-gist.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/github.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/googlecode.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/grayscale.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/gruvbox-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/gruvbox-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/hopscotch.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/hybrid.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/idea.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/ir-black.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/kimbie.dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/kimbie.light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/magula.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/mono-blue.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/monokai-sublime.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/monokai.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/obsidian.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/ocean.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/paraiso-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/paraiso-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/pojoaque.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/pojoaque.jpg delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/purebasic.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/qtcreator_dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/qtcreator_light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/railscasts.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/rainbow.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/routeros.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/school-book.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/school-book.png delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/solarized-dark.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/solarized-light.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/sunburst.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/tomorrow-night-blue.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/tomorrow-night-bright.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/tomorrow-night-eighties.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/tomorrow-night.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/tomorrow.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/vs.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/vs2015.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/xcode.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/xt256.css delete mode 100755 Pepiniere/git-level1/reveal/highlight/styles/zenburn.css delete mode 100644 Pepiniere/git-level1/reveal/images/favicon-logo-sii.png delete mode 100644 Pepiniere/git-level1/reveal/images/header-sii.png delete mode 100644 Pepiniere/git-level1/reveal/images/logo-sii.svg delete mode 100644 Pepiniere/git-level1/reveal/index.html delete mode 100644 Pepiniere/git-level1/reveal/js/reveal.js delete mode 100644 Pepiniere/git-level1/reveal/lib/css/zenburn.css delete mode 100644 Pepiniere/git-level1/reveal/lib/font/league-gothic/LICENSE delete mode 100644 Pepiniere/git-level1/reveal/lib/font/league-gothic/league-gothic.css delete mode 100644 Pepiniere/git-level1/reveal/lib/font/league-gothic/league-gothic.eot delete mode 100644 Pepiniere/git-level1/reveal/lib/font/league-gothic/league-gothic.ttf delete mode 100644 Pepiniere/git-level1/reveal/lib/font/league-gothic/league-gothic.woff delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/LICENSE delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-italic.eot delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-italic.ttf delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-italic.woff delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-regular.eot delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-regular.ttf delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-regular.woff delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-semibold.eot delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-semibold.ttf delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-semibold.woff delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff delete mode 100644 Pepiniere/git-level1/reveal/lib/font/source-sans-pro/source-sans-pro.css delete mode 100644 Pepiniere/git-level1/reveal/lib/js/classList.js delete mode 100644 Pepiniere/git-level1/reveal/lib/js/head.min.js delete mode 100644 Pepiniere/git-level1/reveal/lib/js/html5shiv.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/highlight/highlight.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/markdown/example.html delete mode 100644 Pepiniere/git-level1/reveal/plugin/markdown/example.md delete mode 100644 Pepiniere/git-level1/reveal/plugin/markdown/markdown.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/markdown/marked.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/math/math.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/multiplex/client.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/multiplex/index.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/multiplex/master.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/multiplex/package.json delete mode 100644 Pepiniere/git-level1/reveal/plugin/notes-server/client.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/notes-server/index.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/notes-server/notes.html delete mode 100644 Pepiniere/git-level1/reveal/plugin/notes/notes.html delete mode 100644 Pepiniere/git-level1/reveal/plugin/notes/notes.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/print-pdf/print-pdf.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/search/search.js delete mode 100644 Pepiniere/git-level1/reveal/plugin/zoom-js/zoom.js delete mode 100644 Pepiniere/git-level1/slides.css delete mode 100755 Pepiniere/git-level1/slides/01-sommaire.md delete mode 100644 Pepiniere/git-level1/slides/02-contexte.md delete mode 100644 Pepiniere/git-level1/slides/03-installation.md delete mode 100644 Pepiniere/git-level1/slides/04-principe.md delete mode 100644 Pepiniere/git-level1/slides/05-quotidien.md delete mode 100644 Pepiniere/git-level1/slides/06-remote.md delete mode 100644 Pepiniere/git-level1/slides/07-branches.md delete mode 100644 Pepiniere/git-level1/slides/08-projet.md delete mode 100644 Pepiniere/git-level1/slides/09-modules.md delete mode 100644 Pepiniere/git-level1/slides/10-bonnes-pratiques.md delete mode 100644 Pepiniere/git-level1/slides/11-conclusion.md delete mode 100644 Pepiniere/git-level1/svg/add.svg delete mode 100644 Pepiniere/git-level1/svg/arbre.svg delete mode 100644 Pepiniere/git-level1/svg/branche.svg delete mode 100644 Pepiniere/git-level1/svg/checkout.svg delete mode 100644 Pepiniere/git-level1/svg/checkout_file.svg delete mode 100644 Pepiniere/git-level1/svg/checkout_file_commit.svg delete mode 100644 Pepiniere/git-level1/svg/clone.svg delete mode 100644 Pepiniere/git-level1/svg/conflict.svg delete mode 100644 Pepiniere/git-level1/svg/conventions.svg delete mode 100644 Pepiniere/git-level1/svg/draft.svg delete mode 100644 Pepiniere/git-level1/svg/etats.svg delete mode 100644 Pepiniere/git-level1/svg/fetch.svg delete mode 100644 Pepiniere/git-level1/svg/file_life_cycle.svg delete mode 100644 Pepiniere/git-level1/svg/gitflow_all.svg delete mode 100644 Pepiniere/git-level1/svg/gitflow_base.svg delete mode 100644 Pepiniere/git-level1/svg/gitflow_feature.svg delete mode 100644 Pepiniere/git-level1/svg/gitflow_hotfix.svg delete mode 100644 Pepiniere/git-level1/svg/gitflow_release.svg delete mode 100644 Pepiniere/git-level1/svg/history.svg delete mode 100644 Pepiniere/git-level1/svg/merge_branch.svg delete mode 100644 Pepiniere/git-level1/svg/merge_vs_rebase.svg delete mode 100644 Pepiniere/git-level1/svg/recap_process.svg delete mode 100644 Pepiniere/git-level1/svg/reset-file.svg delete mode 100644 Pepiniere/git-level1/svg/reset-hard.svg delete mode 100644 Pepiniere/git-level1/svg/reset-mixed.svg delete mode 100644 Pepiniere/git-level1/svg/reset-soft.svg delete mode 100644 Pepiniere/git-level1/svg/stable-environment-branches.svg delete mode 100644 Pepiniere/git-level1/svg/submodule_folder.svg delete mode 100644 Pepiniere/git-level1/svg/workflow-add.svg delete mode 100644 Pepiniere/git-level1/svg/workflow-commit.svg delete mode 100644 Pepiniere/git-level1/svg/workflow-init.svg delete mode 100644 Pepiniere/git-level1/timings.md delete mode 100644 Pepiniere/gitlab-presentation/.gitmodules delete mode 100644 Pepiniere/gitlab-presentation/README.md delete mode 100644 Pepiniere/gitlab-presentation/images/ci-cd-runners-architecture.png delete mode 100644 Pepiniere/gitlab-presentation/images/ci-cd.png delete mode 100755 Pepiniere/gitlab-presentation/images/devops-lifecycle.png delete mode 100755 Pepiniere/gitlab-presentation/images/forrester-ci-wave-graphic.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-devops-lifecycle-2.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-devops-lifecycle.png delete mode 100644 Pepiniere/gitlab-presentation/images/gitlab-logo.svg delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-commit-diff.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-commits.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-files.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-issue.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-issues-board.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-issues-list.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-pipeline-debug.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-pipeline-definition.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-pipeline-faillure.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-pipeline-success.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-pipeline-with-a-lot-of-stages.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-pipelines-2.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-pipelines.png delete mode 100755 Pepiniere/gitlab-presentation/images/gitlab-screen-projects.png delete mode 100644 Pepiniere/gitlab-presentation/images/gitlab-wit-pipeline-1.png delete mode 100644 Pepiniere/gitlab-presentation/images/gitlab-wit-pipeline-2.png delete mode 100644 Pepiniere/gitlab-presentation/images/gitlab-wit-pipeline-3.png delete mode 100644 Pepiniere/gitlab-presentation/images/gitlab-wit-pipeline-4.png delete mode 100755 Pepiniere/gitlab-presentation/images/mattermost-screen-chat.png delete mode 100755 Pepiniere/gitlab-presentation/introduction-a-gitlab.html delete mode 100755 Pepiniere/gitlab-presentation/introduction-a-gitlab.md delete mode 100644 Pepiniere/gitlab-presentation/revealjs/README.md delete mode 100644 Pepiniere/gitlab-presentation/revealjs/content.md delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/custom.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/print/paper.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/print/pdf.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/reveal.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/reveal.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/README.md delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/beige.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/black.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/blood.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/league.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/moon.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/night.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/serif.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/sii.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/simple.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/sky.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/solarized.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/beige.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/black.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/blood.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/league.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/moon.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/night.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/serif.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/simple.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/sky.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/solarized.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/source/white.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/template/mixins.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/template/settings.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/template/theme.scss delete mode 100644 Pepiniere/gitlab-presentation/revealjs/css/theme/white.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/highlight.pack.js delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/agate.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/androidstudio.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/arduino-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/arta.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/ascetic.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-cave-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-cave-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-dune-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-dune-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-estuary-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-estuary-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-forest-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-forest-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-heath-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-heath-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-lakeside-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-lakeside-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-plateau-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-plateau-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-savanna-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-savanna-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-seaside-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-seaside-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-sulphurpool-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atelier-sulphurpool-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atom-one-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/atom-one-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/brown-paper.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/brown-papersq.png delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/codepen-embed.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/color-brewer.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/darcula.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/darkula.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/default.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/docco.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/dracula.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/far.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/foundation.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/github-gist.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/github.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/googlecode.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/grayscale.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/gruvbox-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/gruvbox-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/hopscotch.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/hybrid.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/idea.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/ir-black.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/kimbie.dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/kimbie.light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/magula.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/mono-blue.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/monokai-sublime.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/monokai.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/obsidian.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/ocean.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/paraiso-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/paraiso-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/pojoaque.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/pojoaque.jpg delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/purebasic.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/qtcreator_dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/qtcreator_light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/railscasts.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/rainbow.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/routeros.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/school-book.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/school-book.png delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/solarized-dark.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/solarized-light.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/sunburst.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/tomorrow-night-blue.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/tomorrow-night-bright.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/tomorrow-night-eighties.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/tomorrow-night.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/tomorrow.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/vs.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/vs2015.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/xcode.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/xt256.css delete mode 100755 Pepiniere/gitlab-presentation/revealjs/highlight/styles/zenburn.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/images/favicon-logo-sii.png delete mode 100644 Pepiniere/gitlab-presentation/revealjs/images/header-sii.png delete mode 100644 Pepiniere/gitlab-presentation/revealjs/images/logo-sii.svg delete mode 100644 Pepiniere/gitlab-presentation/revealjs/index.html delete mode 100644 Pepiniere/gitlab-presentation/revealjs/js/reveal.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/css/zenburn.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/league-gothic/LICENSE delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/league-gothic/league-gothic.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/league-gothic/league-gothic.eot delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/league-gothic/league-gothic.ttf delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/league-gothic/league-gothic.woff delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/LICENSE delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.eot delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.ttf delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.woff delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.eot delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.ttf delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.woff delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.eot delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.ttf delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.woff delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/font/source-sans-pro/source-sans-pro.css delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/js/classList.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/js/head.min.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/lib/js/html5shiv.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/highlight/highlight.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/markdown/example.html delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/markdown/example.md delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/markdown/markdown.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/markdown/marked.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/math/math.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/multiplex/client.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/multiplex/index.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/multiplex/master.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/multiplex/package.json delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/notes-server/client.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/notes-server/index.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/notes-server/notes.html delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/notes/notes.html delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/notes/notes.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/print-pdf/print-pdf.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/search/search.js delete mode 100644 Pepiniere/gitlab-presentation/revealjs/plugin/zoom-js/zoom.js diff --git a/Pepiniere/ansible/Formation/.gitignore b/Pepiniere/ansible/Formation/.gitignore deleted file mode 100644 index 2c851c8..0000000 --- a/Pepiniere/ansible/Formation/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.pdf -*.zip diff --git a/Pepiniere/ansible/Formation/.gitlab-ci.yml b/Pepiniere/ansible/Formation/.gitlab-ci.yml deleted file mode 100644 index 4e0439a..0000000 --- a/Pepiniere/ansible/Formation/.gitlab-ci.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: - GIT_SUBMODULE_STRATEGY: recursive - -stages: - - build - -make-pdf: - stage: build - image: - name: astefanutti/decktape:2.11.0 - entrypoint: [""] - tags: - - france - - sii - script: - # - # 1. We change the size with --size due to a strange rendering bug - # decribed here: https://github.com/astefanutti/decktape/issues/151 - # - # 2. We also specify --chrome-arg=--disable-web-security to autorize - # Cross origin requests in chrome - # - - node /decktape/decktape.js --chrome-path chromium-browser --chrome-arg=--no-sandbox --chrome-arg=--disable-web-security --size='1576x1182' index.html ansible-formation.pdf - artifacts: - name: ansible.pdf - expire_in: 3 month - paths: - - ansible-formation.pdf - diff --git a/Pepiniere/ansible/Formation/.gitmodules b/Pepiniere/ansible/Formation/.gitmodules deleted file mode 100644 index 57edee8..0000000 --- a/Pepiniere/ansible/Formation/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "revealjs"] - path = revealjs - url = ../../template-revealjs-sii-theme.git diff --git a/Pepiniere/ansible/Formation/0.Introduction-formation.md b/Pepiniere/ansible/Formation/0.Introduction-formation.md deleted file mode 100644 index 5b0e091..0000000 --- a/Pepiniere/ansible/Formation/0.Introduction-formation.md +++ /dev/null @@ -1,118 +0,0 @@ -# Ansible -__Formation__ - -Christian Tritten • Stéfan Lebosq - - -## Pré-requis - -* Virtualbox - 4 VMs téléchargées et importées - -* Putty - https://www.putty.org/ - -* Café (!) - - -## Formation à distance - -* Laisser votre caméra allumée afin de favoriser - les échanges - -* Vous pouvez intervenir quand vous voulez... - mais gardez votre micro coupé le reste du temps - -* Levez la main en cas de problème - (debug sur les TPs en aparté) - -* Double pause pour éviter la surchauffe ! - - -## Horaires jour - -||| -|:-|-:| -|démarrage|__9h30__| -|pause|__~ 10h30 ~ 11h30__| -|repas|__12h30__| -|reprise|__14h00__| -|pause|__~ 15h00 ~ 16h00__| -|fin|__17h30__| - - -## Badge - -Le port du badge SII de façon visible -est obligatoire dans les locaux. - - -## Tour de table - -* Qui êtes-vous ? - -* Connaissez-vous déjà Ansible ou des outils similaires ? - -* Qu'attendez-vous de la formation ? - -* Avez-vous des à priori sur le mode distanciel ? - - -## Programme - - -### 1. Introduction -* DevOps et Infrastructure as Code -* Présentation d'Ansible - - -### 2. Installation et Mise en œuvre -* Installation et configuration -* Configuration SSH -* Mise en place de l’inventaire - - -### 3. Les commandes Ad-Hoc - -* CLI Ansible -* Principaux modules Ad-Hoc - - -### 4. Les Playbooks -* Définition de tâches -* Utilisation de variables -* Handlers et Notify -* Notion de rôles - - -### 5. Les structures de contrôle -* Les facts -* Les boucles et conditions -* Les inclusions - - -### 6. Les Templates -* Jinja2 -* Filtres -* Tests - - -### 7. Notions avancées -* Ansible Vault -* Tester ses Playbooks Ansible -* Développer ses propres modules - - -## C'est parti !!! - -[La formation](index.html) - - -## Ressources internes - - -1. Formation Ansible SII -[https://gitlab.siinergy.net/sii-ouest/trainings/ansible](https://gitlab.siinergy.net/sii-ouest/trainings/ansible) - -2. Mattermost DevOps SII ouest -[https://mattermost.siinergy.net/ouest/channels/topic-devops](https://mattermost.siinergy.net/ouest/channels/topic-devops) diff --git a/Pepiniere/ansible/Formation/1.Introduction-ansible.md b/Pepiniere/ansible/Formation/1.Introduction-ansible.md deleted file mode 100644 index 02e6548..0000000 --- a/Pepiniere/ansible/Formation/1.Introduction-ansible.md +++ /dev/null @@ -1,206 +0,0 @@ - -# Ansible - -![Logo Ansible](images/logo-ansible.svg) - -Antoire Bouhier • Christian Tritten • Alban Berthout - - -## DevOps -## Infrastructure as Code - - -## DevOps - -* Mouvement qui consiste à promouvoir le dialogue et la collaboration entre les équipes _Dev_ et _Ops_. - -* Ensemble de bonnes pratiques et de principes -établis entre : - - - les équipes DEV (de développement) - - - les équipes OPS (d’exploitations) - -* L'objectif de DevOps est de _fluidifier le processus de déploiement_ d'une application. - - -## Les principaux axes du DevOps - -1. Améliorer la communication - Organisation • Collaboration • Partage d'outils communs • Conférences • Réunions - -2. Accepter et banaliser les erreurs - Droit à l'erreur • Responsabilité partagée - -3. Mettre en prod le plus souvent possible - Robustesse • Confiance - -4. Automatiser tout ce qui peut l'être - Tests • Cloud • Déploiements • Configuration • Chaos monkey - -5. Récolter des métriques et indicateurs -dans une optique d'amélioration continue - - -## Le champ d'application du DevOps -![devops](images/ci-vs-cd-devops-difference.jpg) - - -## Automatisation - -Traiter de manière automatique les opérations - -* de contrôle, - -* de régulation, - -* d’administration, - -avec peu ou pas d’intervention humaine. - - -## Intérêt de l'automatisation - -* Réduire la complexité - -* Réduire les possibilités d’erreurs humaine - -* Améliorer les performance d’un système - -* Augmenter la productivité et l’innovation - -* Améliorer la robustesse, l’agilité du déploiement - -* Réduire le TTM d’une application - - -## Infrastructure As Code - -* L'infrastructure cible peut-être décrite dans des fichiers de description à l'aide d'une syntaxe spécifique. - -* Il devient alors possible de gérer et de versionner chaque modification apportée à l'infrastructure. - -* Construire, reconstruire, modifier ou dupliquer une infrastructure s'en trouve d'autant simplifié. - -* Outils : Terraform, Ansible, Puppet, Docker, Kubernetes... - - -## Les outils de gestion de configuration - -* Permettent de contrôler l'ensemble des modifications apportées sur l’infrastructure d’une entreprise. - -* Assurent que cette infrastructure est configurée selon les bonnes spécifications. - -* Évitent l'apparition de trop grandes variations de configuration entre les serveurs. - - -## Quelques outils - -- CFEngine (1993) - -- Puppet (2005) - -- Chef (2009) - -- Ansible (2012) - - -## Ansible - -* Logiciel libre (GPL-3.0) - -* Initié en 2012 - - - Version 1.0 = 2013 - - - Version actuelle = 2.10 (2020), 2.9 pour Red Hat subscribers - -* Développé en Python -[https://github.com/ansible/ansible](https://github.com/ansible/ansible) - -* Forte communauté d'utilisateurs - - -* Ansible racheté par Red Hat en octobre 2015 - -* Red Hat racheté par IBM en octobre 2018 - - -* Ansible est un moteur d'automatisation permettant : - - - le provisionnement de logiciel, - - - la gestion de la configuration. - - -* Pas d'agent - - - utilise _SSH_ sur __Linux/Unix__ - - - utilise _WinRM_ sur __Windows__ - -* Mode _Push_ - Peut aussi fonctionner en _Pull_ (sur cibles Linux uniquement) - - -### Cibles Linux - -* La plupart des systèmes Linux sont supportés. - -* Connexion par SSH. - -* Pré-requis sur les machines cibles : - - - SSH server - - - Python 2.7 ou 3.5 - - -### Cibles Windows - -* Desktop : - Windows 7, 8.1, 10 - -* Server : - Windows Server 2008, 2008 R2, 2012, 2012 R2, 2016, 2019 - -* Connexion par WinRM. - -* Pré-requis sur les machines cibles : - - PowerShell 3.0 ou + - - .NET 4.0 ou + - - Un WinRM listener doit être créé et activé. - - -### Documentation pour Windows - -https://docs.ansible.com/ansible/latest/user_guide/windows.html - -### Liste des modules pour Windows -https://docs.ansible.com/ansible/2.9/modules/list_of_windows_modules.html -https://docs.ansible.com/ansible/latest/collections/ansible/windows/index.html - - -### Pourquoi utiliser Ansible ? - -* Maîtrise des actions exécutées sur les machines cibles. - -* Moins d'erreurs qu'avec des actions manuelles. - -* Simple à mettre en oeuvre. - -* Courbe d'apprentissage rapide. - -* Syntaxe déclarative (pas de scripting). - -* Libère les Ops des tâches répétitives. - - -### Sans outil de gestion de Configuration - -![Schéma connexion sans Ansible](images/manual-deployment-without-ansible.png) - - -### Avec Ansible - -![Schéma connexion avec Ansible](images/ansible-ad-hoc-deployment-workflow.png) diff --git a/Pepiniere/ansible/Formation/10.bonnes-pratiques.md b/Pepiniere/ansible/Formation/10.bonnes-pratiques.md deleted file mode 100644 index 728a1b9..0000000 --- a/Pepiniere/ansible/Formation/10.bonnes-pratiques.md +++ /dev/null @@ -1,85 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Bonnes pratiques - - -## Rester simple ! - - -## Rester clair ! - -- Apporter tout le soin nécessaire à la lisibilité du code Ansible. - -- Nommer toujours vos Plays et Tasks de manière précise et significative. - -- Privilégiez la syntaxe YAML native. -(Pas de : `name=httpd state=started enabled=yes`) - -- Ainsi fait, le code Ansible peut devenir la documentation de référence de votre workflow. - - -## Penser "déclaratif" - -- Ansible permet de décrire un _état désiré_. - -- Si vous essayez d'écrire du code dans vos playbooks et rôles, vous augmentez le risque d'échec. - -- Utilisez prioritairement les Modules Ansible chaque fois que c'est possible. - - -## Utiliser les Roles - -- Utilisez les Roles ! - -- Ils permettent un très bon découpage du code Ansible. - -- Ils permettent de gérer des variables par défaut pour les composants. - - -## Attention aux variables ! - -- Ansible permet de déclarer des variables dans une grande variété d'emplacements. Il devient facile de s'y perdre ! - -- Évitez de trop disperser les déclarations de variables dans le code Ansible. - -- Limitez les déclarations de variables à deux ou trois emplacements clés : - - 1. variables de groupes - 2. variables de rôles - -- Documenter précisément les variables que vous déclarez dans votre code Ansible. - - -## Eviter autant que possible les Modules "Commands" - -- Les modules de commandes génériques tels que `shell` ou `command` peuvent conduire à certains dysfonctionnements. En effet les commandes Shell : - - - ne sont pas toujours idempotentes. - - - s'exécuteront toujours et retourneront l'état `changed` (à moins de spécifier `changed_when`). - -- Les modules plus spécifiques sont souvent prévus pour être agnostique du système d'exploitation, ce qui permet d'augmenter la ré-utilisabilité du code. - - -## Eviter le module "lineinfile" - -- Utiliser les modules `copy` ou `template` plutôt que `lineinfile` ou `replace` - - - Pas besoin de connaître la syntaxe `regex`. - - - Permet de contrôler exactement le contenu du fichier final. - - -## Créer des fichiers d’inventaires séparés - -- Si vous devez gérer plusieurs environnements, créez des fichiers d'inventaires séparés afin d'éviter les problèmes ! - - -## Les bonnes pratiques selon Ansible - -https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html - - -## Autres bonnes pratiques - -https://www.serverraumgeschichten.de/2018/04/ansible-best-practices/ diff --git a/Pepiniere/ansible/Formation/2.installation-inventaire.md b/Pepiniere/ansible/Formation/2.installation-inventaire.md deleted file mode 100644 index e0da5a0..0000000 --- a/Pepiniere/ansible/Formation/2.installation-inventaire.md +++ /dev/null @@ -1,328 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Installation - - -## Installation d'Ansible -Environnement : CentOS 7 / 1vCPU / 512m RAM / 10G Disk - -```none -$ sudo yum -y install epel-release -$ sudo yum -y update -$ sudo yum -y install ansible -$ ansible --version -ansible 2.9.16 - config file = /etc/ansible/ansible.cfg - configured module search path = [u'/home/ansible/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] - ansible python module location = /usr/lib/python2.7/site-packages/ansible - executable location = /bin/ansible - python version = 2.7.5 (default, Nov 16 2020, 22:23:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] -``` - - -Environnement : CentOS 8 / 1vCPU / 768m RAM / 10G Disk - -```none -$ sudo dnf -y install epel-release -$ sudo dnf -y update -$ sudo dnf -y install ansible -$ ansible --version -ansible 2.9.16 - config file = /etc/ansible/ansible.cfg - configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] - ansible python module location = /usr/lib/python3.6/site-packages/ansible - executable location = /usr/bin/ansible - python version = 3.6.8 (default, Aug 24 2020, 17:57:11) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] -``` - - -## Configuration SSH - -![Schéma connexion ssh](images/ansible-archi-ssh.png) - - - -1. Génération d'une paire de clés SSH - -```none -ssh-keygen -Generating public/private rsa key pair. -Enter file in which to save the key (~/.ssh/id_rsa): -Created directory '/home/formation/.ssh'. -Enter passphrase (empty for no passphrase): -Enter same passphrase again: -Your identification has been saved in ~/.ssh/id_rsa. -Your public key has been saved in ~/.ssh/id_rsa.pub. -The key fingerprint is: -08:d5:a7:66:ca:a0:0c:6c:2f:40:2b:0f:25:de:cf:4c root@centos7 -The key's randomart image is: -+--[ RSA 2048]----+ -| .o o.. | -| o +Eo | -| + . | -| . + o | -| S o = * o| -| . o @.| -| . = o| -| . o | -| o. | -+-----------------+ -``` - -2. Copie de la clé publique sur les machines cibles - -```none -ssh-copy-id -i formation@10.6.214.70 -ssh-copy-id -i formation@10.6.214.72 -ssh-copy-id -i formation@10.6.214.73 -ssh-copy-id -i formation@10.6.214.74 -``` - - -## Configuration - - -Fichier | Description -- | - -`/etc/ansible/ansible.cfg` | Fichier de configuration global -`~/.ansible.cfg` | Fichier de surcharge par utilisateur -`/path/to/project/ansible.cfg` | Fichier de surcharge par projet - - -`/path/to/project/ansible.cfg` -```toml -[defaults] -log_path=./ansible.log -roles_path = ./roles:/opt/othersite/roles -retry_files_save_path=./retries/ -``` - -Exemple de surcharge locale de la configuration d'Ansible. - - - - -![Logo Ansible](images/logo-ansible.svg) -# Inventaire - -Fichier de déclaration des machines cibles à adresser. - - -## Objectifs de l'inventaire - -1. Déclarer la liste des machines à adresser. - -2. Déclarer et associer des variables à : - - - une machine en particulier, - - - un sous-ensemble des machines, - - - l'ensemble des machines. - - -![Inventaire](images/ansible-ad-hoc-multi-node-deployment.png) - - -* L'inventaire par défaut est défini dans le fichier `/etc/ansible/hosts`. - -* Il faut être _root_ pour pouvoir le modifier. - -* Il est également possible de créer un fichier inventaire à l'emplacement de notre choix. - - -* Il est aussi possible de gérer plusieurs inventaires correspondant à des plateformes différentes. -Dans le homedir de l'utilisateur Ansible par exemple : - - -```none -~/inventories/ -├── dev -│   └── hosts <----- inventaire de l'environnement de dev -├── qualif -│   └── hosts <----- inventaire de l'environnement de qualif -└── prod - └── hosts <----- inventaire de l'environnement de production -``` - - -## Déclaration de machines - -Adresse IP - -```none -10.6.214.70 -10.6.214.72 -10.6.214.73 -10.6.214.74 -``` - -Alias de la machine et adresse IP - -```none -lb.formation.sii.fr ansible_host=10.6.214.70 -web1.formation.sii.fr ansible_host=10.6.214.72 -web2.formation.sii.fr ansible_host=10.6.214.73 -bdd.formation.sii.fr ansible_host=10.6.214.74 -``` - -[https://docs.ansible.com/ansible/intro_inventory.html#hosts-and-groups](https://docs.ansible.com/ansible/intro_inventory.html#hosts-and-groups) - - -Variables possibles pour les connexions : - -* `ansible_host` -Le nom (si ce nom est différent de l'alias) ou l'adresse IP de la machine cible. - -* `ansible_port` -Le port ssh (si différent de 22). - -* `ansible_user` -L'utilisateur ssh à utiliser (si différent de l'utilisateur courant). - - -* `ansible_ssh_pass` -Le mot de passe ssh de l'utilisateur `ansible_user`. - -* `ansible_ssh_private_key_file` -La clé privée utilisée par ssh. Utile en cas d'utilisation de plusieurs clés et si on ne veut pas utiliser SSH agent. - - -## Déclaration de groupes de machines - -```toml -lb.formation.sii.fr ansible_host=10.6.214.70 -web1.formation.sii.fr ansible_host=10.6.214.72 -web2.formation.sii.fr ansible_host=10.6.214.73 -bdd.formation.sii.fr ansible_host=10.6.214.74 - -[lb] # groupe -lb.formation.sii.fr - -[web] -web[1:2].formation.sii.fr # exemple de raccourci - # d'écriture - -[db] -bdd.formation.sii.fr - -[formation:children] # groupe de groupes -lb -web -db -``` - - -## Groupes par défaut - -* `all` : contient toutes les machines. - -* `ungrouped` : contient toutes les machines qui n'appartiennent pas à un groupe (en dehors de `all`) - - -## Lancer une commande sur un groupe de machines spécifique - -```none -$ ansible formation -m ping -``` -```json -10.6.214.70 | SUCCESS => { - "changed": false, - "ping": "pong" -} -10.6.214.74 | SUCCESS => { - "changed": false, - "ping": "pong" -} -10.6.214.72 | SUCCESS => { - "changed": false, - "ping": "pong" -} -10.6.214.73 | SUCCESS => { - "changed": false, - "ping": "pong" -} -``` - - -## Variables de groupes - - -```ini -... -[web] -web[1-2].formation.sii.fr - -[db] -bdd.formation.sii.fr - -[formation:children] -web -db - -[formation:vars] # variables du groupe formation -ansible_user: "formation" -ansible_ssh_private_key_file: /home/formation/.ssh/id_rsa -``` - - -## Vérifier les variables de l'inventaire - - -```none -$ ansible-inventory -i inventories/formation/hosts --list --yaml -``` -```yaml -all: - children: - web: - hosts: - web1.formation.sii.fr: - ansible_become: 'yes' - ansible_become_pass: ansible - ansible_host: 192.168.56.102 - ansible_ssh_private_key_file: /home/ansible/.ssh/id_rsa - ansible_user: ansible - web2.formation.sii.fr: - ansible_become: 'yes' - ansible_become_pass: ansible - ansible_host: 192.168.56.103 - ansible_ssh_private_key_file: /home/ansible/.ssh/id_rsa - ansible_user: ansible - db: - hosts: - bdd.formation.sii.fr: - ansible_become: 'yes' - ansible_become_pass: ansible - ansible_host: 192.168.56.104 - ansible_ssh_private_key_file: /home/ansible/.ssh/id_rsa - ansible_user: ansible -``` - - -## Externaliser les variables - -A utiliser pour séparer les variables de la liste des machines. - - -```none -~/inventories/ - └── lab -    ├── group_vars -     │   ├── web <--- variables pour le groupe web -    │   └── db <--- variables pour le groupe db - ├── host_vars - │   ├── web1.formation.sii.fr <--- variables pour la machine web1 - │ └── web2.formation.sii.fr <--- variables pour la machine web2 -    └── hosts -``` - -Les dossiers `group_vars` et `host_vars` permettent l'organisation des fichiers de variables. - - - -## Travaux pratiques - -![Travaux pratiques](images/tp.gif) - -[TP Ansible : Inventaire](travaux-pratiques/tp-ansible-inventaire.html) diff --git a/Pepiniere/ansible/Formation/3.commandes-ad-hoc.md b/Pepiniere/ansible/Formation/3.commandes-ad-hoc.md deleted file mode 100644 index 3b085af..0000000 --- a/Pepiniere/ansible/Formation/3.commandes-ad-hoc.md +++ /dev/null @@ -1,384 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Commandes Ad-Hoc - -Exécuter des actions simples -sur un ensemble de machines. - - -## Les commandes Ad-Hoc ? - -* Commandes permettant l'exécution simple, rapide et ponctuelle de commandes unitaires. - -* Elles peuvent cibler - - - une seule machine, - - - un groupe de machines spécifique, - - - l'ensemble des machines présentes dans l'inventaire. - -* Elles se reposent sur les Modules Ansible. - - -## Les Modules Ansible - -* Unités de traitement réutilisables. - -* Permettent la réalisation d’une tâche précise. - -* Écrits en Python. - -* Code éprouvé. - -* Nombreux modules disponibles. - -* Possibilité d'écrire ses propres modules. - - -## Des centaines de modules disponibles ! - - -Cloud Modules • Clustering Modules • Commands Modules • Crypto Modules • -Database Modules • Files Modules • Identity Modules • Inventory Modules • -Messaging Modules • Monitoring Modules • Network Modules • Notification -Modules • Packaging Modules • Source Control Modules • Storage Modules • -System Modules • Utilities Modules • Web Infrastructure Modules • Windows -Modules • ... - - - -https://docs.ansible.com/ansible/2.9/modules/modules_by_category.html -https://docs.ansible.com/ansible/latest/collections/index.html - - -## Utilisation de modules - -`$ ansible -m [-a ]` - -* `` peut représenter : - - - une machine - - - toutes les machines (alias `all`) - - - un groupe - - - une expression - - -```none -$ ansible formation:\!web -m command -a "uname -r" -bdd.formation.sii.fr | SUCCESS | rc=0 >> -3.10.0-327.28.3.el7.x86_64 - -lb.formation.sii.fr | SUCCESS | rc=0 >> -3.10.0-327.28.3.el7.x86_64 -``` - - -## Module Command - -* À utiliser : - - * pour des commandes simples - * Pour recueillir des informations - -* Exemples : - - * Éteindre/redémarrer des serveurs - * Copier des fichiers - * Créer des users/groups - * Installer des packages - - -### Exemple - -Création rapide d'un utilisateur -sur un ensemble de machines -```none -$ ansible -m command -a "sudo useradd donald" 'formation' -10.6.214.70 | SUCCESS | rc=0 >> -10.6.214.73 | SUCCESS | rc=0 >> -10.6.214.74 | SUCCESS | rc=0 >> -10.6.214.72 | SUCCESS | rc=0 >> - -$ ansible -m command -a "useradd donald" 'formation' --become -``` - -`--become` permet de passer changer d'utilisateur -pour jouer la commande. - - -### Exemple - -Affichage des utilisateurs créés -```none -$ ansible -m command -a "grep donald /etc/passwd" 'formation' -10.6.214.74 | SUCCESS | rc=0 >> -donald:x:1009:1010::/home/donald:/bin/bash - -10.6.214.70 | SUCCESS | rc=0 >> -donald:x:1009:1010::/home/donald:/bin/bash - -10.6.214.72 | SUCCESS | rc=0 >> -donald:x:1009:1010::/home/donald:/bin/bash - -10.6.214.73 | SUCCESS | rc=0 >> -donald:x:1009:1010::/home/donald:/bin/bash -``` - - -## Documentation des modules - -* Recherche "ansible module nom-module" (Google) - -* `$ ansible-doc ` (CLI) - - - -## Travaux pratiques - -![Travaux pratiques](images/tp.gif) - -[TP Ansible : commandes ad-hoc bases](travaux-pratiques/tp-ansible-les-commandes-ad-hoc.html) - - -## Modules de commandes - - -Module (2.9) | Module (2.10) | Description -- | - | - -`command` | `ansible.builtin.command` | Executes a command on a remote node -`expect` | `ansible.builtin.expect` | Executes a command and responds to prompts. -`psexec` | `community.windows.psexec` | Runs commands on a remote Windows host based on the PsExec model -`raw` | `ansible.builtin.raw` | Executes a low-down and dirty SSH command -`script` | `ansible.builtin.script` | Runs a local script on a remote node after transferring it -`shell` | `ansible.builtin.shell` | Execute commands in nodes. -`telnet` | `ansible.netcommon.telnet` | Executes a low-down and dirty telnet command - -https://docs.ansible.com/ansible/2.9/modules/list_of_commands_modules.html - - -## Modules de gestion de fichiers - -Module (2.9) | Module (2.10) | Description -- | - | - -`blockinfile` | `ansible.builtin.blockinfile` | Insert/update/remove a text block surrounded by marker lines -`copy` | `ansible.builtin.copy` | Copies files to remote locations -`fetch` | `ansible.builtin.fetch` | Fetches a file from remote nodes -`file` | `ansible.builtin.file` | Sets attributes of files -`lineinfile` | `ansible.builtin.lineinfile` | Manage lines in text files -`replace` | `ansible.builtin.replace` | Replace all instances of a particular string in a file using a back-referenced regular expression. -`stat` | `ansible.builtin.stat` | Retrieve file or file system status -`template` | `ansible.builtin.template` | Templates a file out to a remote server -... | ... | ... - -https://docs.ansible.com/ansible/2.9/modules/list_of_files_modules.html - - -### Exemple - -Modifier les attributs d'un fichier sur les machines -du groupe formation - - -```none -$ ansible -m file -a "dest=/etc/foo mode=0660 owner=root group=root" \ - formation - -10.6.214.72 | SUCCESS => { - "changed": true, - "gid": 0, - "group": "root", - "mode": "0660", - "owner": "root", - "path": "/etc/foo", - "secontext": "system_u:object_r:net_conf_t:s0", - "size": 158, - "state": "file", - "uid": 0 -... -} -``` - - -## Modules de gestion de paquets - -https://docs.ansible.com/ansible/2.9/modules/list_of_packaging_modules.html - - -### Paquets Debian / Ubuntu - -Module (2.9) | Module (2.10) | Description -- | - | - -`apt` | `ansible.builtin.apt` | Manages apt-packages -`apt_key` | `ansible.builtin.apt_key` | Add or remove an apt key -`apt_repository` | `ansible.builtin.apt_repository` | Add and remove APT repositories -`dpkg_selections` | `ansible.builtin.dpkg_selections` | Dpkg package selection selections -`package` | `ansible.builtin.package` | Generic OS package manager -`package_facts` | `ansible.builtin.package_facts` | Package information as facts - - - -### Paquets RedHat / CentOS / Fedora -Module (2.9) | Module (2.10) | Description -- | - | - -`dnf` | `ansible.builtin.dnf` | Manages packages with the dnf package manager -`yum` | `ansible.builtin.yum` | Manages packages with the yum package manager -`yum_repository` | `ansible.builtin.yum_repository` |Add or remove YUM repositories -`redhat_subscription` | `community.general.redhat_subscription` | Manage registration and subscriptions to RHSM using subscription-manager -`rhn_channel` | `community.general.rhn_channel` | Adds or removes Red Hat software channels -`rhn_register` | `community.general.rhn_register` | Manage RHN registration using rhnreg_ks -`rhsm_repository` | `community.general.rhsm_repository` | Manage RHSM repositories using subscription-manager -`rpm_key` | `ansible.builtin.rpm_key` | Adds or removes a gpg key from the rpm db -`package` | `ansible.builtin.package` | Generic OS package manager -`package_facts` | `ansible.builtin.package_facts` | Package information as facts - - - -### Paquets Suse / OpenSuse -Module (2.9) | Module (2.10) | Description -- | - | - -`zypper` | `community.general.zypper` | Manage packages on SUSE and openSUSE -`zypper_repository` |`community.general.zypper_repository` | Add and remove Zypper repositories -`package` | `ansible.builtin.package` | Generic OS package manager -`package_facts` | `ansible.builtin.package_facts` | Package information as facts - - - -### Paquets relatifs à des langages de programmation -Module (2.9) | Module (2.10) | Description -- | - | - -`cpanm` | `community.general.cpanm` | Manages Perl library dependencies. -`gem` | `community.general.gem` | Manage Ruby gems -`npm` | `community.general.npm` | Manage node.js packages with npm -`pip` |`ansible.builtin.pip` | Manages Python library dependencies -... | ... | ... - - -### Exemple -Vérification de la présence d'un paquet - -```none -$ ansible -m yum -a "name=vim state=present" 'formation' -10.6.214.70 | SUCCESS => { - "changed": true, - "rc": 0, - "results": [ - ... - Installing : - 2:vim-filesystem-7.4.160-1.el7_3.1.x86_64 - 2:vim-common-7.4.160-1.el7_3.1.x86_64 - gpm-libs-1.20.7-5.el7.x86_64 - 2:vim-enhanced-7.4.160-1.el7_3.1.x86_64 - - Installed: - vim-enhanced.x86_64 2:7.4.160-1.el7_3.1 - Dependency Installed: - gpm-libs.x86_64 0:1.20.7-5.el7 - vim-common.x86_64 2:7.4.160-1.el7_3.1 - vim-filesystem.x86_64 2:7.4.160-1.el7_3.1 - - Complete!" - ] -} -``` - - -## Modules de gestion de code -* git -* subversion -* hg - -Ces modules permettent de cloner des dépôts de code. - -https://docs.ansible.com/ansible/2.9/modules/list_of_source_control_modules.html - - - -## Modules de gestion du système - -https://docs.ansible.com/ansible/2.9/modules/list_of_system_modules.html - - - -### Utilisateurs et groupes -Module (2.9) | Module (2.10) | Description -- | - | - -`user` | `ansible.builtin.user` | Manage user accounts -`group` | `ansible.builtin.group` | Add or remove groups - - - -### Stockage -Module (2.9) | Module (2.10) | Description -- | - | - -`parted` | `community.general.parted` | Configure block device partitions -`lvg` | `community.general.lvg` | Configure LVM volume groups -`lvol` | `community.general.lvol` | Configure LVM logical volumes -`filesystem` | `community.general.filesystem` | Makes a filesystem - - - -### Services -Module (2.9) | Module (2.10) | Description -- | - | - -`service` | `ansible.builtin.service` | Manage services -`service_facts` | `ansible.builtin.service_facts` | Return service state information as fact data -`systemd` | `ansible.builtin.systemd` | Manage services -`sysvinit` | `ansible.builtin.sysvinit` | Manage SysV services - - - -### Réseau -Module (2.9) | Module (2.10) | Description -- | - | - -`ping` | `ansible.builtin.ping` | Try to connect to host, verify a usable python and return pong on success -`hostname` | `ansible.builtin.hostname` | Manage hostname -`firewalld` | `ansible.posix.firewalld` | Manage arbitrary ports/services with firewalld -`iptables` | `ansible.builtin.iptables` | Modify the systems iptables - - - -### Configuration SSH -Module (2.9) | Module (2.10) | Description -- | - | - -`authorized_key` | `ansible.posix.authorized_key` | Adds or removes an SSH authorized key -`known_hosts` | `ansible.builtin.known_hosts` | Add or remove a host from the known_hosts file - - -### Divers - -Module (2.9) | Module (2.10) | Description -- | - | - -`cron` | `ansible.builtin.cron` | Manage cron.d and crontab entries -`reboot` | `ansible.builtin.reboot` | Reboot a machine -`setup` | `ansible.builtin.setup` | Gathers facts about remote hosts -`timezone` | `community.general.timezone` | Configure timezone setting - - -### Exemple - -Récupération des _facts_ de machines distantes -```none -$ ansible -m setup 'formation' -10.6.214.70 | SUCCESS => { - "ansible_facts": { - "ansible_all_ipv4_addresses": [ - "10.6.214.70" - ], - "ansible_all_ipv6_addresses": [ - "fe80::250:56ff:fe9d:1ae5" - ], - "ansible_architecture": "x86_64", - "ansible_bios_date": "09/17/2015", - "ansible_bios_version": "6.00", - "ansible_cmdline": { - "BOOT_IMAGE": "/vmlinuz-3.10.0-327.28.3.el7.x86_64", - "LANG": "fr_FR.UTF-8", - "crashkernel": "auto", - "quiet": true, - "rd.lvm.lv": "rootvg/slashlv", - "rhgb": true, -``` diff --git a/Pepiniere/ansible/Formation/4.playbooks.md b/Pepiniere/ansible/Formation/4.playbooks.md deleted file mode 100644 index 6215943..0000000 --- a/Pepiniere/ansible/Formation/4.playbooks.md +++ /dev/null @@ -1,578 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Playbooks Ansible - -Jouer et rejouer facilement un jeu de commandes prédéfini sur un ensemble de machines. - - -![Schéma archi globale](images/ansible-archi-playbooks.png) - - -## Format du Playbook - -* Il se présente sous la forme d'un simple fichier texte au format `yaml`. - -* Il peut donc être facilement versionné dans un outil de gestion de version. - - -### yaml - -* Format ouvert de représentation de données. - -* Acronyme récursif de _YAML Ain't Markup Language_. - -* Permet de représenter des données complexes tout en conservant une excellente lisibilité. - -* Utilisation en forte progression ces dernières années. - Ansible, GitLab, Docker Compose, Kubernetes manifests, etc... - -* Site officiel : https://yaml.org/ - - -### YAML basics - -https://fr.wikipedia.org/wiki/YAML - -* _attention_ ! l'indentation se fait avec un ou plusieurs espaces, jamais avec des tabulations ! - -* Les commentaires sont signalés par le signe dièse `#` et se prolongent sur toute la ligne. - -* Les éléments de listes sont dénotés par le tiret `-`, suivi d'une espace, à raison d'un élément par ligne. - -* Les tableaux sont de la forme `clé: valeur`, à raison d'un couple par ligne. - - -### YAML basics - -https://fr.wikipedia.org/wiki/YAML - -* Les chaînes de caractères peuvent être entourées de guillemets doubles `"`, ou simples `'`, sachant qu'un guillemet s'échappe avec un antislash `\`, alors qu'une apostrophe s'échappe avec une autre apostrophe. - -* Les chaînes de caractères peuvent de plus être représentées par un bloc indenté avec des modificateurs facultatifs pour conserver `|` ou éliminer `>` les retours à la ligne. - -* Plusieurs documents rassemblés dans un seul fichier sont séparés par trois traits d'union `---`. - - -### YAML basics - -https://fr.wikipedia.org/wiki/YAML - - -``` ---- -receipt: Oz-Ware Purchase Invoice -date: 2012-08-06 -customer: - given: Dorothy - family: Gale - -items: - - part_no: A4786 - descrip: Water Bucket (Filled) - price: 1.47 - quantity: 4 - - - part_no: E1628 - descrip: High Heeled "Ruby" Slippers - size: 8 - price: 100.27 - quantity: 1 - -bill-to: &id001 - street: | - 123 Tornado Alley - Suite 16 - city: East Centerville - state: KS - -ship-to: *id001 - -specialDelivery: > - Follow the Yellow Brick - Road to the Emerald City. - Pay no attention to the - man behind the curtain. -... -``` - - -### yaml - Définition d’une collection (-) - - -```yaml -# Une liste de fruits -fruits: - - pomme - - orange - - framboise - - mangue -``` - -Forme abrégée : -```yaml -# Une liste de fruits -fruits: ['pomme', 'orange', 'framboise', 'mangue'] -``` - - -### Définition d’un dictionnaire (key: value) - - -```yaml -# Un utilisateur -martin: - name: Martin Dupond - job: developer - skill: python -``` - -Forme abrégée : -```yaml -# Un utilisateur -martin: { name: Martin Dupond, job: developer, skill: python } -``` - - -## Tasks - -* Les commandes d'un Playbook sont découpées en instructions unitaires appelées _tâches_ (tasks). - -* Chaque tâche exécute un module Ansible avec des paramètres spécifiques. - -* Format d'une tâche : - -```none -- name: Description de la tâche - : - : - : - : -``` - - -### Liste de tâches - -* Un playbook peut décrire une liste de plusieurs tâches. - -* Les tâches seront exécutées dans l'ordre d'apparition et de façon séquentielle sur chacune des machines cibles. - -```none -tasks: <----------------------------- liste de tâche - - - name: Ma tâche 1 <--------------- tâche 1 - : - : - : - : - - - name: Ma tâche 2 <--------------- tâche 2 - : - : - : -``` - - -### Exemple réel - -```yaml -- hosts: web # exécution d'un 'Play' sur le groupe 'web' - tasks: - - name: Installation of Apache Package # tâche 1 - yum: - name: httpd - state: present - update_cache: yes - - - name: Ensure Apache is running (and enabled at boot) # tâche 2 - service: name=httpd state=started enabled=yes -``` - -* Ici on mixe les deux types de syntaxes (normale et abrégée). -* __Les bonnes pratiques préconisent l'utilisation de la syntaxe normale.__ - - -### Exemple réel -avec syntaxe normale - -```yaml -- hosts: web - tasks: - - name: Installation of Apache Package - yum: - name: httpd - state: present - update_cache: yes - - - name: Ensure Apache is running (and enabled at boot) - service: - name: httpd - state: started - enabled: yes -``` - - -### Notion de Play - - -```yaml ---- -- hosts: webservers # Play 1 sur le groupe webservers - tasks: - - name: My task - ... - -- hosts: databases # Play 2 sur le groupe databases - tasks: - - name: My task... - ... -``` - -* Chaque Play contient sa propre liste de tâches et cible un ensemble spécifique de machines. - - -## Lancer un playbook - -`$ ansible-playbook -i ` - - -```none -$ ansible-playbook playbook.yaml -i ./hosts - -PLAY [web] ******************************************************************* - -TASK [setup] ***************************************************************** -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [Installation du package Apache] **************************************** -changed: [web2.formation.sii.fr] -changed: [web1.formation.sii.fr] - -TASK [Ensure Apache is running (and enable it at boot)] ********************** -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -PLAY RECAP ******************************************************************* -web1.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -web2.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -``` - -* Notre Playbook comportait 2 tâches seulement, nous en voyons 3 ! - -* Ansible a automatiquement ajouté à l'exécution une tâche nommée _setup_ dont l'objectif est de récupérer les _facts_ des machines cibles. - - - -## Récapitulatif du Playbook - - -```none -PLAY RECAP ******************************************************************* -web1.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -web2.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -``` - -* Sur les 2 machines cibles : - - - `ok` : 3 tâches ont été exécutées avec succès. - - `changed` : 2 tâches ont modifié l'état du système. - - `unreachable` : Toutes les machines étaient joignables. - - `failed` : Aucune tâche n'a échoué. - - -## Relancer un playbook - - -```none -$ ansible-playbook playbook.yaml -i ./hosts --become - -PLAY [web] ******************************************************************* - -TASK [setup] ***************************************************************** -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [Installation du package Apache] **************************************** -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [Ensure Apache is running (and enable it at boot)] ********************** -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -PLAY RECAP ******************************************************************* -web1.formation.sii.fr : ok=3 changed=0 unreachable=0 failed=0 -web2.formation.sii.fr : ok=3 changed=0 unreachable=0 failed=0 -``` - - -## Première exécution - - -```none -PLAY RECAP ******************************************************************* -web1.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -web2.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -``` - -## Seconde exécution - -```none -PLAY RECAP ******************************************************************* -web1.formation.sii.fr : ok=3 changed=0 unreachable=0 failed=0 -web2.formation.sii.fr : ok=3 changed=0 unreachable=0 failed=0 -``` - - -## Ordre d'exécution - -* Il est possible de contrôler l'ordre dans lequel les machines cibles sont adressées. - -* L'ordre par défaut est l'ordre d'apparition dans l'inventaire. - -```yaml -- hosts: all - order: sorted # l'ordre est défini ici - gather_facts: False - tasks: - - debug: - var: inventory_hostname -``` - - -Ordre | Description -- | - -`inventory` | Ordre d'apparition dans l'inventaire. C'est le choix par défaut. -`reverse_inventory` | Ordre inverse d'apparition dans l'inventaire. -`sorted` | Ordre alphabétique des noms de machines. -`reverse_sorted` | Ordre alphabétique inverse des noms de machines. -`shuffle` | Ordre aléatoire. - - -## Démarrer l'exécution à un endroit précis - -`$ ansible-playbook playbook.yaml --start-at-task="my task"` - -Cette commande démarre l'exécution du playbook à partir de la tâche nommée `my task`. - -https://docs.ansible.com/ansible/latest/user_guide/playbooks_startnstep.html - - -## Ignorer le code de retour d'une commande - -* Les modules _command_ et _shell_ sont sensibles au code de retour des commandes. - -* Pour ignorer les erreurs sur une commande qui renvoie un code > 0 on peut utiliser `ignore_errors`. - -* Ou, utiliser `failed_when`. - -* De même, `changed_when` peut être utilisé. - -```yaml -tasks: - - name: run this command and ignore the result - shell: /usr/bin/somecommand - ignore_errors: True -``` - - -## Déclaration de variables - -```yaml -- hosts: web - vars: - - app_directory: /var/www/html - - app_user: apache - - app_group: apache - - tasks: - - name: Modify permission on {{ app_directory }} - file: - dest: '{{ app_directory }}' - mode: 0755 - owner: '{{ app_user }}' - group: '{{ app_group }}' - recurse: yes -``` - -Les variables sont déclarées dans _vars_ -et résolues avec `{{ }}`. - - - -```none -$ ansible-playbook playbook.yaml -i ./hosts - -PLAY [web] **************************************************************** - -TASK [setup] ************************************************************** -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [Modify permission of directory /var/www/html] *********************** -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -PLAY RECAP **************************************************************** -web1.formation.sii.fr : ok=2 changed=1 unreachable=0 failed=0 -web2.formation.sii.fr : ok=2 changed=1 unreachable=0 failed=0 -``` - - -## Les _handlers_ et les _notify_ - - -```yaml -- hosts: web - vars: - - apache_listen_port: 8080 - - tasks: - - name: Modify Apache configuration - lineinfile: - dest: /etc/httpd/conf/httpd.conf - regexp: '^Listen ' - line: 'Listen {{ apache_listen_port }}' - notify: Reload Apache # Signale que la configuration - # d'Apache doit être rechargée - handlers: - - name: Reload Apache # Recharge la configuration - service: - name: httpd - state: reloaded -``` - - - -```none -$ ansible-playbook playbook.yaml -i ./hosts - -PLAY [web] ******************************************************************* - -TASK [setup] ***************************************************************** -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [Modify Apache configuration] ******************************************* -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -RUNNING HANDLER [Reload Apache] ********************************************* -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -PLAY RECAP ******************************************************************* -web1.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -web2.formation.sii.fr : ok=3 changed=2 unreachable=0 failed=0 -``` - - -## Idempotence - -* L'idempotence signifie qu'une opération a le même effet qu'on l'applique une ou plusieurs fois. - -* Les commandes d'un Playbook doivent être écrites de manière à produire le même résultat quel que soit le nombre de fois où elles sont exécutées sur une même cible. - - - -## Travaux pratiques - -![Travaux pratiques](images/tp.gif) - -[TP Ansible : playbooks](travaux-pratiques/tp-ansible-playbooks.html) - - -## Variables sur la ligne de commande - -Il est possible d'initialiser des variables directement sur la ligne de commande avec l'option `--extra-vars` (ou `-e`). - - -* Ces variables peuvent être définies sous la forme : - - - chaîne de caractères - - `$ ansible-playbook playbook.yaml --extra-vars "my_var_1=foo my_var_2=bar"` - - - json - - `$ ansible-playbook playbook.yaml --extra-vars '{"my_var_1":"foo","my_var_2":"bar"}'` - - `$ ansible-playbook playbook.yaml --extra-vars '{"my_var":"foo","my_list":["foo","bar"]}'` - - -* Utilisez le fomat _json_ si vous voulez passer autre chose que des _strings_ : - - - booleans - - integers - - floats - - lists - - ... - - -## Découper un Playbook - -* Un Playbook peut se présenter sous la forme d'un fichier unique. - -* Toutefois il est possible de le découper en plusieurs fichiers séparés afin de mieux organiser et favoriser la ré-utilisation de certaines parties. - -* Il existe plusieurs manières de découper un Playbook : -les _includes_, les _imports_, et les _roles_. - -https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse.html - - -### Includes et Imports - -* Disponibles à partir de Ansible v2.4. - -* Permettent le découpage des tâches d'un gros Playbook en fichiers plus petits. - -* Ces fichiers peuvent ensuite être appelés : - - - depuis un ou plusieurs Playbooks - - - plusieurs fois dans un même Playbook. - - -### Import dynamique vs statique - -* Les commandes `import` permettent -un chargement statique. -(import_playbook, import_tasks, etc.) - -* Les commandes `include` permettent -un chargement dynamique. -(include_tasks, include_role, etc.) - - -### Statique vs Dynamique - -* _Statique_ -Ansible traite les imports statique au moment de l'analyse du Playbook (avant l'exécution). - -* _Dynamique_ -Ansible traite les imports dynamiques au fur et à mesure durant l'exécution du Playbook. - -* Les imports statiques et dynamiques peuvent être mixés, toutefois cela n'est pas recommandé car cela rend le debug des Playbooks plus complexe. - - -### Import de Playbooks - -* Il est possible d'importer un ou plusieurs Playbooks à l'intérieur d'un Playbook maître, avec `import_playbook`. - - -### Roles - -* Plus puissants que les _includes_ et les _imports_. - -* Permettent d'empaqueter un ensemble de tâches ainsi que les variables, handlers et autres autres éléments associés. - -* Les _roles_ peuvent être facilement ré-utilisés et partagés. - - - -## Travaux pratiques - -![Travaux pratiques](images/tp.gif) - -[TP Ansible : imports](travaux-pratiques/tp-ansible-imports.html) diff --git a/Pepiniere/ansible/Formation/5.roles.md b/Pepiniere/ansible/Formation/5.roles.md deleted file mode 100644 index 70fcf33..0000000 --- a/Pepiniere/ansible/Formation/5.roles.md +++ /dev/null @@ -1,409 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Roles Ansible - -Les Roles permettent d'organiser les instructions Ansible de manière à favoriser leur ré-utilisabilité. - - -![Schéma archi globale](images/ansible-archi-roles.png) - - -## Qu'est-ce qu'un Role ? - -* Un Role Ansible défini une action précise telle que : - - - Installer et configurer un serveur Apache - - - Installer et configurer un serveur Mariadb - -* Un Role Ansible peut être appelé dans un ou plusieurs Playbook. - - -## Avantages des Roles - -* Organisation - - Découpage en plusieurs dossiers et fichiers - - Facilite la compréhension et la maintenance du code. - -* Ré-utilisabilité - - Les Roles peuvent facilement être ré-utilisés au sein de plusieurs Playbooks. - -* Partage - - Les Roles peuvent être partagés sous la forme de catalogues. - - -## Organisation d'un Role - -```none -roles/ -├── my-role -│   ├── README.md -│   ├── defaults <= Variables par défaut du Role -│   │   └── main.yaml -│   ├── files <= Fichiers pouvant être déployés par le Role -│   │   └── my-file.yaml -│   ├── handlers <= Handlers à exécuter -│   │   └── main.yaml -│   ├── meta <= Métadonnées sur le Role -│   │   └── main.yaml -│   ├── tasks <= Tâches à exécuter -│   │   └── main.yaml -│   └── templates <= Templates de fichiers -│   │ └── my-template.j2 -│   └── vars <= Autres variables pour le Role -│   └── main.yaml -``` - - -* Un Role doit inclure au minimum un des dossiers suivants -`defaults`, `files`, `handlers`, `tasks`, `templates`, `vars`. - -* Si un dossier est déclaré, il doit contenir au minimum un fichier nommé `main.yaml`. - - -## Utiliser un Role - -La méthode classique est la suivante : - -`playbook.yaml` -```yaml -- hosts: my-group-of-servers - roles: - - my-role-1 - - my-role-2 -``` - - -## Ordre d'exécution des tâches - -L'ordre d'exécution des tâches -dans un Playbook est le suivant : - -1. Tâches définies dans `pre_tasks` - -2. Handlers déclenchés jusque là - -3. Tâches définies dans `roles` - -4. Tâches définies dans le playbook (`tasks`) - -5. Handlers déclenchés jusque là - -6. Tâches définies dans `post_tasks` - -7. Handlers déclenchés jusque là - - -## pre_tasks, post_tasks -* _tasks_ -Tâches définies dans la section `tasks`. Elles sont lancées après les Rôles et avant les tâches définies dans `post_tasks`. - -* _pre_tasks_ -Tâches lancées avant les Rôles. - -* _post_tasks_ -Tâches lancées après les tâches de la section `tasks` -(et donc après les Rôles). - - -## Exemple -Définition de pre_tasks, roles, tasks et post_tasks. - - -```yaml -- hosts: ansible-1 - pre_tasks: - - name: Pre tasks - debug: - msg: 'I am executed before the Roles.' - roles: - - my-role - tasks: - - name : Tasks - debug: - msg: 'I am executed right after the Roles and just before the Post Tasks.' - post_tasks: - - name: Post tasks - debug: - msg: 'I am executed after the main Tasks.' -``` - -L'ordre de déclaration n'a pas d'importance. - - -## Ordre réel d'exécution - -```none -$ ansible-playbook -v -i inventories/formation/hosts my-playbook.yaml - -PLAY [ansible-1] ******************************************************* - -TASK [Pre tasks] *************************************************************** -ok: [ansible-1] => { - "msg": "I am executed before the Roles." -} - -TASK [my-role : Role] ********************************************************** -ok: [ansible-1] => { - "msg": "I am running after Pre Tasks and before Tasks." -} - -TASK [Tasks] ******************************************************************* -ok: [ansible-1] => { - "msg": "I am executed right after the Roles and just before the Post Tasks." -} - -TASK [Post tasks] ************************************************************** -ok: [ansible-1] => { - "msg": "I am executed after the main Tasks." -} -... -``` - - -## Exemple de découpage en Roles - -`playbook.yaml` -```yaml -- hosts: web - roles: - - apache - - wordpress -``` - -Le Playbook exécute les Roles `apache` et `wordpress`. - - -### Tâches du Role apache - -`roles/install-apache/tasks/install.yaml` -```yaml -- name: Installation of Apache Package - yum: - name: httpd - state: present - update_cache: yes - -- name: Ensure Apache is running (and enable it at boot) - service: - name: httpd - state: started - enabled: yes -``` - - -### Tâches du Role apache (suite) - -`roles/configure-apache/tasks/configure.yaml` -```yaml -- name: Modify permission of directory {{ app_directory }} - file: - dest: '{{ app_directory }}' - mode: 0755 - owner: '{{ app_user }}' - group: '{{ app_group }}' - recurse: yes - -- name: Modify Apache configuration - lineinfile: - dest: /etc/httpd/conf/httpd.conf - regexp: '^Listen ' - line: 'Listen {{ apache_listen_port }}' - notify: Reload Apache -``` - - -### Variables du Role apache - -`roles/configure-apache/vars/main.yaml` -```yaml -apache_listen_port: 8081 -app_directory: /var/www/html -app_user: apache -app_group: apache -``` - - -### Handlers du Role apache - -`roles/configure-apache/handlers/main.yaml` -```yaml -- name: Reload Apache - service: - name: httpd - state: reloaded -``` - - -### Exécution du playbook - -```none -$ ansible-playbook -i ./hosts playbook.yaml - -PLAY [web] ********************************************************************* - -TASK [setup] ******************************************************************* -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [apache : Installation of Apache Package] ********************************* -ok: [web2.formation.sii.fr] -ok: [web1.formation.sii.fr] - -TASK [apache : Ensure Apache is running (and enable it at boot)] *************** -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [apache : Modify permission of directory /var/www/html] ******************* -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [apache : Modify Apache configuration] ************************************ -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -RUNNING HANDLER [apache : Reload Apache] *************************************** -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -PLAY RECAP ********************************************************************* -web1.formation.sii.fr : ok=6 changed=2 unreachable=0 failed=0 -web2.formation.sii.fr : ok=6 changed=2 unreachable=0 failed=0 -``` - -Les Roles sont exécutés séquentiellement. - - -## Importer des fichiers de tâches - -* Dans un Role le fichier `tasks/main.yaml` peut appeler d'autres fichiers contenant des tâches avec `import_tasks` ou `include_tasks`. - -* Exemple : - -`roles/my-role/tasks/main.yaml` -```yaml -tasks: -- import_tasks: install.yaml -- import_tasks: configure.yaml -# ou -- include_tasks: install.yaml -- include_tasks: configure.yaml -``` - - -## Gérer un import par type d'OS - -* L'import de tâches permet notamment de gérer les différences d'implémentations entre systèmes. - -* Exemple : - -`roles/my-role/tasks/main.yaml` -```yaml -- name: specific redhat/centos tasks - import_tasks: redhat.yaml - when: ansible_facts['os_family']|lower == 'redhat' - -- name: specific debian/ubuntu tasks - import_tasks: debian.yaml - when: ansible_facts['os_family']|lower == 'debian' -``` - - -`roles/my-role/tasks/redhat.yaml` -```yaml -- yum: - name: "httpd" - state: present -``` - -`roles/my-role/tasks/debian.yaml` -```yaml -- apt: - name: "apache2" - state: present -``` - - -Il est possible de passer des variables aux tâches importées : - -```yaml -tasks: -- import_tasks: wordpress.yaml - vars: - wp_user: bob -``` - - -## Exécution partielle d'un Playbook - - -* L'utilisation de _tags_ permet l'exécution ciblée d'un sous-ensemble de tâches. - -```yaml -- hosts: web - roles: - - { role: install-apache, tags: install } - - { role: configure-apache, tags: [install, configure] } -``` - - -* Lors du lancement du playbook, le ciblage s'effectue avec `--tags` ou `--skip-tags`. - - -```none -$ ansible-playbook playbook.yaml -i ./hosts --tags configure - -PLAY [web] ********************************************************************* - -TASK [setup] ******************************************************************* -ok: [web1.formation.sii.fr] -ok: [web2.formation.sii.fr] - -TASK [configure-apache : Modify permission of directory /var/www/html] ********* -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -TASK [configure-apache : Modify Apache configuration] ************************** -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -RUNNING HANDLER [configure-apache : Reload Apache] ***************************** -changed: [web1.formation.sii.fr] -changed: [web2.formation.sii.fr] - -PLAY RECAP ********************************************************************* -web1.formation.sii.fr : ok=4 changed=3 unreachable=0 failed=0 -web2.formation.sii.fr : ok=4 changed=3 unreachable=0 failed=0 -``` - - -## Dépendances entre Roles - -* Un Role peut dépendre d'un ou plusieurs autres Roles. - -* Les dépendances d'un Role peuvent être indiquées dans le fichier : `roles/mon-role/meta/main.yaml` - - -`roles/my-appli/meta/main.yaml` -```yaml -dependencies: - - role: common - - role: apache - vars: - apache_port: 80 -``` - -* Ici les Roles `common` et `apache` seront exécutés -avant le role `mon-appli`. - -* Attention : les Roles marqués en dépendances -seront exécutés sur les mêmes machines cibles -que le Role `mon-appli`. - - -## Travaux pratiques - - -![Travaux pratiques](images/tp.gif) - -[TP Ansible : roles](travaux-pratiques/tp-ansible-roles.html) diff --git a/Pepiniere/ansible/Formation/6.structures-de-controle.md b/Pepiniere/ansible/Formation/6.structures-de-controle.md deleted file mode 100644 index 2beb64a..0000000 --- a/Pepiniere/ansible/Formation/6.structures-de-controle.md +++ /dev/null @@ -1,385 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Structures de contrôle - - -## _Facts_ - -* Variables délivrées par le système distant : - - - Adresses IP - - - Système d'exploitation - - - ... - - -## Facts - module setup - -* Liste des informations disponibles : module _setup_ - - -```none -$ ansible my-host -i ./hosts -m setup -my-host | SUCCESS => { - "ansible_facts": { - "ansible_all_ipv4_addresses": [ - "10.6.214.74" - ], - "ansible_all_ipv6_addresses": [ - "fe80::250:56ff:fe9d:1aaa" - ], - "ansible_architecture": "x86_64", - ... -``` - - -### Facts pour la gestion multi-os - -* `ansible_pkg_mgr` : Le gestionnaire de paquets - -* `ansible_os_family` : La famille d'OS - -* `ansible_distribution` : Information détaillées sur la distribution - - -### Gestionnaire de paquets - - -```none -$ ansible my-host -i ./hosts -m setup | grep ansible_pkg_mgr - "ansible_pkg_mgr": "yum", -``` - - -### Famille d'OS - - -```none -$ ansible my-host -i ./hosts -m setup | grep ansible_family - "ansible_os_family": "RedHat", -``` - - -### Distribution - - -```none -$ ansible my-host -i ./hosts -m setup | grep ansible_distribution - "ansible_distribution": "CentOS", - "ansible_distribution_file_parsed": true, - "ansible_distribution_file_path": "/etc/redhat-release", - "ansible_distribution_file_variety": "RedHat", - "ansible_distribution_major_version": "7", - "ansible_distribution_release": "Core", - "ansible_distribution_version": "7.5.1804", -``` - - -### Exemple d'aiguillage multi-OS - - -Arborescence du rôle -```none -my-role -├── README.md -├── tasks -│   ├── CentOS.yaml -> RedHat.yaml -│   ├── Debian.yaml -│   ├── main.yaml -│   ├── RedHat.yaml -│   └── Ubuntu.yaml -> Debian.yaml -└── vars -   ├── CentOS-6.yaml -   ├── CentOS-7.yaml -   ├── Debian-8.yaml -   ├── Debian-9.yaml -   ├── RedHat-6.yaml -   ├── RedHat-7.yaml -   └── Ubuntu-16.yaml -``` - - - -`my-role/tasks/main.yaml` -```yaml -- name: Add the OS specific variables - include_vars: '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yaml' - -- include_tasks: '{{ansible_distribution}}.yaml' -``` - - -## Utilisation des _conditionals_ - -* Action déclenchée de manière conditionnelle -(en fonction du résultat d’une variable). - -* Utilisation de _when_. - -https://docs.ansible.com/ansible/playbooks_conditionals.html - - -### Exemple - -```yaml -- hosts: web - tasks: - - name: Install Apache for CentOS system - yum: - name: httpd - state: present - update_cache: yes - when: - - ansible_os_family == "RedHat" # sera joué sur RedHat et Centos - - name: Install Apache for Ubuntu system - apt: - name: apache2 - state: present - update_cache: yes - when: - - ansible_os_family == "Debian" # sera joué sur Debian et Ubuntu -``` -Chaque tâche cible une famille -de système d'exploitation précise. - - - -```none -$ ansible-playbook playbook.yaml -i ./hosts - -PLAY [web] ******************************************************************* - -TASK [setup] ***************************************************************** -ok: [centos-vm] -ok: [ubuntu-vm] - -TASK [Install Apache for CentOS system] ************************************** -ok: [centos-vm] -skipping: [ubuntu-vm] - -TASK [Install Apache for Ubuntu system] ************************************** -skipping: [centos-vm] -ok: [ubuntu-vm] - -PLAY RECAP ******************************************************************* -centos-vm : ok=2 changed=0 unreachable=0 failed=0 -ubuntu-vm : ok=2 changed=0 unreachable=0 failed=0 -``` - -Les tâches sont exécutées ou non en fonction -de la famille du système d'exploitation. - - -## Utilisation des _loops_ - -* Boucles pour la réalisation d'actions répétitives. - -* Permet de faire plusieurs actions dans une seule tâche. - -* Création d'utilisateurs, installation de paquets, ... - -* Utilisation de ~~with-x~~ _loop_ - -https://docs.ansible.com/ansible/playbooks_loops.html - - -### with-x - -Paramètre | Type | Example d'utilisation -- | - | - -`with_items` | Array | To create a group of users, directories, or to install a list of packages -`with_nested` | Nested loops | To create a list of MySQL users and grant them access to a group of databases -`with_dict` | Hashes | To parse a dictionary of key-value pairs and create virtual hosts -`with_fileglobs` |Files with pattern match | To parse a path and copy only those files that match a certain pattern -`with_together` | S ets | To join two arrays as a set and to loop over it -`with_subelements` | Hash sub element | To walk over the list of SSH keys and distribute them to a user -`with_sequence` | Integer sequence | To loop a sequence of numbers -`with_random_choice` | Random choice | To pick up items from the array in a random order -`with_indexed_items` | Array with index | Array with an index and is useful when an index for items is required - - -### Exemple avec with_items - -```yaml -- hosts: my-host - tasks: - - name: Add some users - user: - name: "{{ item }}" - state: present - with_items: - - bob - - alice - - joe -``` - -Attention ! à partir d'Ansible 2.5 _with-x_ n'est plus la méthode recommandé pour effectué des boucles. - - - -```none -$ ansible-playbook playbook.yaml -i ./hosts - -PLAY [my-host] *************************************************************** - -TASK [setup] ***************************************************************** -ok: [my-host] - -TASK [Add some users] ******************************************************** -changed: [my-host] => (item=bob) -changed: [my-host] => (item=alice) -changed: [my-host] => (item=joe) - -PLAY RECAP ******************************************************************* -my-host : ok=2 changed=1 unreachable=0 failed=0 -``` - -La boucle a bien itéré sur les 3 utilisateurs. - - -### Migration vers loop - -* A partir d'Ansible 2.5 _with-x_ n'est plus la méthode recommandée pour effectuer des boucles. - -* La documentation sur les boucles propose une section pour aider à la migration de _with-x_ vers _loop_. - -https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html - - -### Exemple avec loop -```yaml -- hosts: my-host - tasks: - - name: Add some users - user: - name: "{{ item }}" - state: present - loop: - - bob - - alice - - joe -``` - -On remplace simplement `with_items` par `loop`. - - - -```none -$ ansible-playbook -i inventories/formation/hosts playbook.yaml - -PLAY [my-host] *************************************************************** - -TASK [Gathering Facts] ******************************************************* -ok: [my-host] - -TASK [Add some users] ******************************************************** -changed: [my-host] => (item=bob) -changed: [my-host] => (item=alice) -changed: [my-host] => (item=joe) - -PLAY RECAP ******************************************************************* -my-host : ok=2 changed=1 unreachable=0 failed=0 -``` - -Le résultat final est strictement identique. - - -```yaml -- hosts: my-host - tasks: - - name: Add some users - user: - name: "{{ item.name }}" - state: present - groups: "{{ item.groups }}" - loop: - - { name: 'bob', groups: 'wheel' } - - { name: 'alice', groups: 'root' } - - { name: 'joe', groups: 'root' } -``` - -En plus des _strings_ , il est possible d'utiliser des _hashes_. - - -### Itérer sur l'inventaire - - -```yaml -- hosts: centos7 - tasks: - - name: Iterate on hosts in the group all in the inventory - debug: - msg: "{{ item }}" - loop: "{{ groups['all'] }}" # on itère sur les machines du groupe all -``` -```none -$ ansible-playbook -i ./hosts playbook.yaml - -PLAY [centos7] ***************************************************************** - -TASK [Iterate on hosts in the group all in the inventory] ********************** -ok: [ansible-1] => (item=ansible-3) => { - "msg": "ansible-3" -} -ok: [ansible-1] => (item=ansible-1) => { - "msg": "ansible-1" -} -ok: [ansible-1] => (item=ansible-2) => { - "msg": "ansible-2" -} -ok: [ansible-2] => (item=ansible-3) => { - "msg": "ansible-3" -} -ok: [ansible-2] => (item=ansible-1) => { - "msg": "ansible-1" -} -ok: [ansible-2] => (item=ansible-2) => { - "msg": "ansible-2" -} -``` - -Chaque machine du Play (_centos7_) itère sur le groupe _all_. - - -### Itérer sur le Play - - -```yaml -- hosts: centos7 - tasks: - - name: Iterate on all the hosts in the current play - debug: - msg: "{{ item }}" - loop: "{{ ansible_play_batch }}" # variable qui contient les machines du Play -``` -```none -$ ansible-playbook -i inventories/formation/hosts playbook.yaml - -PLAY [centos7] ***************************************************************** - -TASK [Iterate on all the hosts in the current play] **************************** -ok: [ansible-1] => (item=ansible-1) => { - "msg": "ansible-1" -} -ok: [ansible-1] => (item=ansible-2) => { - "msg": "ansible-2" -} -ok: [ansible-2] => (item=ansible-1) => { - "msg": "ansible-1" -} -ok: [ansible-2] => (item=ansible-2) => { - "msg": "ansible-2" -} -``` - -Chaque machine du Play (_centos7_) itère -sur les machines du Play (_centos7_). - - -## Travaux pratiques - - -![Travaux pratiques](images/tp.gif) - -[TP Ansible : structures de contrôle](travaux-pratiques/tp-ansible-structures-de-controle.html) diff --git a/Pepiniere/ansible/Formation/7.templates.md b/Pepiniere/ansible/Formation/7.templates.md deleted file mode 100644 index 733b820..0000000 --- a/Pepiniere/ansible/Formation/7.templates.md +++ /dev/null @@ -1,516 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Templates - - -## Syntaxe jinja2 - -* Documentation - - - Jinja language : - http://jinja.pocoo.org/docs/ - - Template formatting : - http://jinja.pocoo.org/docs/templates/ - - -## Principe - -* On créé les fichiers dans le dossier `templates` du Role. - -* On indique l'emplacement des zones variables à l'aide de la syntaxe `{{ ma_variable }}`. - -`templates/httpd.conf.j2` -```none -... -Listen {{ apache_port }} -DocumentRoot {{ apache_document_root }} -ServerName {{ apache_server_name }} -ServerAdmin {{ apache_server_admin }} -... -``` - - -On utilise le module _template_ - - -```yaml -- hosts: web - vars: - apache_port: 80 - apache_document_root: /var/www/html - apache_server_name: my-server - apache_server_admin: admin@localhost - tasks: - - name: Deploy Apache configuration - template: - src: templates/httpd.conf.j2 - dest: /etc/http/httpd.conf - owner: apache - group: apache - mode: 0600 -``` - -Les variables sont automatiquement injectées dans le fichier sur la cible. - - -## Exemple pour une configuration du service NTP - -`./group_vars/all` -```none -ntp_servers: -- 0.pool.ntp.org -- 1.pool.ntp.org -- 2.pool.ntp.org -- 3.pool.ntp.org -``` - -`./roles/ntp/templates/ntp.conf.j2` -```none -... -{% for server in ntp_servers %} -server {{ server }} -{% endfor %} -... -``` - - -`./roles/ntp/tasks/main.yaml` -```yaml -- name: Install NTP package - apt: - name: "ntp" - -- name: Configure NTP - template: - src: ntp.conf.j2 - dest: "/etc/ntp.conf" - owner: "root" - group: "root" - mode: 0644 - notify: Restart ntp service -``` - - -## Contrôle conditionnel - -```none -{% if condition %} - do_some_thing -{% elif condition2 %} - do_another_thing -{% else %} - do_something_else -{% endif %} -``` - - -## Filtres - -Les variables peuvent être modifiées par des filtres. - -https://docs.ansible.com/ansible/playbooks_filters.html - - -### Filtres Jinja2 - -* Les filtres Ansible reposent sur Jinja2. - -* Ils sont utilisés pour transformer des données. - -* Les filtres peuvent être chaînés. - -* Il est possible de créer des filtres personnalisés. - - -### Fixer une valeur par défaut aux variables non-définies - -```none -{{ variable | default(5) }} -``` - - -### Formater des données - -```none -{{ variable | to_json }} -{{ variable | to_yaml }} -``` -```none -{{ variable | from_json }} -{{ variable | from_yaml }} -``` - - -### Filtres de listes - -Récupérer les valeurs minimales ou maximales -```none -{{ ma_liste | min }} -{{ [3, 4, 2] | max }} -``` - -Eliminer les doublons - -```none -{{ list1 | unique }} -``` - -Combiner deux listes - -```none -{{ list1 | union(list2) }} -``` - -Obtenir la différence entre deux listes (éléments dans list1 qui n'existent pas dans list2) - -```none -{{ list1 | difference(list2) }} -``` - - -### Filtres de nombres aléatoires - -Obtenir un élément au hasard parmi une liste - -```none -"{{ ['a','b','c'] | random }}" -# => 'c' -``` - -Obtenir un nombre au hasard entre 0 et une valeur spécifiée - -```none -"{{ 60 | random}} * * * * root /script/from/cron“ -# => '21 * * * * root /script/from/cron' -``` - -Obtenir un nombre au hasard entre 0 et 100 par pas de 10 - -```none -{{ 101 | random(step=10) }} -# => 70 -``` - - -### Tester des adresses IP - -Tester si une chaîne est une adresse IP valide - -```none -{{ myvar | ipaddr }} -``` - -Même chose en forçant la version du protocole IP - -```none -{{ myvar | ipv4 }} -{{ myvar | ipv6 }} -``` - - -### Filtres sur la notation CIDR - -```none -{{ '192.0.2.1/24' | ipaddr('address') }} -'192.0.2.1/24' -``` -```none -{{ '192.0.2.1/24' | ipaddr('prefix') }} -'24' -``` - -https://docs.ansible.com/ansible/playbooks_filters_ipaddr.html - - -### Fonctions de hashage - -Obtenir l'empreinte sha1 ou md5 d'une chaîne - -```none -{{ 'test1' | hash('sha1') }} -'dba7673010f19a94af4345453005933fd511bea9' - -{{ 'test1' | hash('md5') }} -'3e7705498e8be60520841409ebc69bc1' -``` -https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#hashing-filters - - - -Obtenir un hashage de mot de passe sha512 - -```none -{{ 'passwordsaresecret' | password_hash('sha512') }} -``` - -Obtenir un hashage de mot de passe sha256 avec salage - -```none -{{ 'secretpassword' | password_hash('sha256', 'mysecretsalt') }} -``` - -Exemple d'utilisation dans un fichier de variables - -```none -user_password: "{{ 'Mon super password' | password_hash('sha256') }}" -``` - - -### Filtres de commentaires - -Il permettent de "décorer" un texte -avec un style de commentaire. - -Exemple : - -```none -{{ "Hello" | comment }} -``` - -produit : - -```none -# -# Hello -# -``` - - -Il est possible d'appliquer -différents types de commentaires : - -```none -{{ "C style" | comment('c') }} -'// C style' -``` - -```none -{{ "C block style" | comment('cblock') }} -'/* C block style */' -``` - -```none -{{ "XML style" | comment('xml') }} -'' -``` - - -### Filtres d'URL - - -Obtenir une sous-partie d'une URL. -```none -{{ "http://bob:1234@www.test.com:81/dir/index.html?query=term#fragment" -| urlsplit('scheme') }} -# => 'http' -``` - -Filtre | Résultat -- | - -urlsplit('scheme') | 'http' -urlsplit('username') | 'bob' -urlsplit('password') | '1234' -urlsplit('hostname') | 'www.test.com' -urlsplit('port') | '81' -urlsplit('path') | '/dir/index.html' -urlsplit('query') | 'query=term' -urlsplit('fragment') | 'fragment' - - -### Autres filtres utiles - - -Ajouter des guillemets pour protéger des variables -(usage shell) - -```none -- shell: echo {{ string_value | quote }} -``` - -Retourner une valeur si un test est vrai -et une autre si il est faux - -```none -{{ (name == "John") | ternary('Mr','Mme') }} -``` - - -Concatener une liste en chaîne - -```none -{{ list | join(" ") }} -``` - -```none -{{ list | join(",") }} -``` - - -Obtenir le dernier élément d'un chemin - -```none -{{ '/etc/foo/bar.txt' | basename }} -'bar.txt' -``` - -Obtenir le début d'un chemin - -```none -{{ '/etc/foo/bar.txt' | dirname }} -'/etc/foo' -``` - -Obtenir le chemin réel d'un lien - -```none -{{ path | realpath }} -``` - - -Expanser un chemin contenant un tilde (~) - -```none -{{ path | expanduser }} -``` - -Expanser un chemin contenant des variables d'environnement - -```none -{{ path | expandvars }} -``` - - -Découper un nom de fichier - -```none -{{ path | splitext }} -``` - -Avec `path` == `nginx.conf` le retour sera `('nginx', '.conf')` - - -## Tests - -`variable` is `test expression` - -https://docs.ansible.com/ansible/playbooks_tests.html - - -### Tester des chaînes de caractères - -```yaml -vars: - url: "http://example.com/users/foo/resources/bar" - -tasks: - - debug: - msg: "matched pattern 1" - when: url is match("http://example.com/users/.*/resources/.*") - - - debug: - msg: "matched pattern 2" - when: url is search("/users/.*/resources/.*") - - - debug: - msg: "matched pattern 3" - when: url is search("/groups/") -``` - -```none -TASK [debug] ***************************************************************** -ok: [my-host] => { "msg": "matched pattern 1" } - -TASK [debug] ***************************************************************** -ok: [my-host] => { "msg": "matched pattern 2" } - -TASK [debug] ***************************************************************** -skipping: [my-host] -``` - - -### Tester des numéros de version - -Si `ansible_facts['distribution_version']` est supérieur ou égal à 16.04, le test retourne `True`, sinon il retourne `False`. - - -```none -{{ ansible_facts['distribution_version'] is version('16.04', '>=') }} -``` - -Opérateurs acceptés : -`<`, `lt`, `<=`, `le`, `>`, `gt`, `>=`, `ge`, `==`, `=`, `eq`, `!=`, `<>`, `ne` - - -### Tester des chemins - - -```yaml -- debug: - msg: "path is a directory" - when: mypath is directory - -- debug: - msg: "path is a file" - when: mypath is file - -- debug: - msg: "path is a symlink" - when: mypath is link - -- debug: - msg: "path already exists" - when: mypath is exists -``` - -Chaque tâche est effectuée ou abandonnée -en fonction du résultat du test. - - -### Tester le résultat final d'une tâche - -```yaml -- shell: /usr/bin/foo - register: result - ignore_errors: True - -- debug: - msg: "it failed" - when: result is failed - -- debug: - msg: "it succeeded" - when: result is succeeded -``` - - -## Sortir prématurément en fonction de conditions - -* Le module _fail_ permet de stopper l'exécution d'un playbook si un condition n'est pas remplie. - -* Dans l'exemple suivant, l'exécution s'arrête car la variable `param2` n'est pas définie. - - - -```yaml ---- -- hosts: ansible-1 - - vars: - - param1: "test" - - tasks: - - name: 'exit if param1 or param2 are null or invalid' - fail: msg="Please enter correct Params" - when: param1 is not defined or param2 is not defined - - - debug: - msg: "other tasks..." -``` - - -## Travaux pratiques - - -![Travaux pratiques](images/tp.gif) - -[TP Ansible : templates](travaux-pratiques/tp-ansible-templates.html) diff --git a/Pepiniere/ansible/Formation/8.notions-avancees.md b/Pepiniere/ansible/Formation/8.notions-avancees.md deleted file mode 100644 index d8f8b95..0000000 --- a/Pepiniere/ansible/Formation/8.notions-avancees.md +++ /dev/null @@ -1,306 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# ansible-vault - -Sécuriser les données sensibles. - - -* La commande `ansible-vault` permet la création de conteneurs chiffrés pour les variables sensibles. - -```nohighlight -$ ansible-vault create test.yaml -Vault password: -``` - -* Le choix d'un un mot de passe est obligatoire lors de la création du fichier. - - - -Le contenu en clair : - -```nohighlight -mon_super_mot_de_passe: 12345678 -``` - -devient après chiffrement : - -```nohighlight -$ cat test.yaml -$ANSIBLE_VAULT;1.1;AES256 -62366463643661313763313135376434303535646637653237633233306663623635643761643161 -3834383236386535366533303733613838653836623661340a383263633435336234333335343539 -30333664666364613731666666636235373633346463353766356364623039656262363238363830 -3236656664353565620a303034643732636166376535386436616231653363386334663065326337 -3561 -``` - - -Le mot de passe sera demandé lors de chacune des exécutions du playbook : - -```nohighlight -$ ansible-playbook mon-playbook.yaml –ask-vault-pass -Vault password: -``` - - -### Travaux pratiques - - -![Travaux pratiques](images/tp.gif) - -[TP Ansible vault](travaux-pratiques/tp-ansible-vault.html) - - - - -![Logo Ansible](images/logo-ansible.svg) -# Notions avancées - - -## Surcharge de variables - -* Ansible permet la déclaration de variables en de multiples endroits. - -* Ansible supporte la surcharge de variables, cette surcharge dépend de l’endroit où les variables sont déclarées. - - -Ordre de priorité croissant lors de la surcharge : - - - -* role defaults -* inventory file or script group vars -* inventory group_vars/all -* playbook group_vars/all -* inventory group_vars/* -* playbook group_vars/* -* inventory file or script host vars -* inventory host_vars/* -* playbook host_vars/* -* host facts / cached set_facts -* play vars -* play vars_files -* role vars (defined in role/vars/main.yaml) -* task vars (only for the task) -* include_vars -* set_facts / registered vars -* role (and include_role) params -* include params -* extra vars (always win precedence) - - - - -## register + debug + verbosity - - -```yaml -- shell: /usr/bin/uptime - register: result - -- name: Display uptime - debug: - var: result - verbosity: 2 # affiché à partir du niveau -vv - -- name: Display all variables/facts known for a host - debug: - var: hostvars[inventory_hostname] - verbosity: 4 # affiché à partir du niveau -vvvv -``` - - -## Niveau de verbosité - -```nohighlight -$ ansible-playbook -i ./hosts playbook.yaml -``` - -```nohighlight -$ ansible-playbook -vv -i ./hosts playbook.yaml -``` - -```nohighlight -$ ansible-playbook -vvvv -i ./hosts playbook.yaml -``` - - -## Check mode (« Dry Run ») - -* Simulation de l'exécution d'un Playbook. - -* Aucun changement n'est effectué sur les hosts lors du check. - -* Utiliser l’option `--check`. - -* _Attention_ ! Certains modules sont incompatibles avec le Check mode. - - -Forcer ou non une tâche en check : `check_mode: yes/no` - - -```yaml -tasks: - - name: this task will make changes to the system even in check mode - command: /something/to/run --even-in-check-mode - check_mode: no - - - name: this task will always run under checkmode and not change the system - lineinfile: - line: "important config" - dest: /path/to/myconfig.conf - state: present - check_mode: yes -``` - - -## Autres options de ansible-playbook - -Option | Description -- | - -`--list-hosts` | Affiche les machines concernées par le Play -`--list-tags` | Affiche les tags disponibles -`--list-tasks` | Affiche les tâches qui seront exécutées -`--step` | Demande confirmation avant l'exécution de chaque tâche -`--syntax-check` | Analyse syntaxique du Playbook (sans l'exécuter) - - -## Tester du code Ansible - - -![Logo Molecule](images/logo-molecule.png) - -* Permet de tester des Roles Ansible - -https://molecule.readthedocs.io/en/latest/ - - -![Logo TestInfra](images/logo-testinfra.svg) - -Création de tests unitaire en langage Python - - -```python -def test_passwd_file(host): - passwd = host.file("/etc/passwd") - assert passwd.contains("root") - assert passwd.user == "root" - assert passwd.group == "root" - assert passwd.mode == 0o644 -``` - -Combiné avec GitLab-CI/Jenkins et Docker, il permet d'automatiser le test de code Ansible. - -https://testinfra.readthedocs.io/en/latest/ - - -## Ansible Lint - -* Permet de détecter les comportements et les pratiques qui peuvent être améliorés. - -https://ansible-lint.readthedocs.io/en/latest/ - - -## Ansible en mode Pull - -* Ansible fonctionne traditionnellement en mode `Push`. - -* Il est possible de passer en mode `Pull` à l'aide de la commande `ansible-pull`. - -* Intérêt du mode Pull - - - Adresser un grand nombre de machines, - - - Remediation des systèmes en continu. - - -* Pré-requis du mode Pull - - * Playbooks disponibles sur un dépôt git, - - * Ansible installé sur chaque machine cible. - -https://docs.ansible.com/ansible/latest/cli/ansible-pull.html - -https://github.com/ansible/ansible-examples/blob/master/language_features/ansible_pull.yaml - - -## Développer un module personnalisé - -`./library/mymodule.py` -```python -#!/usr/bin/python - -from ansible.module_utils.basic import * - -def main(): - module = AnsibleModule(argument_spec={}) - response = {"hello": "world"} - module.exit_json(changed=False, meta=response) -if __name__ == '__main__': - main() -``` - -https://blog.toast38coza.me/custom-ansible-module-hello-world/ - -https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html - - -## Utiliser un module personnalisé - - -`playbook-demo-mymodule.yaml` -```yaml -- hosts: web - tasks: - - name: Test that my module works - mymodule: - register: result - - debug: var=result -``` -```nohighlight -$ ansible-playbook -i ./hosts playbook-demo-mymodule.yaml -... -TASK [Test that my module works] *********************************************** -ok: [web2.formation.sii.fr] -ok: [web1.formation.sii.fr] - -TASK [debug] ******************************************************************* -ok: [web1.formation.sii.fr] => { - "result": { "changed": false, "meta": { "hello": "world" } } -} -ok: [web2.formation.sii.fr] => { - "result": { "changed": false, "meta": { "hello": "world" } } -} -... -``` - - -## Ansible Tower - -* Interface Web propriétaire pour le lancement de playbooks. - -* Accès à l’historique des playbooks lancés et aux logs d'exécution. - -* Gestion des utilisateurs et de l'inventaire. - -* Pilotable via API. - -https://www.ansible.com/products/tower - - -### Tableau de bord d'Ansible Tower -![Tower dashboard](images/tower-dashboard.png) - - -### AWX - -* Version opensource de Ansible Tower (sous licence Apache 2.0.) - -* AWX est à Ansible Tower ce que Fedora est à Red Hat Enterprise Linux. - -* Non recommandé pour les environnements de production. - -* Aucun support n'est fourni par Red Hat. - -https://www.ansible.com/products/awx-project diff --git a/Pepiniere/ansible/Formation/9.Ansible-Galaxy.md b/Pepiniere/ansible/Formation/9.Ansible-Galaxy.md deleted file mode 100644 index 28d2f44..0000000 --- a/Pepiniere/ansible/Formation/9.Ansible-Galaxy.md +++ /dev/null @@ -1,246 +0,0 @@ - -![Logo Ansible](images/logo-ansible.svg) -# Ansible Galaxy - -Créer et partager ses propres roles. - - -## Ansible Galaxy - -* Communauté pour trouver, télécharger, partager des rôles. - -* Site : [https://galaxy.ansible.com/](https://galaxy.ansible.com/) - -* CLI : `ansible-galaxy` - -* Doc : [http://docs.ansible.com/ansible/galaxy.html](http://docs.ansible.com/ansible/galaxy.html) - - -## Une communauté - -* Télécharger des roles depuis Galaxy est un bon moyen pour démarrer un projet. - -* On ne réinvente pas la roue. - -* Enormément de projets : environ 19'500 roles (jan. 2019). - - -## Mais soyez vigilent - -* Tout le monde peut partager. - -* Beaucoup de duplications. - -* Vulnérabilités, malveillance, dangereux, mauvais fonctionnement... - - -![](images/ansible-galaxy-site.png) - - -## Rechercher des rôles - - -```none -$ ansible-galaxy search httpd - -Found 182 roles matching your search: - - Name Description - ---- ----------- - 2kloc.trellis-monit Install and configure Monit service in Trellis. - acropia.httpd IT Professional - ahuffman.sat6_create_hosts An Ansible role to create new virtual and ba... - AlbanAndrieu.ansible-workstation A role for installing workstation - AnatolyRugalev.ansistrano-deploy Ansible role to deploy scripting application... - ansiblebit.httpd Ansible role to setup the Apache HTTP server. - ansiblebit.mod_wsgi Ansible role to install and setup mod_wsgi. - ansible-ThoTeam.nexus3-oss Nexus Repository Manager 3.x (Sonatype) - ansistrano.deploy Ansible role to deploy scripting application... - ansistrano.rollback Ansible role to rollback scripting applicati... - Anthony25.squid Installs Squid - archf.packages Ansible role to install packages on a host - awasilyev.apache-container Ansible Container role that adds an apache s... - awasilyev.drupal-container Ansible Container role that adds an apache s... - awasilyev.tomcat-container Ansible Container role that adds an tomcat s... - axmac.axmac_apache Apache2 - beardyjay.firewalld Base role for firewalld - ... -``` - - -## Télécharger un rôle - -* https://galaxy.ansible.com/geerlingguy/apache - - -```none -$ ansible-galaxy install geerlingguy.apache -- downloading role 'apache', owned by geerlingguy -- downloading role from https://github.com/geerlingguy/ansible-role/.../3.0.3.tar.gz -- extracting geerlingguy.apache to /home/ansible/.ansible/roles/geerlingguy.apache -- geerlingguy.apache (3.0.3) was installed successfully -``` - - -## Fichiers récupérés - -```none -/home/ansible/.ansible -└── roles -    └── geerlingguy.apache -    ├── defaults -    │   └── main.yaml -    ├── handlers -    │   └── main.yaml -    ├── LICENSE -    ├── meta -    │   └── main.yaml -    ├── README.md -    ├── tasks -    │   ├── configure-Debian.yaml -    │   ├── configure-RedHat.yaml -    │   ├── configure-Suse.yaml -    │   ├── main.yaml -    │   ├── setup-Debian.yaml -    │   ├── setup-RedHat.yaml -    │   └── setup-Suse.yaml -    ├── templates -    │   └── vhosts.conf.j2 -    └── vars -    ├── apache-22.yaml -    ├── apache-24.yaml -    ├── Debian.yaml -    ├── RedHat.yaml -    └── Suse.yaml -``` - - -## Pourquoi utiliser Galaxy ? - -* Créer des roles Ansible réutilisables est une bonne pratique. - -* Partager des roles sur son propre SCM. - -* Apporter une notion de dépendances à la sauce Maven ou NPM. - - -## Fonctionnement avancé - -* Installer plusieurs roles en une seule fois. - -* Récupérer des roles depuis plusieurs sources (Galaxy, Git, filer...). - -* Un seul fichier décrivant la liste des roles à installer : `requirements.yaml` - -```none -$ ansible-galaxy install -r requirements.yaml -``` - - -## Plusieurs sources possibles - - -Depuis Galaxy - - -```yaml -- src: zaxos.tomcat-ansible-role -- src: user.rolename -... -``` - -Avec l'utilisation de Galaxy, l'attribut `src` représente simplement ``.`` - - -Depuis un serveur Git - - -```yaml -- src: git@gitlab.sii-ouest.fr:ouest/projects/ansible/tomcat.git - scm: git - version: develop -``` - -L'attribut `version` peut être un tag, un nom de branche ou un numéro de commit. La version par défaut est master. - -Depuis GitHub, pas besoin d'indiquer de SCM - - -Depuis un serveur web - - -```yaml -- src: https://url.du.serveur.com/ansible/roles/tomcat.tar.gz - name: tomcat-role -``` - -L'attribut `name` sert à indiquer le nom du role lorsqu'il est téléchargé - - -## Définir le chemin de téléchargement - - -Par défaut, les roles sont téléchargés à l'endroit spécifié par la variable d'environnement `ANSIBLE_ROLE_PATH`. - -Il est possible de définir le chemin directement en ligne de commande. - -```none -$ ansible-galaxy install -r requirements.yaml -p|-roles-path . -``` - - -## Créer des roles Ansible - - -Il est très facile de créer un role Ansible avec une structure de dossier pré-définit avec la commande `init`. - -```none -$ ansible-galaxy init tomcat-custom -``` -
-L'argument `-force` permet d'écraser un role existant portant le même nom. - - -La création du role génère la structure ci-dessous : - -```none -/tomcat-custom -├── README.md -├── .travis.yaml -├── defaults/ -| └── main.yaml -├── files/ -├── handlers/ -| └── main.yaml -├── meta/ -| └── main.yaml -├── templates/ -├── tests/ -| ├── inventory -| └── test.yaml -└── vars/ - └──main.yaml -``` - - -## Utiliser une structure personalisée - -```none -$ ansible-galaxy init --role-skeleton=/chemin/squelette tomcat-custom -``` - -Quand une structure personalisée est utilisée, les points suivants sont respectés : - -* Copie tous les fichiers et dossiers vers le nouveau role. - -* Les dossiers `.git` et fichiers `.git_keep` ne sont pas recopiés. - -* Le fichier `meta/main.yaml` est obligatoire pour récupérer le role via Galaxy. - - -### Travaux pratiques - - -![Travaux pratiques](images/tp.gif) - -[TP Ansible Galaxy](travaux-pratiques/tp-ansible-galaxy.html) diff --git a/Pepiniere/ansible/Formation/README.md b/Pepiniere/ansible/Formation/README.md deleted file mode 100644 index c1e99c9..0000000 --- a/Pepiniere/ansible/Formation/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Formation Ansible - - -## Programme - -1. Introduction ansible -2. Installation / Inventaire -3. Commandes ad-hoc -4. Playbooks -5. Roles -6. Structures de contrôle -7. Templates -8. Notions avancées - -## Slides - -Pour récupérer les slides : - -`git clone --recurse-submodules https://gitlab.siinergy.net/sii-ouest/trainings/ansible.git` - -Version [pdf](https://gitlab.siinergy.net/sii-ouest/trainings/ansible/-/jobs/artifacts/2019-03-06/raw/ansible.pdf?job=make-pdf) - -## Machines vituelles - -Voir [ansible-config-virtualbox-vms.md](ansible-config-virtualbox-vms.md). - -## Todo - -Les améliorations à apporter à la formation : [https://gitlab.siinergy.net/sii-ouest/trainings/ansible/boards](https://gitlab.siinergy.net/sii-ouest/trainings/ansible/boards) diff --git a/Pepiniere/ansible/Formation/ansible-config-virtualbox-vms.md b/Pepiniere/ansible/Formation/ansible-config-virtualbox-vms.md deleted file mode 100644 index 713a4ab..0000000 --- a/Pepiniere/ansible/Formation/ansible-config-virtualbox-vms.md +++ /dev/null @@ -1,54 +0,0 @@ -# Machines virtuelles VirtualBox pour la formation Ansible - -## Pré-requis de l'hôte - -- 8 Go de RAM au minimum -- Processeur Intel Corei__X__ - - -## Machines virtuelles - -Un fichier _.ova_ contenant deux machines virtuelles prêtes à l'emploi est disponible sur le filer. - -Mot de passe de l'utilisateur `ansible` : `ansible`. - -Mot de passe de l'utilisateur `root` : `ansible`. - -VM | description -- | - -ansible-0 | Machine ansible maître avec OS Debian 9 et ansible 2.6 installé -ansible-1 | Machine de test avec OS Centos 7 -ansible-2 | Machine de test avec OS Centos 7 -ansible-3 | Machine de test avec OS Debian 9 - -### Configuration des ressources - -- 1024 Mo RAM par VM -- 1 CPU par VM - -### Configuration réseau - -Chaque VM a 2 interfaces réseaux : - -- Interface 1 : __NAT__ -L’accès Internet de la machine hôte est alors partagé, on peut faire des mises à jour etc. La machine virtuelle voit Internet mais n’est pas vue du réseau local (elle est derrière un NAT qui est géré par VirtualBox). - -- Interface 2 : __Réseau privé hôte avec DHCP__ -La machine est visible et voit la machine hôte et réciproquement. Cette interface réseau sert pour se connecter en SSH depuis la machine hôte sur la machine virtuelle. Elle permet également aux différentes machines virtuelles positionnées sur ce réseau de communiquer entre elles. - -Le type des cartes est __Intel PRO/1000 MT Desktop (82540EM)__. - - -Qui voit quoi ? - -- Via la carte en __NAT__ - * la VM a accès à Internet pour les mises à jour derrière un NAT. - * La VM est invisible du réseau local et de la machine hôte (à moins de faire des redirections de port). - -- Via la carte __Réseau privé hôte__ - * la VM a accès à la machine hôte et réciproquement. - * la VM est visible des autres machines virtuelles situées dans le même réseau privé hôte. - -En résumé, les deux machines virtuelles pourront donc communiquer entre elles via l'interface _Réseau privé hôte_ et accéder à internet via l'interface _NAT_. - -Si besoin que toutes les VMs des stagiaires se voient entre elles il est possible de remplacer la carte __NAT__ par une carte __Bridge__. diff --git a/Pepiniere/ansible/Formation/images/ansible-ad-hoc-deployment-workflow.png b/Pepiniere/ansible/Formation/images/ansible-ad-hoc-deployment-workflow.png deleted file mode 100644 index a08bcf4e6b06b40e01953f4daf9b4949ca5912a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46778 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�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 Q(uX5x9M>V`9<{vvKNijOWdHyG diff --git a/Pepiniere/ansible/Formation/images/ansible-ad-hoc-multi-node-deployment.png b/Pepiniere/ansible/Formation/images/ansible-ad-hoc-multi-node-deployment.png deleted file mode 100644 index 39b2ea4fb77f9151fb71ec90702754f76214d2bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100663 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 diff --git a/Pepiniere/ansible/Formation/images/ansible-archi-playbooks.png b/Pepiniere/ansible/Formation/images/ansible-archi-playbooks.png deleted file mode 100644 index 86a5a4c236c344f3662ad20cf6ce52164407951c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71660 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


N^?Hie&^!@l)^FFV1V#F@o+li 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 diff --git a/Pepiniere/ansible/Formation/images/ansible-archi-roles.png b/Pepiniere/ansible/Formation/images/ansible-archi-roles.png deleted file mode 100644 index 341bbb43bfac334513bf2c3d0ba598020ae20716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87704 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 OkAlo;>9+MoADa} diff --git a/Pepiniere/ansible/Formation/images/ansible-galaxy-site.png b/Pepiniere/ansible/Formation/images/ansible-galaxy-site.png deleted file mode 100644 index 2e1ddb8cbecf7f31047ff9f088addadb29f07cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157130 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 X(cY%=jC0ibJ#oc^q&^f1==l6U9l9)B diff --git a/Pepiniere/ansible/Formation/images/ansible-playbook-deployment-workflow.png b/Pepiniere/ansible/Formation/images/ansible-playbook-deployment-workflow.png deleted file mode 100644 index 1d02c273e19722196b6a32b86e90121ff0a1935b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53935 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�iDEpz*>7)ucff(XI$?O8oxCV)k(4UJKK_2{iw$p$V zmURfWsQE>~Z#w0LFpk?45>)}D*qh8x#K6JvQ6ozlQEfjJ2h1gbI&SWV7P`d#{(fN2qG`qV&rc4Z zH;89>2E`9z)8(_lCtXg&>R^T|A5aVWu(ptTUH-0VO}X8;d2_VJaqj$xLwN*J1tt+) ze_L+)E!KE;4RU#{(n)%xR~bMp%%E)8RNKF5u$)f+KD(Z1QcUO!hoLbgq?b-#<&LOB zLNs-#{AhTK5kHVAl@{#(8EB^CIe%-il+h0+4IcXn&_ZLhSXDlsYtFcyWaU@NE>q3c z0+i%D`ny?I=U6QOSLb~HNQtYx-EXy6vXIhJexpZ6FY#$ac%-Fg?L|tBY6$P9i9BD9YJ`rO$8iCg_QLDU zNy_!;GyXh)_`zUUk9VSunR3}FlAaELShaO@P(F^^S{>B7Z;}T9csX1f4yxk?p2GFt z?gDh>Y%DAvAO{6u5}-2JVI$b$*CY6wv5AQ2g{&e~-3rcEAhZUCYM^`lM! zp$X45AAL0O*pY_fX!}@j@MTZORV(o3Mr8DiHVRGDH|dwB=c_VT79Mg4 z0vZu~Y-}ZEJqV z;*#?D>vXve>>&a^nc>WKs)g8U`YAd(y8TT3Vd5jxI^Scy03f}FWUi*4QdB4}0Z+>l z62w5Ga66RX52h1n8`ED2X~mo%qnVnTss)$HK~3D9m#uCDI%PEl2Q#AKGY~R>L!;@W zA{CabvtCvM^=M#<=<#AmGTK>3OGV`kfpHDyGLhnJY$18P9{JFoZ1JvI^~-SL=jbzbi7pok zApUMm39+%|1262Ntglb$yL_GBp(9H^wI0fR>O2OJ`|SAZRYqLg2xL^qado)~Q@(k43aO)< z5>MP*jt$yhpxJXcLPA5op8QUO!i}-J)9|NW_ZO6ID3r@GrDk90sHmnYo~oAU*;P(~ z!~oe8Qs>X|CyFvMGW80Oya-^|K8FQ_VzGQbYs-X!gkGR4O%Im zF&$U_7=j=#LUY-7{V&%-*dDxl@poA98l~@?=)o3Sr6qHRb%E`E0x4G|&!sgG1M+|8 zYl(t?UkppGdoxM*4Uhve9$At{05d66^eyG~6QARq2Y}e#hsuY@OGo*k9w6ud1hb@cH$h1v_dikyOiJ^V5J!^*x82JE(= zYhoS1i{tnAtq>zo3QNHI6BN{`S~4*)0d63npy&!*!BYbMRE_Os-`>6DSNBOJp;Fij zP?|!qRy4E&HEJ*?^9Bh?g+)7N-5_A&cQu@9h1VAbVFFMbzWM3j^?fdAy!s!e*0inE z!mx%}nXz+rot(EOAi;Uw5@Fti?)hUK5_?J@oDpav;Z(Kgdc7>^myqhAQ21?(aR$q2 z!B&H}HAC&@8M^fZXn1Jtu7Ox*1jT?=WmeW4kn-Q5h(pkqBWdB?`v(WEM=AI3-%pot zw*_?g_2TFkL=uP`_qAXSOCVeieh-8a(0q$~4mh2Z1hA8|_x>_u@gG^R8J_M)@CeR$ zw{Yz(b1XAPTz48;JU#vWFRm_*{oxA=ZG{1;@jqyVp~b57yYLao#`(XM-Z$2y)T-B- z<$vADH46Vf)Z72R5sLqJT>q;{{~tmz5=HUB-Rt`p!qe-qeT9J_%0$Du`}*VS5zI7l zLxj(oJMOLjbl@D8qX?$^2o;VM2f?qG+9<*3I0){Z()5y*##_gdK6FI$T%Yq9SP7mX zy_h2j#Sls{EK0?MSc6#7ve>xsZCu&fobrVQzQbg3EW;%l|EbO?4EsCt7>zWw&6)!9o477_`qKK!u0erB)>ACV=#8p%%H0S3)b?{cQ?N~}#LB+5K_FsA7` zUtDI|`OyF0nd+rRpNSm*B~u*5q@a@&nrD=Nq{{a&ZcZX~6ryUc^0t zK$H$95qyihySTafeG#s(Y;C>mHla~i2wp5l0yo;)#t?i-uh1z=5u<*q%Bck>M43Jh zV#`DFY?KPLxnY|h6{e-4l=$%ZC3>qoP8$X8J8|fysE(mMmt#NY-YYzF)cvc->Q6$2 zuH}~AntD%+r4J7QqP=o++Sd7Sls&^O^@%7{zlO5ohz714hVa0(GD%!M;}njb*juKv z6|}?8+^I`KILYeLFHT6)K+&a+`lhC1701bGpfadyZ6#UZ{i?>`Ike+=M0gsqD$f#r zx3V)0a~Wi*+`(*e#>=pm{A|t8^M+JNdq6e#0 zj;hS@0gc#8b{>Pq9)p5UE#cqEsq@BJ#XWx_E9yNU$PGK@pL&H`ksz!ht~~?rU}a@x zW^T6^VP|1`iuY3&Z$rdEt4@Ugq0B~k3!y0!$pb6D_JLUnM_J^@avXH1v#n^m`}-p{ z!VobfT6V%e1%>0>AmKhDaGPh94mXlnQu7f0&})=Z4nD7TeF7^mFKOpWW^ZgX>=%`z`y++)~M5L4rO z*{EJ{An3JD;8SHt&|)rtFyA3cHUSsPlzZC_+`x52*jF1okLFd`G5mw7RGXnmET1#E zN#GM?nCsy@N{Ns8n*ihe?)K zymE(as`N`lie{{8ein;oGwE@k`Rg&@F5avDhHT*af28^SB9qXTN22`pZkVS zSy@*Ho>dt_WNX>op&rQVOHRQFUG;vugpOU~#Eqk@!Acrr`bC~;mABhvV{IryvP%Mr zNFF|BP}VVC_GvvCY86BbJm_k0#k_zPGvA}#N8S9yORnnSQQf`}b7s$`N%t@ryV1N~ z7php5@m-^w{M3x|+9zLa?<4Ejv|Q*mJs%2Nrl#&b#bqy0$LbVxZWsp-tsCNrS3&j%O=?FPS)Fjuam&P+|H#IeR z?@l^jkUP}*{VCKfF1fE|Ng+pY=(klGVhdg;##!oJCUo`{m|cB}%MsOqi}Q1Y?(RK| zt2POQaDkrdh9Yi>dCu#exBdNU`SO-2xaImhJmlk#%dyXy4K7GEKfPamuPIv?7&t}D z%8?M$k$&~tk5dVi1t$kB4m&oKrRSBYVaCMJ5DDvVf&DB!-k_ybQy5iEMTP9ug~%efm`f#sL^!X02$&(C{VJmSsQf3)y)7FkwL* zMIY>zlMPG==AkH$GqOxEuW0AHOPr1*=KARNef_QmrNadC5~i(ALL(IZRgC^k}c^! z2^aULC`?MPGQ zgMeY#Ky+*-d(BwIy%F>BKfG*ozdL_-ImURcP$YYF;mF2M&?qckl%NK#0CqNN zQ=j#`KhPfJfhHCAPQ*yvavIv{X^u!>2c$NfO`(g?dIVJ0!omXh0oAj6BbK_NfxPGf zA_WHr2W&{zmX?-&!aCa8h>otV{^gs=b`lM*Qhvv{nC5&g`e9MiJ}75aQsy$BUYWGQ zAx_iyV0Iy|t!d#xH<(SU+eQqX3c)ZQXiu{h7+ljBRjh6h$Drc$rfk1#Pu?Os z7LgXS6kf3_zRl_X94~M_Pxd{X1mWFT9Hnrn_4RdnzkiGYz#j0J)ZeKYUevPVN>sU~ z-Q&*q-MtTEVq#F~Hh_EA9S3n^mfns(1dZEXc4yu+S{mYK#uh7$l5YhXAx#~rhPZZ`goexOPRrg7l98R8S zWBZNIL3~s_fZitZ>sBx}A4dsPG>?w{!Ro=JIXmUY_Y4zK8$h0*s1o@)`?ROkg`#6` zHKxRO_H88kaoe^Qz2?NROYAg{_sY0e_`yy ztjsOjB6rxL(j(8#uDwbMHJ`-&Rw0coxNH*dmnw6u*%OibKD9vB#i>-7;gIIymUTlZtk+2oryZ(!;Xl)$rB*=mqBT8X5Izl|sR z+7Gh=hBT}Gl-nL#KfZt0L_mm|e6fjru?W$70s`ucy*S7u0qqMvz@GuMxvAhvFu5UN zy3Bdicc1oO_M&F0O_&5M^gZ*W8-+oi@2J?l?@( z!D0VK>#f;+tvat2xkl01^7}~bu0veP>d$-m4?ouj}F)7B5LjVDm*?QD><-su6F%xKQ7%ETE^J? zdCRGcx7#(jGVZ*0#Y;I!#K<(pljZL2D-H34KDi_+EAp_O-iMmy@6>1o63s(R(4s1{ z<)sk>cZ!#+jjG!}2PfS^;?ef}LEvidQRGJmG)+MD~b8m-LD84%>v>GT!B0W(Ot z@0-%n;&aU!A`uV}*NDF()HYa|ucKk|A>XSMrWqaFKtat|Uv|9#DQX}$jFJ&25 zH#axW2Up}%ZoL`$+fRv=xyrcU)xX!JKe=@`iPsuw{YjjCr8-J6pTLvXHsRBYbHk%x zOJlXxLwpvi)kq@W-~E-xfriU&rhGzm`X_N-H$4Ev0K^nYD*-tnncwV4>A~-RAYS&B z2C^uFG_+sb7Bjs-zpVx4)5V5HkS$!plTWxc49C7~p|0QI_@m+q zSJNo=SHWV}G<$bt8~@kykz7S0>$xuQ^BPszR#^|xj`J%oZlI*kkGZsceFsmf4geZc$xzg_Os(Z(P3d0y}6JRFrs~5 zs%y!T1q2|;6m~=-seZeWc6QGO-q(~i<9NUOD*A;7>g#g_j5PC#7VVBuMbo&PyT|52 zeLbaWdPYeEjo2lt#!slD^4*lyUHxSQ?mMk~O4KP(!yq=0)F$mL)XC2jceMgylgHI& zF{9&Jk_RxiHC&`yrwu>A0Jqab9WtdnlbW3V%r@bfUo~HVU(f+s&|k$IVNTS3yzL61 zwqw+Kt035!fmd_es0L+?;1qmUa7uusLN8lCOnl{H*{Z_i=hMZ2xM%GMVruGou-vzY z67d^USi&>`Nt$L@;s6*Obf3#VSC>QL2J$F&^+PxdZ2+f`F64mK?eQZjA2E4qfD~E_ zNw!FrE3|zWj4bgz=nMh^0#Z^Yq@Ap)Nq_&$(I3n4xwJQ5xk=noJ%1R(KvJUj3p@{? z@~Ni?v|3dXfSd)Su^=Tr?9a)~L*T!&v$Gi)8OgYG&1dr-e->cW;!LUz2LYTWMpP2~8<|^auTX}zdCh_&r9Doy4tkDJTkgtTcF@LJ)( zkBG9aqoU0`5VooM3H5+p{Kb8~sjJCLm~qTx!b}-Qzq9b@%h^MReFd5sV>WE+8~pc;!QnUKxT&5c z(PXg{qJ2qsgv~{|JJHgzqK|fP5NGp{_0+-snp?IS0Cm*~VAtB(+I52cQT_x%0}YEX zUDz&(c11Jh-M;lpb8~Y)+x7*g=|=CHEue`@xrc_nehp^bRUr4h^~|Rv7Z(>H?N5T- z083!fCuU=HSf zbc}TZHcURV=IOb)D^Nf=vd#3quV;Iz<9;50mO5PnE_+;NnkkPT$`&op#FU3wu(<8J zRkc}4&gV;Vevi#c&m!&zvk7t2&<%uU58KGylS5%CSnijG)?{sdq?KmE@gqRD(&$o! z-1WbP>+ zRQMsFVT0L7Y$ymH7dJdIQcYF$Ng7uwZo4=-$#MQ;#m~gAcr5GG;*V%kX{WEax6oqZ zE0#=0oJ-WxteIs-NO{3V&)#8NWAHZje)bnbUT;0G^UQmliMSjX0Rx0GzDM?H<08;3 zTJu-ISTa_!KsHU*Gp?!_OJPad7B8>*Ud`-v zQkWSx_&g}ozSj2ILkO32jlrP{b$znfbQF}%V7Y~Js^h+WGsM_O)Al9y!HDjP8KTN= zDK4?D53(YW#$TTQO5!aGNJE{lv_c$j$kLrUZ%*)P^z?#cS`iF~ftC#{;GSu_l;i%+ z`u-`8o35(^^I*=f4YV$?zrL0E9y=f^c=U?K;V6?hxQtv}1cwgZ`lchjNkG^?$rHCm z;fC_en<|=!%O#FI{Ln(I>G=K|kspGw&w{q6kg?NT+4DyTib5^QF18w)zKzzx9Zvk# zhZbH)186O*1E!9>tI zX6?ExfLGv&%+#%;@ghBtE{JBYTAo%?m#_(N#56t3P*#30Rp}cYt^+ai7Q+KUEUz^m z++W;(dbokt$PoSeO%rj$v!(oM{u%;YLaxaC>V04nidRe|svjri&M*s%1}o$~1A3&@ z4qQ5dGjA5{9tM{l6kCBY3P+oIBvUpx z)`%QgT`D_473}trr!y5b{M??hw_tcCzKsKSe>bk|IK$j}LT)(MGvn)5nJ#A_D@2MO z%wr@sPut%voh!@awWg^=x%Rn$Pc`x@SypP|$x<6V?Eeu^G@Q~j?g~sPdG~AivSyg`&;P~5c+{NP%m)JiU2ox6bQ{Npr@y|KgqDzW7^x>b9kZA zndZW=n*M`pXfQgey#MYuAr5|*G^R{rEU$?aM*27sm84e*I;$lDaC)~1Y@Ax8A0M7@ z;K#0(d_!_0v)eT7#=^qFF7wXEZQZ9=#H_tTxwbr2yDC zZ6UR8n?09V7{#d*?JKOCpPz?}Kc`%Oa5t3q4T4Ki*MpDtYS>FT0T_{DT~4S&X8=Im zUN&uh&%PHQAHT|P_`p!5Ka!d|=6S7Z+GL%cRiYIM0Cs;TvZnFnMF^o6fi7k@nG zUSiEd%^lPbMU?&8*3!~~bX@qbXo5ZKMVy(iw`n3&nB;!nV*FmD0EV*ZI$LTRF(diQ zvekP*ccfT(aEDSDHI}qvmj2F1RzcopbYVBIojg&-oki7%cEHBP9r-8>2DQ9%)kI#S zBbVtFz%@=w`B6gF1NP&e#(QqE!^x;IaCRejo-06jJWS`h&A6v`UQ&O!ac#0J?PF$m zvm}<(9{aMhSGQE_Rtp#jo>%^&ZDbbWt^^|wsQ5dxxxP`qp@5S~=ebDBJc6&=8%Br%J!9r&Uc@{XPNqIdJ_Ew?GXI3JL;0kU}&aZ}{W8cLUPG z1|US?{6HBvo5Au2>`T3}DI76&pU?!JnLqU{$t^eg{PJ`~!AJGVL`|iBj3! zm_DShZr{t~(o3Q^A^6eSq^SuU6~S{q5&Ra5%1@-h2Wn+xAUvYjspCBb*ig4S!(8WX13$SPX#Dnym$%ris>@h_5wfg zZdE~W%K}-KlZ#4@sXz4)|-)uLvA$W-seNMcDi!wt;Gw$)SuR!V;63a<-HzhQi*5Kl8#(d-uW))je2aaVNKw##vP$I3Ha~J z*cbk<|0)Ek=W@L9f|4!v7CWg@gC*G>tlT*;@Y9@d3gn>PDr?9ZibqS14oN@--&*tE97+>t!>yT*%D}?}XLBVzw~-K57WV#tu&CCl zT$W83LFu_FBVz2ORwtJKc5g|v>bvdxy*DUxQ*L{-!m)kJAEV1Zlc)H>Q6UWqALl{qnG%_Q;lIrvxqZAfH46P#a+W{mSmo}--CAqx1nb)#J+<-% z?Kn9$Wvy(XO!Zonn3Q5pgh)Sa?>a}n9W@F*rX{T#3>@z{-rvuC0W7;HwH)K#EVa|n zH}@2zw@XA4Z~Cgz0Ru`ND%%T*Y{Ns_;C~5R^LZY@MFMTh3D@jS31142N_E+`D-%^iGjchLvkw^1(G1 zlMT(6K9iGpd+zyx3WrX~H&@yj-Z1$b%JL{B_q;j?GQ-gAmP{ zQ9;8W+WO!OGAHUW4kh{x+|y4-=*@;4JzRhHb?$kCyW{0?jeU7P2Ew{%QEV+Lo5YE1HQvjQU=Z@pIcz+ZQb4@f1 zr@)xx*BsLOi>FW1#jv#kkXRRauC*i)3MHDKM=IafW;FPFOYb4EM&?>GP}LtS(zPO6IvOPY{|<0<~W1lWMKM%DM`-1?uaF<7RjAH zJiVQ=rEWUflbeM-UQXJXOy5>=4b)dSqdlEId(+h5#g#2k#Zu(+=oo4nE)h#G}aW#?*lSrDX2V)&I>xOr%4||o4O+js?v&IFVK%0KcZ7~%N&LzD)7Ee@6 zgTA6WhFU&^6>2}XkA&?eSZ0-9BoU3YwYSM2ImMn5u!p00(Cn}wJGz}kZ>+vu+CM4a z5KMOuO3!Y6Drd+XiID}z>nWps+`6<@an`b!Je?=eb!3fMOm}l&yZwE_oJ?>}WZu;_ zgFy<5irQm)_HZTHEK|&H(Lh>B_H~qht#NMg!u@iu666|f&m+$?r#&7AGk(pd8c%|@ zUx`H;o08nfxuGD`kIO-K%FCy*us8M#j(8$+{v|{WiToIe9SrhJBGfZ_s~2xwF>rG8 zG)G1bO3p}c_%wfLy0x;SzxHFxU~CY)sPEA1u4`z3t4Ik~Xw0OiK4IoN+Q{O+fv@b%wf z1Y%31A>xg)lA5{8Z0ZlZ@?X^seI}-)bL8sMh38CC*TbOIETXqaX&4Vo`Ra6vEjSWB z@?EsTFD(7fRYOOtKZNY&Dto94>Sv z8w7t`yl~M{lr4~~+t2#Ky!I#Tbb}ANITCO))IFg}DJHGv2>1?eeKx7*yK=89Ci(QJ zh_FCB8O8obZ8lKXe+Yd=g}6tb;yqgYjOgy~?sudJe%G$+Azt@kzu)8)L*|n^h8*;r z3#(;Ii{i9DgKPcG`EouFv(kqk_nJzxO3~ihTT1%BXwV|k7#50i;$1jO{KXf1DSL_N zH~3xPi)YDjFMvT-u$>1_cuF;Abe712GgzB{Q64~6JT!fq(jG

&pUx90J_SQInOY$In<~SP*Y!X`YzX8 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 - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/Pepiniere/ansible/Formation/images/logo-molecule.png b/Pepiniere/ansible/Formation/images/logo-molecule.png deleted file mode 100644 index d2f1a071615007a88251f410a44ba552ce25d69b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78212 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 diff --git a/Pepiniere/ansible/Formation/images/logo-testinfra.svg b/Pepiniere/ansible/Formation/images/logo-testinfra.svg deleted file mode 100644 index 12afcf8..0000000 --- a/Pepiniere/ansible/Formation/images/logo-testinfra.svg +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - test - infra - - - diff --git a/Pepiniere/ansible/Formation/images/manual-deployment-without-ansible.png b/Pepiniere/ansible/Formation/images/manual-deployment-without-ansible.png deleted file mode 100644 index 1573092b35be07a72a8024cd10c722ee3d78949c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27039 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 z 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

Ce=7j$BX>!EJG9aa4 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

RjF}H@}Rxy=<$6kz+8s? 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%0AH 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 b7YM{FJmDtfs#9Vl7oDNOTI{qE5)c48 - - - - - - SII - Ansible - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - diff --git a/Pepiniere/ansible/Formation/introduction.html b/Pepiniere/ansible/Formation/introduction.html deleted file mode 100644 index 4d1d69b..0000000 --- a/Pepiniere/ansible/Formation/introduction.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - SII - Formation Ansible - - - - - - - - - - - - - -
-
-
-
-
-
- - - - - - - - - diff --git a/Pepiniere/ansible/Formation/revealjs/README.md b/Pepiniere/ansible/Formation/revealjs/README.md deleted file mode 100644 index 0482fb6..0000000 --- a/Pepiniere/ansible/Formation/revealjs/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# template-revealjs-sii-theme - -Template SII pour diaporama [reveal.js](http://lab.hakim.se/reveal-js/). - -Ce thème est actuellement utilisé pour les slides des formations Ansible, Docker, Kubernetes et OpenStack. - -Le thème propose : - -- un habillage respecteux de la charte graphique SII, - -- quelques [fonctionnalités utiles](content.md) (comme la gestion de taille des portions de code ou des tableaux). - -Enjoy! diff --git a/Pepiniere/ansible/Formation/revealjs/content.md b/Pepiniere/ansible/Formation/revealjs/content.md deleted file mode 100644 index d1497e0..0000000 --- a/Pepiniere/ansible/Formation/revealjs/content.md +++ /dev/null @@ -1,239 +0,0 @@ -# Titre -__Sous-titre__ - - - -## Enchaînements - - -* Avec 2 lignes d'espacement, les diapo défilent __vers le bas__ - - -* Avec 3 lignes d'espacement, les diapo défilent __vers la droite__ - - - -## Formatage - - -### Styles - -\_\_gras\_\_ : __gras__ -\_emphase\_ : _emphase_ -\`code\` : `code` - - -### Puces - -* rouge -* vert -* bleu - * bleu marine - * bleu ciel -* noir - - - -## Images - - -* On peut préciser la _taille des images_ avec -`` - -![Logo SII](images/logo-sii.png) -![Logo SII](images/logo-sii.png) - - - -## Liens - -\[Nom de la ressource\](Url de la ressource) - -\[GitHub SII\](https://github.com/groupe-sii) - - - -## Code - - -Taille normale - -```javascript -function toggle(elemID){ - var elem = document.getElementById(elemID); - if (elem.style.display === 'block') { - elem.style.display = 'none'; - } - else { - elem.style.display = 'block'; - } -} -``` - - -Taille moyenne - -`` - - -```javascript -function toggle(elemID){ - var elem = document.getElementById(elemID); - if (elem.style.display === 'block') { - elem.style.display = 'none'; - } - else { - elem.style.display = 'block'; - } -} -``` - - -Petite taille - -`` - - -```javascript -function toggle(elemID){ - var elem = document.getElementById(elemID); - if (elem.style.display === 'block') { - elem.style.display = 'none'; - } - else { - elem.style.display = 'block'; - } -} -``` - - - -## Tableaux - - -Taille normale - -| Colonne 1 | Colonne 2 | Colonne 3 | -| - | - | - | -| A1 | B1 | C1 | -| A2 | B2 | C2 | - - -Taille moyenne - -`` - - -| Colonne 1 | Colonne 2 | Colonne 3 | -| - | - | - | -| A1 | B1 | C1 | -| A2 | B2 | C2 | - - -Petite taille - -`` - - -| Colonne 1 | Colonne 2 | Colonne 3 | -| - | - | - | -| A1 | B1 | C1 | -| A2 | B2 | C2 | - - - -## Fonctionnalités avancées - - -### Utilisation de balises HTML dans le Markdown - -- La formule Chimique de l'eau est H2O. - -- E=mc2 ! - -- Voici du texte en fonte réduite. Cool non ? - - -``` -- La formule Chimique de l'eau est H2O. - -- E=mc2 ! - -- Voici du texte en fonte réduite. Cool non ? -``` - - -### Background - - -Modifier le background des slides : - -`` - -`` - -`` - -`` - - -### Transitions - - - -Changer le type de transition : -* default -* cube -* page -* concave -* zoom -* linear -* fade -* none - -`` - - -### Vitesse de transition - - - -Changer la vitesse de la transition : -* default -* fast -* slow - -`` - - -### data-state - - -L'ajout de `data-state` sur une slide permet d'appliquer une *classe CSS* spécifique à une slide. - -`` - -```css -.data-state-slide em { - color: #951753 !important; -} -``` - - -### Cheat-Sheet - - -1. On peut afficher une liste ordonnée façon Cheat-Sheet -`` - -2. Afficher une vache -`$ apt moo` - -3. Faire beugler une vache -`$ echo "Meuhhhh" | cowsay` - - -### Masquer le logo - - -`` diff --git a/Pepiniere/ansible/Formation/revealjs/css/custom.css b/Pepiniere/ansible/Formation/revealjs/css/custom.css deleted file mode 100644 index 02815b1..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/custom.css +++ /dev/null @@ -1,5 +0,0 @@ -/* customization sample */ - -.data-state-slide em { - color: #951753 !important; -} diff --git a/Pepiniere/ansible/Formation/revealjs/css/print/paper.css b/Pepiniere/ansible/Formation/revealjs/css/print/paper.css deleted file mode 100644 index 978f275..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/print/paper.css +++ /dev/null @@ -1,202 +0,0 @@ -/* Default Print Stylesheet Template - by Rob Glazebrook of CSSnewbie.com - Last Updated: June 4, 2008 - - Feel free (nay, compelled) to edit, append, and - manipulate this file as you see fit. */ - - -@media print { - - /* SECTION 1: Set default width, margin, float, and - background. This prevents elements from extending - beyond the edge of the printed page, and prevents - unnecessary background images from printing */ - html { - background: #fff; - width: auto; - height: auto; - overflow: visible; - } - body { - background: #fff; - font-size: 20pt; - width: auto; - height: auto; - border: 0; - margin: 0 5%; - padding: 0; - overflow: visible; - float: none !important; - } - - /* SECTION 2: Remove any elements not needed in print. - This would include navigation, ads, sidebars, etc. */ - .nestedarrow, - .controls, - .fork-reveal, - .share-reveal, - .state-background, - .reveal .progress, - .reveal .backgrounds { - display: none !important; - } - - /* SECTION 3: Set body font face, size, and color. - Consider using a serif font for readability. */ - body, p, td, li, div { - font-size: 20pt!important; - font-family: Georgia, "Times New Roman", Times, serif !important; - color: #000; - } - - /* SECTION 4: Set heading font face, sizes, and color. - Differentiate your headings from your body text. - Perhaps use a large sans-serif for distinction. */ - h1,h2,h3,h4,h5,h6 { - color: #000!important; - height: auto; - line-height: normal; - font-family: Georgia, "Times New Roman", Times, serif !important; - text-shadow: 0 0 0 #000 !important; - text-align: left; - letter-spacing: normal; - } - /* Need to reduce the size of the fonts for printing */ - h1 { font-size: 28pt !important; } - h2 { font-size: 24pt !important; } - h3 { font-size: 22pt !important; } - h4 { font-size: 22pt !important; font-variant: small-caps; } - h5 { font-size: 21pt !important; } - h6 { font-size: 20pt !important; font-style: italic; } - - /* SECTION 5: Make hyperlinks more usable. - Ensure links are underlined, and consider appending - the URL to the end of the link for usability. */ - a:link, - a:visited { - color: #000 !important; - font-weight: bold; - text-decoration: underline; - } - /* - .reveal a:link:after, - .reveal a:visited:after { - content: " (" attr(href) ") "; - color: #222 !important; - font-size: 90%; - } - */ - - - /* SECTION 6: more reveal.js specific additions by @skypanther */ - ul, ol, div, p { - visibility: visible; - position: static; - width: auto; - height: auto; - display: block; - overflow: visible; - margin: 0; - text-align: left !important; - } - .reveal pre, - .reveal table { - margin-left: 0; - margin-right: 0; - } - .reveal pre code { - padding: 20px; - border: 1px solid #ddd; - } - .reveal blockquote { - margin: 20px 0; - } - .reveal .slides { - position: static !important; - width: auto !important; - height: auto !important; - - left: 0 !important; - top: 0 !important; - margin-left: 0 !important; - margin-top: 0 !important; - padding: 0 !important; - zoom: 1 !important; - - overflow: visible !important; - display: block !important; - - text-align: left !important; - -webkit-perspective: none; - -moz-perspective: none; - -ms-perspective: none; - perspective: none; - - -webkit-perspective-origin: 50% 50%; - -moz-perspective-origin: 50% 50%; - -ms-perspective-origin: 50% 50%; - perspective-origin: 50% 50%; - } - .reveal .slides section { - visibility: visible !important; - position: static !important; - width: auto !important; - height: auto !important; - display: block !important; - overflow: visible !important; - - left: 0 !important; - top: 0 !important; - margin-left: 0 !important; - margin-top: 0 !important; - padding: 60px 20px !important; - z-index: auto !important; - - opacity: 1 !important; - - page-break-after: always !important; - - -webkit-transform-style: flat !important; - -moz-transform-style: flat !important; - -ms-transform-style: flat !important; - transform-style: flat !important; - - -webkit-transform: none !important; - -moz-transform: none !important; - -ms-transform: none !important; - transform: none !important; - - -webkit-transition: none !important; - -moz-transition: none !important; - -ms-transition: none !important; - transition: none !important; - } - .reveal .slides section.stack { - padding: 0 !important; - } - .reveal section:last-of-type { - page-break-after: avoid !important; - } - .reveal section .fragment { - opacity: 1 !important; - visibility: visible !important; - - -webkit-transform: none !important; - -moz-transform: none !important; - -ms-transform: none !important; - transform: none !important; - } - .reveal section img { - display: block; - margin: 15px 0px; - background: rgba(255,255,255,1); - border: 1px solid #666; - box-shadow: none; - } - - .reveal section small { - font-size: 0.8em; - } - -} \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/print/pdf.css b/Pepiniere/ansible/Formation/revealjs/css/print/pdf.css deleted file mode 100644 index ffc2421..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/print/pdf.css +++ /dev/null @@ -1,160 +0,0 @@ -/** - * This stylesheet is used to print reveal.js - * presentations to PDF. - * - * https://github.com/hakimel/reveal.js#pdf-export - */ - -* { - -webkit-print-color-adjust: exact; -} - -body { - margin: 0 auto !important; - border: 0; - padding: 0; - float: none !important; - overflow: visible; -} - -html { - width: 100%; - height: 100%; - overflow: visible; -} - -/* Remove any elements not needed in print. */ -.nestedarrow, -.reveal .controls, -.reveal .progress, -.reveal .playback, -.reveal.overview, -.fork-reveal, -.share-reveal, -.state-background { - display: none !important; -} - -h1, h2, h3, h4, h5, h6 { - text-shadow: 0 0 0 #000 !important; -} - -.reveal pre code { - overflow: hidden !important; - font-family: Courier, 'Courier New', monospace !important; -} - -ul, ol, div, p { - visibility: visible; - position: static; - width: auto; - height: auto; - display: block; - overflow: visible; - margin: auto; -} -.reveal { - width: auto !important; - height: auto !important; - overflow: hidden !important; -} -.reveal .slides { - position: static; - width: 100%; - height: auto; - - left: auto; - top: auto; - margin: 0 !important; - padding: 0 !important; - - overflow: visible; - display: block; - - -webkit-perspective: none; - -moz-perspective: none; - -ms-perspective: none; - perspective: none; - - -webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */ - -moz-perspective-origin: 50% 50%; - -ms-perspective-origin: 50% 50%; - perspective-origin: 50% 50%; -} - -.reveal .slides section { - page-break-after: always !important; - - visibility: visible !important; - position: relative !important; - display: block !important; - position: relative !important; - - margin: 0 !important; - padding: 0 !important; - box-sizing: border-box !important; - min-height: 1px; - - opacity: 1 !important; - - -webkit-transform-style: flat !important; - -moz-transform-style: flat !important; - -ms-transform-style: flat !important; - transform-style: flat !important; - - -webkit-transform: none !important; - -moz-transform: none !important; - -ms-transform: none !important; - transform: none !important; -} - -.reveal section.stack { - margin: 0 !important; - padding: 0 !important; - page-break-after: avoid !important; - height: auto !important; - min-height: auto !important; -} - -.reveal img { - box-shadow: none; -} - -.reveal .roll { - overflow: visible; - line-height: 1em; -} - -/* Slide backgrounds are placed inside of their slide when exporting to PDF */ -.reveal section .slide-background { - display: block !important; - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: -1; -} - -/* All elements should be above the slide-background */ -.reveal section>* { - position: relative; - z-index: 1; -} - -/* Display slide speaker notes when 'showNotes' is enabled */ -.reveal .speaker-notes-pdf { - display: block; - width: 100%; - max-height: none; - left: auto; - top: auto; - z-index: 100; -} - -/* Display slide numbers when 'slideNumber' is enabled */ -.reveal .slide-number-pdf { - display: block; - position: absolute; - font-size: 14px; -} - diff --git a/Pepiniere/ansible/Formation/revealjs/css/reveal.css b/Pepiniere/ansible/Formation/revealjs/css/reveal.css deleted file mode 100644 index 8a7b452..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/reveal.css +++ /dev/null @@ -1,1387 +0,0 @@ -/*! - * reveal.js - * http://lab.hakim.se/reveal-js - * MIT licensed - * - * Copyright (C) 2017 Hakim El Hattab, http://hakim.se - */ -/********************************************* - * RESET STYLES - *********************************************/ -html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe, -.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre, -.reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code, -.reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp, -.reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var, -.reveal b, .reveal u, .reveal center, -.reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li, -.reveal fieldset, .reveal form, .reveal label, .reveal legend, -.reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td, -.reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed, -.reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup, -.reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary, -.reveal time, .reveal mark, .reveal audio, .reveal video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; } - -.reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure, -.reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section { - display: block; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ -html, -body { - width: 100%; - height: 100%; - overflow: hidden; } - -body { - position: relative; - line-height: 1; - background-color: #fff; - color: #000; } - -/********************************************* - * VIEW FRAGMENTS - *********************************************/ -.reveal .slides section .fragment { - opacity: 0; - visibility: hidden; - -webkit-transition: all .2s ease; - transition: all .2s ease; } - .reveal .slides section .fragment.visible { - opacity: 1; - visibility: inherit; } - -.reveal .slides section .fragment.grow { - opacity: 1; - visibility: inherit; } - .reveal .slides section .fragment.grow.visible { - -webkit-transform: scale(1.3); - transform: scale(1.3); } - -.reveal .slides section .fragment.shrink { - opacity: 1; - visibility: inherit; } - .reveal .slides section .fragment.shrink.visible { - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -.reveal .slides section .fragment.zoom-in { - -webkit-transform: scale(0.1); - transform: scale(0.1); } - .reveal .slides section .fragment.zoom-in.visible { - -webkit-transform: none; - transform: none; } - -.reveal .slides section .fragment.fade-out { - opacity: 1; - visibility: inherit; } - .reveal .slides section .fragment.fade-out.visible { - opacity: 0; - visibility: hidden; } - -.reveal .slides section .fragment.semi-fade-out { - opacity: 1; - visibility: inherit; } - .reveal .slides section .fragment.semi-fade-out.visible { - opacity: 0.5; - visibility: inherit; } - -.reveal .slides section .fragment.strike { - opacity: 1; - visibility: inherit; } - .reveal .slides section .fragment.strike.visible { - text-decoration: line-through; } - -.reveal .slides section .fragment.fade-up { - -webkit-transform: translate(0, 20%); - transform: translate(0, 20%); } - .reveal .slides section .fragment.fade-up.visible { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); } - -.reveal .slides section .fragment.fade-down { - -webkit-transform: translate(0, -20%); - transform: translate(0, -20%); } - .reveal .slides section .fragment.fade-down.visible { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); } - -.reveal .slides section .fragment.fade-right { - -webkit-transform: translate(-20%, 0); - transform: translate(-20%, 0); } - .reveal .slides section .fragment.fade-right.visible { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); } - -.reveal .slides section .fragment.fade-left { - -webkit-transform: translate(20%, 0); - transform: translate(20%, 0); } - .reveal .slides section .fragment.fade-left.visible { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); } - -.reveal .slides section .fragment.current-visible { - opacity: 0; - visibility: hidden; } - .reveal .slides section .fragment.current-visible.current-fragment { - opacity: 1; - visibility: inherit; } - -.reveal .slides section .fragment.highlight-red, -.reveal .slides section .fragment.highlight-current-red, -.reveal .slides section .fragment.highlight-green, -.reveal .slides section .fragment.highlight-current-green, -.reveal .slides section .fragment.highlight-blue, -.reveal .slides section .fragment.highlight-current-blue { - opacity: 1; - visibility: inherit; } - -.reveal .slides section .fragment.highlight-red.visible { - color: #ff2c2d; } - -.reveal .slides section .fragment.highlight-green.visible { - color: #17ff2e; } - -.reveal .slides section .fragment.highlight-blue.visible { - color: #1b91ff; } - -.reveal .slides section .fragment.highlight-current-red.current-fragment { - color: #ff2c2d; } - -.reveal .slides section .fragment.highlight-current-green.current-fragment { - color: #17ff2e; } - -.reveal .slides section .fragment.highlight-current-blue.current-fragment { - color: #1b91ff; } - -/********************************************* - * DEFAULT ELEMENT STYLES - *********************************************/ -/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */ -.reveal:after { - content: ''; - font-style: italic; } - -.reveal iframe { - z-index: 1; } - -/** Prevents layering issues in certain browser/transition combinations */ -.reveal a { - position: relative; } - -.reveal .stretch { - max-width: none; - max-height: none; } - -.reveal pre.stretch code { - height: 100%; - max-height: 100%; - box-sizing: border-box; } - -/********************************************* - * CONTROLS - *********************************************/ -.reveal .controls { - display: none; - position: fixed; - width: 110px; - height: 110px; - z-index: 30; - right: 10px; - bottom: 10px; - -webkit-user-select: none; } - -.reveal .controls button { - padding: 0; - position: absolute; - opacity: 0.05; - width: 0; - height: 0; - background-color: transparent; - border: 12px solid transparent; - -webkit-transform: scale(0.9999); - transform: scale(0.9999); - -webkit-transition: all 0.2s ease; - transition: all 0.2s ease; - -webkit-appearance: none; - -webkit-tap-highlight-color: transparent; } - -.reveal .controls .enabled { - opacity: 0.7; - cursor: pointer; } - -.reveal .controls .enabled:active { - margin-top: 1px; } - -.reveal .controls .navigate-left { - top: 42px; - border-right-width: 22px; - border-right-color: #000; } - -.reveal .controls .navigate-left.fragmented { - opacity: 0.3; } - -.reveal .controls .navigate-right { - left: 74px; - top: 42px; - border-left-width: 22px; - border-left-color: #000; } - -.reveal .controls .navigate-right.fragmented { - opacity: 0.3; } - -.reveal .controls .navigate-up { - left: 42px; - border-bottom-width: 22px; - border-bottom-color: #000; } - -.reveal .controls .navigate-up.fragmented { - opacity: 0.3; } - -.reveal .controls .navigate-down { - left: 42px; - top: 74px; - border-top-width: 22px; - border-top-color: #000; } - -.reveal .controls .navigate-down.fragmented { - opacity: 0.3; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - position: fixed; - display: none; - height: 3px; - width: 100%; - bottom: 0; - left: 0; - z-index: 10; - background-color: rgba(0, 0, 0, 0.2); } - -.reveal .progress:after { - content: ''; - display: block; - position: absolute; - height: 20px; - width: 100%; - top: -20px; } - -.reveal .progress span { - display: block; - height: 100%; - width: 0px; - background-color: #000; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } - -/********************************************* - * SLIDE NUMBER - *********************************************/ -.reveal .slide-number { - position: fixed; - display: block; - right: 8px; - bottom: 8px; - z-index: 31; - font-family: Helvetica, sans-serif; - font-size: 12px; - line-height: 1; - color: #fff; - background-color: rgba(0, 0, 0, 0.4); - padding: 5px; } - -.reveal .slide-number-delimiter { - margin: 0 3px; } - -/********************************************* - * SLIDES - *********************************************/ -.reveal { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; - -ms-touch-action: none; - touch-action: none; } - -.reveal .slides { - position: absolute; - width: 100%; - height: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; - margin: auto; - pointer-events: none; - overflow: visible; - z-index: 1; - text-align: center; - -webkit-perspective: 600px; - perspective: 600px; - -webkit-perspective-origin: 50% 40%; - perspective-origin: 50% 40%; } - -.reveal .slides > section { - -ms-perspective: 600px; } - -.reveal .slides > section, -.reveal .slides > section > section { - display: none; - position: absolute; - width: 100%; - padding: 20px 0px; - pointer-events: auto; - z-index: 10; - -webkit-transform-style: flat; - transform-style: flat; - -webkit-transition: -webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), -webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } - -/* Global transition speed settings */ -.reveal[data-transition-speed="fast"] .slides section { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; } - -.reveal[data-transition-speed="slow"] .slides section { - -webkit-transition-duration: 1200ms; - transition-duration: 1200ms; } - -/* Slide-specific transition speed overrides */ -.reveal .slides section[data-transition-speed="fast"] { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; } - -.reveal .slides section[data-transition-speed="slow"] { - -webkit-transition-duration: 1200ms; - transition-duration: 1200ms; } - -.reveal .slides > section.stack { - padding-top: 0; - padding-bottom: 0; } - -.reveal .slides > section.present, -.reveal .slides > section > section.present { - display: block; - z-index: 11; - opacity: 1; } - -.reveal .slides > section:empty, -.reveal .slides > section > section:empty, -.reveal .slides > section[data-background-interactive], -.reveal .slides > section > section[data-background-interactive] { - pointer-events: none; } - -.reveal.center, -.reveal.center .slides, -.reveal.center .slides section { - min-height: 0 !important; } - -/* Don't allow interaction with invisible slides */ -.reveal .slides > section.future, -.reveal .slides > section > section.future, -.reveal .slides > section.past, -.reveal .slides > section > section.past { - pointer-events: none; } - -.reveal.overview .slides > section, -.reveal.overview .slides > section > section { - pointer-events: auto; } - -.reveal .slides > section.past, -.reveal .slides > section.future, -.reveal .slides > section > section.past, -.reveal .slides > section > section.future { - opacity: 0; } - -/********************************************* - * Mixins for readability of transitions - *********************************************/ -/********************************************* - * SLIDE TRANSITION - * Aliased 'linear' for backwards compatibility - *********************************************/ -.reveal.slide section { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.reveal .slides > section[data-transition=slide].past, -.reveal .slides > section[data-transition~=slide-out].past, -.reveal.slide .slides > section:not([data-transition]).past { - -webkit-transform: translate(-150%, 0); - transform: translate(-150%, 0); } - -.reveal .slides > section[data-transition=slide].future, -.reveal .slides > section[data-transition~=slide-in].future, -.reveal.slide .slides > section:not([data-transition]).future { - -webkit-transform: translate(150%, 0); - transform: translate(150%, 0); } - -.reveal .slides > section > section[data-transition=slide].past, -.reveal .slides > section > section[data-transition~=slide-out].past, -.reveal.slide .slides > section > section:not([data-transition]).past { - -webkit-transform: translate(0, -150%); - transform: translate(0, -150%); } - -.reveal .slides > section > section[data-transition=slide].future, -.reveal .slides > section > section[data-transition~=slide-in].future, -.reveal.slide .slides > section > section:not([data-transition]).future { - -webkit-transform: translate(0, 150%); - transform: translate(0, 150%); } - -.reveal.linear section { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.reveal .slides > section[data-transition=linear].past, -.reveal .slides > section[data-transition~=linear-out].past, -.reveal.linear .slides > section:not([data-transition]).past { - -webkit-transform: translate(-150%, 0); - transform: translate(-150%, 0); } - -.reveal .slides > section[data-transition=linear].future, -.reveal .slides > section[data-transition~=linear-in].future, -.reveal.linear .slides > section:not([data-transition]).future { - -webkit-transform: translate(150%, 0); - transform: translate(150%, 0); } - -.reveal .slides > section > section[data-transition=linear].past, -.reveal .slides > section > section[data-transition~=linear-out].past, -.reveal.linear .slides > section > section:not([data-transition]).past { - -webkit-transform: translate(0, -150%); - transform: translate(0, -150%); } - -.reveal .slides > section > section[data-transition=linear].future, -.reveal .slides > section > section[data-transition~=linear-in].future, -.reveal.linear .slides > section > section:not([data-transition]).future { - -webkit-transform: translate(0, 150%); - transform: translate(0, 150%); } - -/********************************************* - * CONVEX TRANSITION - * Aliased 'default' for backwards compatibility - *********************************************/ -.reveal .slides section[data-transition=default].stack, -.reveal.default .slides section.stack { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; } - -.reveal .slides > section[data-transition=default].past, -.reveal .slides > section[data-transition~=default-out].past, -.reveal.default .slides > section:not([data-transition]).past { - -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } - -.reveal .slides > section[data-transition=default].future, -.reveal .slides > section[data-transition~=default-in].future, -.reveal.default .slides > section:not([data-transition]).future { - -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } - -.reveal .slides > section > section[data-transition=default].past, -.reveal .slides > section > section[data-transition~=default-out].past, -.reveal.default .slides > section > section:not([data-transition]).past { - -webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); - transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); } - -.reveal .slides > section > section[data-transition=default].future, -.reveal .slides > section > section[data-transition~=default-in].future, -.reveal.default .slides > section > section:not([data-transition]).future { - -webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); - transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); } - -.reveal .slides section[data-transition=convex].stack, -.reveal.convex .slides section.stack { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; } - -.reveal .slides > section[data-transition=convex].past, -.reveal .slides > section[data-transition~=convex-out].past, -.reveal.convex .slides > section:not([data-transition]).past { - -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } - -.reveal .slides > section[data-transition=convex].future, -.reveal .slides > section[data-transition~=convex-in].future, -.reveal.convex .slides > section:not([data-transition]).future { - -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } - -.reveal .slides > section > section[data-transition=convex].past, -.reveal .slides > section > section[data-transition~=convex-out].past, -.reveal.convex .slides > section > section:not([data-transition]).past { - -webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); - transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); } - -.reveal .slides > section > section[data-transition=convex].future, -.reveal .slides > section > section[data-transition~=convex-in].future, -.reveal.convex .slides > section > section:not([data-transition]).future { - -webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); - transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); } - -/********************************************* - * CONCAVE TRANSITION - *********************************************/ -.reveal .slides section[data-transition=concave].stack, -.reveal.concave .slides section.stack { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; } - -.reveal .slides > section[data-transition=concave].past, -.reveal .slides > section[data-transition~=concave-out].past, -.reveal.concave .slides > section:not([data-transition]).past { - -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); } - -.reveal .slides > section[data-transition=concave].future, -.reveal .slides > section[data-transition~=concave-in].future, -.reveal.concave .slides > section:not([data-transition]).future { - -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); } - -.reveal .slides > section > section[data-transition=concave].past, -.reveal .slides > section > section[data-transition~=concave-out].past, -.reveal.concave .slides > section > section:not([data-transition]).past { - -webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); - transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); } - -.reveal .slides > section > section[data-transition=concave].future, -.reveal .slides > section > section[data-transition~=concave-in].future, -.reveal.concave .slides > section > section:not([data-transition]).future { - -webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); - transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); } - -/********************************************* - * ZOOM TRANSITION - *********************************************/ -.reveal .slides section[data-transition=zoom], -.reveal.zoom .slides section:not([data-transition]) { - -webkit-transition-timing-function: ease; - transition-timing-function: ease; } - -.reveal .slides > section[data-transition=zoom].past, -.reveal .slides > section[data-transition~=zoom-out].past, -.reveal.zoom .slides > section:not([data-transition]).past { - visibility: hidden; - -webkit-transform: scale(16); - transform: scale(16); } - -.reveal .slides > section[data-transition=zoom].future, -.reveal .slides > section[data-transition~=zoom-in].future, -.reveal.zoom .slides > section:not([data-transition]).future { - visibility: hidden; - -webkit-transform: scale(0.2); - transform: scale(0.2); } - -.reveal .slides > section > section[data-transition=zoom].past, -.reveal .slides > section > section[data-transition~=zoom-out].past, -.reveal.zoom .slides > section > section:not([data-transition]).past { - -webkit-transform: translate(0, -150%); - transform: translate(0, -150%); } - -.reveal .slides > section > section[data-transition=zoom].future, -.reveal .slides > section > section[data-transition~=zoom-in].future, -.reveal.zoom .slides > section > section:not([data-transition]).future { - -webkit-transform: translate(0, 150%); - transform: translate(0, 150%); } - -/********************************************* - * CUBE TRANSITION - * - * WARNING: - * this is deprecated and will be removed in a - * future version. - *********************************************/ -.reveal.cube .slides { - -webkit-perspective: 1300px; - perspective: 1300px; } - -.reveal.cube .slides section { - padding: 30px; - min-height: 700px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - box-sizing: border-box; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; } - -.reveal.center.cube .slides section { - min-height: 0; } - -.reveal.cube .slides section:not(.stack):before { - content: ''; - position: absolute; - display: block; - width: 100%; - height: 100%; - left: 0; - top: 0; - background: rgba(0, 0, 0, 0.1); - border-radius: 4px; - -webkit-transform: translateZ(-20px); - transform: translateZ(-20px); } - -.reveal.cube .slides section:not(.stack):after { - content: ''; - position: absolute; - display: block; - width: 90%; - height: 30px; - left: 5%; - bottom: 0; - background: none; - z-index: 1; - border-radius: 4px; - box-shadow: 0px 95px 25px rgba(0, 0, 0, 0.2); - -webkit-transform: translateZ(-90px) rotateX(65deg); - transform: translateZ(-90px) rotateX(65deg); } - -.reveal.cube .slides > section.stack { - padding: 0; - background: none; } - -.reveal.cube .slides > section.past { - -webkit-transform-origin: 100% 0%; - transform-origin: 100% 0%; - -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg); - transform: translate3d(-100%, 0, 0) rotateY(-90deg); } - -.reveal.cube .slides > section.future { - -webkit-transform-origin: 0% 0%; - transform-origin: 0% 0%; - -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg); - transform: translate3d(100%, 0, 0) rotateY(90deg); } - -.reveal.cube .slides > section > section.past { - -webkit-transform-origin: 0% 100%; - transform-origin: 0% 100%; - -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg); - transform: translate3d(0, -100%, 0) rotateX(90deg); } - -.reveal.cube .slides > section > section.future { - -webkit-transform-origin: 0% 0%; - transform-origin: 0% 0%; - -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg); - transform: translate3d(0, 100%, 0) rotateX(-90deg); } - -/********************************************* - * PAGE TRANSITION - * - * WARNING: - * this is deprecated and will be removed in a - * future version. - *********************************************/ -.reveal.page .slides { - -webkit-perspective-origin: 0% 50%; - perspective-origin: 0% 50%; - -webkit-perspective: 3000px; - perspective: 3000px; } - -.reveal.page .slides section { - padding: 30px; - min-height: 700px; - box-sizing: border-box; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; } - -.reveal.page .slides section.past { - z-index: 12; } - -.reveal.page .slides section:not(.stack):before { - content: ''; - position: absolute; - display: block; - width: 100%; - height: 100%; - left: 0; - top: 0; - background: rgba(0, 0, 0, 0.1); - -webkit-transform: translateZ(-20px); - transform: translateZ(-20px); } - -.reveal.page .slides section:not(.stack):after { - content: ''; - position: absolute; - display: block; - width: 90%; - height: 30px; - left: 5%; - bottom: 0; - background: none; - z-index: 1; - border-radius: 4px; - box-shadow: 0px 95px 25px rgba(0, 0, 0, 0.2); - -webkit-transform: translateZ(-90px) rotateX(65deg); } - -.reveal.page .slides > section.stack { - padding: 0; - background: none; } - -.reveal.page .slides > section.past { - -webkit-transform-origin: 0% 0%; - transform-origin: 0% 0%; - -webkit-transform: translate3d(-40%, 0, 0) rotateY(-80deg); - transform: translate3d(-40%, 0, 0) rotateY(-80deg); } - -.reveal.page .slides > section.future { - -webkit-transform-origin: 100% 0%; - transform-origin: 100% 0%; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - -.reveal.page .slides > section > section.past { - -webkit-transform-origin: 0% 0%; - transform-origin: 0% 0%; - -webkit-transform: translate3d(0, -40%, 0) rotateX(80deg); - transform: translate3d(0, -40%, 0) rotateX(80deg); } - -.reveal.page .slides > section > section.future { - -webkit-transform-origin: 0% 100%; - transform-origin: 0% 100%; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - -/********************************************* - * FADE TRANSITION - *********************************************/ -.reveal .slides section[data-transition=fade], -.reveal.fade .slides section:not([data-transition]), -.reveal.fade .slides > section > section:not([data-transition]) { - -webkit-transform: none; - transform: none; - -webkit-transition: opacity 0.5s; - transition: opacity 0.5s; } - -.reveal.fade.overview .slides section, -.reveal.fade.overview .slides > section > section { - -webkit-transition: none; - transition: none; } - -/********************************************* - * NO TRANSITION - *********************************************/ -.reveal .slides section[data-transition=none], -.reveal.none .slides section:not([data-transition]) { - -webkit-transform: none; - transform: none; - -webkit-transition: none; - transition: none; } - -/********************************************* - * PAUSED MODE - *********************************************/ -.reveal .pause-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: black; - visibility: hidden; - opacity: 0; - z-index: 100; - -webkit-transition: all 1s ease; - transition: all 1s ease; } - -.reveal.paused .pause-overlay { - visibility: visible; - opacity: 1; } - -/********************************************* - * FALLBACK - *********************************************/ -.no-transforms { - overflow-y: auto; } - -.no-transforms .reveal .slides { - position: relative; - width: 80%; - height: auto !important; - top: 0; - left: 50%; - margin: 0; - text-align: center; } - -.no-transforms .reveal .controls, -.no-transforms .reveal .progress { - display: none !important; } - -.no-transforms .reveal .slides section { - display: block !important; - opacity: 1 !important; - position: relative !important; - height: auto; - min-height: 0; - top: 0; - left: -50%; - margin: 70px 0; - -webkit-transform: none; - transform: none; } - -.no-transforms .reveal .slides section section { - left: 0; } - -.reveal .no-transition, -.reveal .no-transition * { - -webkit-transition: none !important; - transition: none !important; } - -/********************************************* - * PER-SLIDE BACKGROUNDS - *********************************************/ -.reveal .backgrounds { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - -webkit-perspective: 600px; - perspective: 600px; } - -.reveal .slide-background { - display: none; - position: absolute; - width: 100%; - height: 100%; - opacity: 0; - visibility: hidden; - overflow: hidden; - background-color: transparent; - background-position: 50% 50%; - background-repeat: no-repeat; - background-size: cover; - -webkit-transition: all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } - -.reveal .slide-background.stack { - display: block; } - -.reveal .slide-background.present { - opacity: 1; - visibility: visible; - z-index: 2; } - -.print-pdf .reveal .slide-background { - opacity: 1 !important; - visibility: visible !important; } - -/* Video backgrounds */ -.reveal .slide-background video { - position: absolute; - width: 100%; - height: 100%; - max-width: none; - max-height: none; - top: 0; - left: 0; - -o-object-fit: cover; - object-fit: cover; } - -.reveal .slide-background[data-background-size="contain"] video { - -o-object-fit: contain; - object-fit: contain; } - -/* Immediate transition style */ -.reveal[data-background-transition=none] > .backgrounds .slide-background, -.reveal > .backgrounds .slide-background[data-background-transition=none] { - -webkit-transition: none; - transition: none; } - -/* Slide */ -.reveal[data-background-transition=slide] > .backgrounds .slide-background, -.reveal > .backgrounds .slide-background[data-background-transition=slide] { - opacity: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.reveal[data-background-transition=slide] > .backgrounds .slide-background.past, -.reveal > .backgrounds .slide-background.past[data-background-transition=slide] { - -webkit-transform: translate(-100%, 0); - transform: translate(-100%, 0); } - -.reveal[data-background-transition=slide] > .backgrounds .slide-background.future, -.reveal > .backgrounds .slide-background.future[data-background-transition=slide] { - -webkit-transform: translate(100%, 0); - transform: translate(100%, 0); } - -.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.past, -.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=slide] { - -webkit-transform: translate(0, -100%); - transform: translate(0, -100%); } - -.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.future, -.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=slide] { - -webkit-transform: translate(0, 100%); - transform: translate(0, 100%); } - -/* Convex */ -.reveal[data-background-transition=convex] > .backgrounds .slide-background.past, -.reveal > .backgrounds .slide-background.past[data-background-transition=convex] { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } - -.reveal[data-background-transition=convex] > .backgrounds .slide-background.future, -.reveal > .backgrounds .slide-background.future[data-background-transition=convex] { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } - -.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.past, -.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=convex] { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0); } - -.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.future, -.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=convex] { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0); } - -/* Concave */ -.reveal[data-background-transition=concave] > .backgrounds .slide-background.past, -.reveal > .backgrounds .slide-background.past[data-background-transition=concave] { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); } - -.reveal[data-background-transition=concave] > .backgrounds .slide-background.future, -.reveal > .backgrounds .slide-background.future[data-background-transition=concave] { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); } - -.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.past, -.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=concave] { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0); } - -.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.future, -.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=concave] { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0); } - -/* Zoom */ -.reveal[data-background-transition=zoom] > .backgrounds .slide-background, -.reveal > .backgrounds .slide-background[data-background-transition=zoom] { - -webkit-transition-timing-function: ease; - transition-timing-function: ease; } - -.reveal[data-background-transition=zoom] > .backgrounds .slide-background.past, -.reveal > .backgrounds .slide-background.past[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - -webkit-transform: scale(16); - transform: scale(16); } - -.reveal[data-background-transition=zoom] > .backgrounds .slide-background.future, -.reveal > .backgrounds .slide-background.future[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - -webkit-transform: scale(0.2); - transform: scale(0.2); } - -.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.past, -.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - -webkit-transform: scale(16); - transform: scale(16); } - -.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.future, -.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - -webkit-transform: scale(0.2); - transform: scale(0.2); } - -/* Global transition speed settings */ -.reveal[data-transition-speed="fast"] > .backgrounds .slide-background { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; } - -.reveal[data-transition-speed="slow"] > .backgrounds .slide-background { - -webkit-transition-duration: 1200ms; - transition-duration: 1200ms; } - -/********************************************* - * OVERVIEW - *********************************************/ -.reveal.overview { - -webkit-perspective-origin: 50% 50%; - perspective-origin: 50% 50%; - -webkit-perspective: 700px; - perspective: 700px; } - .reveal.overview .slides { - -moz-transform-style: preserve-3d; } - .reveal.overview .slides section { - height: 100%; - top: 0 !important; - opacity: 1 !important; - overflow: hidden; - visibility: visible !important; - cursor: pointer; - box-sizing: border-box; } - .reveal.overview .slides section:hover, - .reveal.overview .slides section.present { - outline: 10px solid rgba(150, 150, 150, 0.4); - outline-offset: 10px; } - .reveal.overview .slides section .fragment { - opacity: 1; - -webkit-transition: none; - transition: none; } - .reveal.overview .slides section:after, - .reveal.overview .slides section:before { - display: none !important; } - .reveal.overview .slides > section.stack { - padding: 0; - top: 0 !important; - background: none; - outline: none; - overflow: visible; } - .reveal.overview .backgrounds { - -webkit-perspective: inherit; - perspective: inherit; - -moz-transform-style: preserve-3d; } - .reveal.overview .backgrounds .slide-background { - opacity: 1; - visibility: visible; - outline: 10px solid rgba(150, 150, 150, 0.1); - outline-offset: 10px; } - .reveal.overview .backgrounds .slide-background.stack { - overflow: visible; } - -.reveal.overview .slides section, -.reveal.overview-deactivating .slides section { - -webkit-transition: none; - transition: none; } - -.reveal.overview .backgrounds .slide-background, -.reveal.overview-deactivating .backgrounds .slide-background { - -webkit-transition: none; - transition: none; } - -/********************************************* - * RTL SUPPORT - *********************************************/ -.reveal.rtl .slides, -.reveal.rtl .slides h1, -.reveal.rtl .slides h2, -.reveal.rtl .slides h3, -.reveal.rtl .slides h4, -.reveal.rtl .slides h5, -.reveal.rtl .slides h6 { - direction: rtl; - font-family: sans-serif; } - -.reveal.rtl pre, -.reveal.rtl code { - direction: ltr; } - -.reveal.rtl ol, -.reveal.rtl ul { - text-align: right; } - -.reveal.rtl .progress span { - float: right; } - -/********************************************* - * PARALLAX BACKGROUND - *********************************************/ -.reveal.has-parallax-background .backgrounds { - -webkit-transition: all 0.8s ease; - transition: all 0.8s ease; } - -/* Global transition speed settings */ -.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; } - -.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds { - -webkit-transition-duration: 1200ms; - transition-duration: 1200ms; } - -/********************************************* - * LINK PREVIEW OVERLAY - *********************************************/ -.reveal .overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1000; - background: rgba(0, 0, 0, 0.9); - opacity: 0; - visibility: hidden; - -webkit-transition: all 0.3s ease; - transition: all 0.3s ease; } - -.reveal .overlay.visible { - opacity: 1; - visibility: visible; } - -.reveal .overlay .spinner { - position: absolute; - display: block; - top: 50%; - left: 50%; - width: 32px; - height: 32px; - margin: -16px 0 0 -16px; - z-index: 10; - background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D); - visibility: visible; - opacity: 0.6; - -webkit-transition: all 0.3s ease; - transition: all 0.3s ease; } - -.reveal .overlay header { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 40px; - z-index: 2; - border-bottom: 1px solid #222; } - -.reveal .overlay header a { - display: inline-block; - width: 40px; - height: 40px; - line-height: 36px; - padding: 0 10px; - float: right; - opacity: 0.6; - box-sizing: border-box; } - -.reveal .overlay header a:hover { - opacity: 1; } - -.reveal .overlay header a .icon { - display: inline-block; - width: 20px; - height: 20px; - background-position: 50% 50%; - background-size: 100%; - background-repeat: no-repeat; } - -.reveal .overlay header a.close .icon { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC); } - -.reveal .overlay header a.external .icon { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==); } - -.reveal .overlay .viewport { - position: absolute; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - top: 40px; - right: 0; - bottom: 0; - left: 0; } - -.reveal .overlay.overlay-preview .viewport iframe { - width: 100%; - height: 100%; - max-width: 100%; - max-height: 100%; - border: 0; - opacity: 0; - visibility: hidden; - -webkit-transition: all 0.3s ease; - transition: all 0.3s ease; } - -.reveal .overlay.overlay-preview.loaded .viewport iframe { - opacity: 1; - visibility: visible; } - -.reveal .overlay.overlay-preview.loaded .viewport-inner { - position: absolute; - z-index: -1; - left: 0; - top: 45%; - width: 100%; - text-align: center; - letter-spacing: normal; } - -.reveal .overlay.overlay-preview .x-frame-error { - opacity: 0; - -webkit-transition: opacity 0.3s ease 0.3s; - transition: opacity 0.3s ease 0.3s; } - -.reveal .overlay.overlay-preview.loaded .x-frame-error { - opacity: 1; } - -.reveal .overlay.overlay-preview.loaded .spinner { - opacity: 0; - visibility: hidden; - -webkit-transform: scale(0.2); - transform: scale(0.2); } - -.reveal .overlay.overlay-help .viewport { - overflow: auto; - color: #fff; } - -.reveal .overlay.overlay-help .viewport .viewport-inner { - width: 600px; - margin: auto; - padding: 20px 20px 80px 20px; - text-align: center; - letter-spacing: normal; } - -.reveal .overlay.overlay-help .viewport .viewport-inner .title { - font-size: 20px; } - -.reveal .overlay.overlay-help .viewport .viewport-inner table { - border: 1px solid #fff; - border-collapse: collapse; - font-size: 16px; } - -.reveal .overlay.overlay-help .viewport .viewport-inner table th, -.reveal .overlay.overlay-help .viewport .viewport-inner table td { - width: 200px; - padding: 14px; - border: 1px solid #fff; - vertical-align: middle; } - -.reveal .overlay.overlay-help .viewport .viewport-inner table th { - padding-top: 20px; - padding-bottom: 20px; } - -/********************************************* - * PLAYBACK COMPONENT - *********************************************/ -.reveal .playback { - position: fixed; - left: 15px; - bottom: 20px; - z-index: 30; - cursor: pointer; - -webkit-transition: all 400ms ease; - transition: all 400ms ease; } - -.reveal.overview .playback { - opacity: 0; - visibility: hidden; } - -/********************************************* - * ROLLING LINKS - *********************************************/ -.reveal .roll { - display: inline-block; - line-height: 1.2; - overflow: hidden; - vertical-align: top; - -webkit-perspective: 400px; - perspective: 400px; - -webkit-perspective-origin: 50% 50%; - perspective-origin: 50% 50%; } - -.reveal .roll:hover { - background: none; - text-shadow: none; } - -.reveal .roll span { - display: block; - position: relative; - padding: 0 2px; - pointer-events: none; - -webkit-transition: all 400ms ease; - transition: all 400ms ease; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.reveal .roll:hover span { - background: rgba(0, 0, 0, 0.5); - -webkit-transform: translate3d(0px, 0px, -45px) rotateX(90deg); - transform: translate3d(0px, 0px, -45px) rotateX(90deg); } - -.reveal .roll span:after { - content: attr(data-title); - display: block; - position: absolute; - left: 0; - top: 0; - padding: 0 2px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; - -webkit-transform: translate3d(0px, 110%, 0px) rotateX(-90deg); - transform: translate3d(0px, 110%, 0px) rotateX(-90deg); } - -/********************************************* - * SPEAKER NOTES - *********************************************/ -.reveal aside.notes { - display: none; } - -.reveal .speaker-notes { - display: none; - position: absolute; - width: 70%; - max-height: 15%; - left: 15%; - bottom: 26px; - padding: 10px; - z-index: 1; - font-size: 18px; - line-height: 1.4; - color: #fff; - background-color: rgba(0, 0, 0, 0.5); - overflow: auto; - box-sizing: border-box; - text-align: left; - font-family: Helvetica, sans-serif; - -webkit-overflow-scrolling: touch; } - -.reveal .speaker-notes.visible:not(:empty) { - display: block; } - -@media screen and (max-width: 1024px) { - .reveal .speaker-notes { - font-size: 14px; } } - -@media screen and (max-width: 600px) { - .reveal .speaker-notes { - width: 90%; - left: 5%; } } - -/********************************************* - * ZOOM PLUGIN - *********************************************/ -.zoomed .reveal *, -.zoomed .reveal *:before, -.zoomed .reveal *:after { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; } - -.zoomed .reveal .progress, -.zoomed .reveal .controls { - opacity: 0; } - -.zoomed .reveal .roll span { - background: none; } - -.zoomed .reveal .roll span:after { - visibility: hidden; } diff --git a/Pepiniere/ansible/Formation/revealjs/css/reveal.scss b/Pepiniere/ansible/Formation/revealjs/css/reveal.scss deleted file mode 100644 index 7029f52..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/reveal.scss +++ /dev/null @@ -1,1411 +0,0 @@ -/*! - * reveal.js - * http://lab.hakim.se/reveal-js - * MIT licensed - * - * Copyright (C) 2016 Hakim El Hattab, http://hakim.se - */ - - -/********************************************* - * RESET STYLES - *********************************************/ - -html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe, -.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre, -.reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code, -.reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp, -.reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var, -.reveal b, .reveal u, .reveal center, -.reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li, -.reveal fieldset, .reveal form, .reveal label, .reveal legend, -.reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td, -.reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed, -.reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup, -.reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary, -.reveal time, .reveal mark, .reveal audio, .reveal video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} - -.reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure, -.reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section { - display: block; -} - - -/********************************************* - * GLOBAL STYLES - *********************************************/ - -html, -body { - width: 100%; - height: 100%; - overflow: hidden; -} - -body { - position: relative; - line-height: 1; - - background-color: #fff; - color: #000; -} - -// Ensures that the main background color matches the -// theme in fullscreen mode -html:-webkit-full-screen-ancestor { - background-color: inherit; -} -html:-moz-full-screen-ancestor { - background-color: inherit; -} - - -/********************************************* - * VIEW FRAGMENTS - *********************************************/ - -.reveal .slides section .fragment { - opacity: 0; - visibility: hidden; - transition: all .2s ease; - - &.visible { - opacity: 1; - visibility: visible; - } -} - -.reveal .slides section .fragment.grow { - opacity: 1; - visibility: visible; - - &.visible { - transform: scale( 1.3 ); - } -} - -.reveal .slides section .fragment.shrink { - opacity: 1; - visibility: visible; - - &.visible { - transform: scale( 0.7 ); - } -} - -.reveal .slides section .fragment.zoom-in { - transform: scale( 0.1 ); - - &.visible { - transform: none; - } -} - -.reveal .slides section .fragment.fade-out { - opacity: 1; - visibility: visible; - - &.visible { - opacity: 0; - visibility: hidden; - } -} - -.reveal .slides section .fragment.semi-fade-out { - opacity: 1; - visibility: visible; - - &.visible { - opacity: 0.5; - visibility: visible; - } -} - -.reveal .slides section .fragment.strike { - opacity: 1; - visibility: visible; - - &.visible { - text-decoration: line-through; - } -} - -.reveal .slides section .fragment.fade-up { - transform: translate(0, 20%); - - &.visible { - transform: translate(0, 0); - } -} - -.reveal .slides section .fragment.fade-down { - transform: translate(0, -20%); - - &.visible { - transform: translate(0, 0); - } -} - -.reveal .slides section .fragment.fade-right { - transform: translate(-20%, 0); - - &.visible { - transform: translate(0, 0); - } -} - -.reveal .slides section .fragment.fade-left { - transform: translate(20%, 0); - - &.visible { - transform: translate(0, 0); - } -} - -.reveal .slides section .fragment.current-visible { - opacity: 0; - visibility: hidden; - - &.current-fragment { - opacity: 1; - visibility: visible; - } -} - -.reveal .slides section .fragment.highlight-red, -.reveal .slides section .fragment.highlight-current-red, -.reveal .slides section .fragment.highlight-green, -.reveal .slides section .fragment.highlight-current-green, -.reveal .slides section .fragment.highlight-blue, -.reveal .slides section .fragment.highlight-current-blue { - opacity: 1; - visibility: visible; -} - .reveal .slides section .fragment.highlight-red.visible { - color: #ff2c2d - } - .reveal .slides section .fragment.highlight-green.visible { - color: #17ff2e; - } - .reveal .slides section .fragment.highlight-blue.visible { - color: #1b91ff; - } - -.reveal .slides section .fragment.highlight-current-red.current-fragment { - color: #ff2c2d -} -.reveal .slides section .fragment.highlight-current-green.current-fragment { - color: #17ff2e; -} -.reveal .slides section .fragment.highlight-current-blue.current-fragment { - color: #1b91ff; -} - - -/********************************************* - * DEFAULT ELEMENT STYLES - *********************************************/ - -/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */ -.reveal:after { - content: ''; - font-style: italic; -} - -.reveal iframe { - z-index: 1; -} - -/** Prevents layering issues in certain browser/transition combinations */ -.reveal a { - position: relative; -} - -.reveal .stretch { - max-width: none; - max-height: none; -} - -.reveal pre.stretch code { - height: 100%; - max-height: 100%; - box-sizing: border-box; -} - - -/********************************************* - * CONTROLS - *********************************************/ - -.reveal .controls { - display: none; - position: fixed; - width: 110px; - height: 110px; - z-index: 30; - right: 10px; - bottom: 10px; - - -webkit-user-select: none; -} - -.reveal .controls button { - padding: 0; - position: absolute; - opacity: 0.05; - width: 0; - height: 0; - background-color: transparent; - border: 12px solid transparent; - transform: scale(.9999); - transition: all 0.2s ease; - -webkit-appearance: none; - -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 ); -} - -.reveal .controls .enabled { - opacity: 0.7; - cursor: pointer; -} - -.reveal .controls .enabled:active { - margin-top: 1px; -} - - .reveal .controls .navigate-left { - top: 42px; - - border-right-width: 22px; - border-right-color: #000; - } - .reveal .controls .navigate-left.fragmented { - opacity: 0.3; - } - - .reveal .controls .navigate-right { - left: 74px; - top: 42px; - - border-left-width: 22px; - border-left-color: #000; - } - .reveal .controls .navigate-right.fragmented { - opacity: 0.3; - } - - .reveal .controls .navigate-up { - left: 42px; - - border-bottom-width: 22px; - border-bottom-color: #000; - } - .reveal .controls .navigate-up.fragmented { - opacity: 0.3; - } - - .reveal .controls .navigate-down { - left: 42px; - top: 74px; - - border-top-width: 22px; - border-top-color: #000; - } - .reveal .controls .navigate-down.fragmented { - opacity: 0.3; - } - - -/********************************************* - * PROGRESS BAR - *********************************************/ - -.reveal .progress { - position: fixed; - display: none; - height: 3px; - width: 100%; - bottom: 0; - left: 0; - z-index: 10; - - background-color: rgba( 0, 0, 0, 0.2 ); -} - .reveal .progress:after { - content: ''; - display: block; - position: absolute; - height: 20px; - width: 100%; - top: -20px; - } - .reveal .progress span { - display: block; - height: 100%; - width: 0px; - - background-color: #000; - transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); - } - -/********************************************* - * SLIDE NUMBER - *********************************************/ - -.reveal .slide-number { - position: fixed; - display: block; - right: 8px; - bottom: 8px; - z-index: 31; - font-family: Helvetica, sans-serif; - font-size: 12px; - line-height: 1; - color: #fff; - background-color: rgba( 0, 0, 0, 0.4 ); - padding: 5px; -} - -.reveal .slide-number-delimiter { - margin: 0 3px; -} - -/********************************************* - * SLIDES - *********************************************/ - -.reveal { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; - touch-action: none; -} - -.reveal .slides { - position: absolute; - width: 100%; - height: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; - margin: auto; - - overflow: visible; - z-index: 1; - text-align: center; - perspective: 600px; - perspective-origin: 50% 40%; -} - -.reveal .slides>section { - -ms-perspective: 600px; -} - -.reveal .slides>section, -.reveal .slides>section>section { - display: none; - position: absolute; - width: 100%; - padding: 20px 0px; - - z-index: 10; - transform-style: preserve-3d; - transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), - transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), - visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), - opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -} - -/* Global transition speed settings */ -.reveal[data-transition-speed="fast"] .slides section { - transition-duration: 400ms; -} -.reveal[data-transition-speed="slow"] .slides section { - transition-duration: 1200ms; -} - -/* Slide-specific transition speed overrides */ -.reveal .slides section[data-transition-speed="fast"] { - transition-duration: 400ms; -} -.reveal .slides section[data-transition-speed="slow"] { - transition-duration: 1200ms; -} - -.reveal .slides>section.stack { - padding-top: 0; - padding-bottom: 0; -} - -.reveal .slides>section.present, -.reveal .slides>section>section.present { - display: block; - z-index: 11; - opacity: 1; -} - -.reveal.center, -.reveal.center .slides, -.reveal.center .slides section { - min-height: 0 !important; -} - -/* Don't allow interaction with invisible slides */ -.reveal .slides>section.future, -.reveal .slides>section>section.future, -.reveal .slides>section.past, -.reveal .slides>section>section.past { - pointer-events: none; -} - -.reveal.overview .slides>section, -.reveal.overview .slides>section>section { - pointer-events: auto; -} - -.reveal .slides>section.past, -.reveal .slides>section.future, -.reveal .slides>section>section.past, -.reveal .slides>section>section.future { - opacity: 0; -} - - -/********************************************* - * Mixins for readability of transitions - *********************************************/ - -@mixin transition-global($style) { - .reveal .slides section[data-transition=#{$style}], - .reveal.#{$style} .slides section:not([data-transition]) { - @content; - } -} -@mixin transition-horizontal-past($style) { - .reveal .slides>section[data-transition=#{$style}].past, - .reveal .slides>section[data-transition~=#{$style}-out].past, - .reveal.#{$style} .slides>section:not([data-transition]).past { - @content; - } -} -@mixin transition-horizontal-future($style) { - .reveal .slides>section[data-transition=#{$style}].future, - .reveal .slides>section[data-transition~=#{$style}-in].future, - .reveal.#{$style} .slides>section:not([data-transition]).future { - @content; - } -} - -@mixin transition-vertical-past($style) { - .reveal .slides>section>section[data-transition=#{$style}].past, - .reveal .slides>section>section[data-transition~=#{$style}-out].past, - .reveal.#{$style} .slides>section>section:not([data-transition]).past { - @content; - } -} -@mixin transition-vertical-future($style) { - .reveal .slides>section>section[data-transition=#{$style}].future, - .reveal .slides>section>section[data-transition~=#{$style}-in].future, - .reveal.#{$style} .slides>section>section:not([data-transition]).future { - @content; - } -} - -/********************************************* - * SLIDE TRANSITION - * Aliased 'linear' for backwards compatibility - *********************************************/ - -@each $stylename in slide, linear { - .reveal.#{$stylename} section { - backface-visibility: hidden; - } - @include transition-horizontal-past(#{$stylename}) { - transform: translate(-150%, 0); - } - @include transition-horizontal-future(#{$stylename}) { - transform: translate(150%, 0); - } - @include transition-vertical-past(#{$stylename}) { - transform: translate(0, -150%); - } - @include transition-vertical-future(#{$stylename}) { - transform: translate(0, 150%); - } -} - -/********************************************* - * CONVEX TRANSITION - * Aliased 'default' for backwards compatibility - *********************************************/ - -@each $stylename in default, convex { - @include transition-horizontal-past(#{$stylename}) { - transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); - } - @include transition-horizontal-future(#{$stylename}) { - transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); - } - @include transition-vertical-past(#{$stylename}) { - transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); - } - @include transition-vertical-future(#{$stylename}) { - transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); - } -} - -/********************************************* - * CONCAVE TRANSITION - *********************************************/ - -@include transition-horizontal-past(concave) { - transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); -} -@include transition-horizontal-future(concave) { - transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); -} -@include transition-vertical-past(concave) { - transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); -} -@include transition-vertical-future(concave) { - transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); -} - - -/********************************************* - * ZOOM TRANSITION - *********************************************/ - -@include transition-global(zoom) { - transition-timing-function: ease; -} -@include transition-horizontal-past(zoom) { - visibility: hidden; - transform: scale(16); -} -@include transition-horizontal-future(zoom) { - visibility: hidden; - transform: scale(0.2); -} -@include transition-vertical-past(zoom) { - transform: translate(0, -150%); -} -@include transition-vertical-future(zoom) { - transform: translate(0, 150%); -} - - -/********************************************* - * CUBE TRANSITION - *********************************************/ - -.reveal.cube .slides { - perspective: 1300px; -} - -.reveal.cube .slides section { - padding: 30px; - min-height: 700px; - backface-visibility: hidden; - box-sizing: border-box; -} - .reveal.center.cube .slides section { - min-height: 0; - } - .reveal.cube .slides section:not(.stack):before { - content: ''; - position: absolute; - display: block; - width: 100%; - height: 100%; - left: 0; - top: 0; - background: rgba(0,0,0,0.1); - border-radius: 4px; - transform: translateZ( -20px ); - } - .reveal.cube .slides section:not(.stack):after { - content: ''; - position: absolute; - display: block; - width: 90%; - height: 30px; - left: 5%; - bottom: 0; - background: none; - z-index: 1; - - border-radius: 4px; - box-shadow: 0px 95px 25px rgba(0,0,0,0.2); - transform: translateZ(-90px) rotateX( 65deg ); - } - -.reveal.cube .slides>section.stack { - padding: 0; - background: none; -} - -.reveal.cube .slides>section.past { - transform-origin: 100% 0%; - transform: translate3d(-100%, 0, 0) rotateY(-90deg); -} - -.reveal.cube .slides>section.future { - transform-origin: 0% 0%; - transform: translate3d(100%, 0, 0) rotateY(90deg); -} - -.reveal.cube .slides>section>section.past { - transform-origin: 0% 100%; - transform: translate3d(0, -100%, 0) rotateX(90deg); -} - -.reveal.cube .slides>section>section.future { - transform-origin: 0% 0%; - transform: translate3d(0, 100%, 0) rotateX(-90deg); -} - - -/********************************************* - * PAGE TRANSITION - *********************************************/ - -.reveal.page .slides { - perspective-origin: 0% 50%; - perspective: 3000px; -} - -.reveal.page .slides section { - padding: 30px; - min-height: 700px; - box-sizing: border-box; -} - .reveal.page .slides section.past { - z-index: 12; - } - .reveal.page .slides section:not(.stack):before { - content: ''; - position: absolute; - display: block; - width: 100%; - height: 100%; - left: 0; - top: 0; - background: rgba(0,0,0,0.1); - transform: translateZ( -20px ); - } - .reveal.page .slides section:not(.stack):after { - content: ''; - position: absolute; - display: block; - width: 90%; - height: 30px; - left: 5%; - bottom: 0; - background: none; - z-index: 1; - - border-radius: 4px; - box-shadow: 0px 95px 25px rgba(0,0,0,0.2); - - -webkit-transform: translateZ(-90px) rotateX( 65deg ); - } - -.reveal.page .slides>section.stack { - padding: 0; - background: none; -} - -.reveal.page .slides>section.past { - transform-origin: 0% 0%; - transform: translate3d(-40%, 0, 0) rotateY(-80deg); -} - -.reveal.page .slides>section.future { - transform-origin: 100% 0%; - transform: translate3d(0, 0, 0); -} - -.reveal.page .slides>section>section.past { - transform-origin: 0% 0%; - transform: translate3d(0, -40%, 0) rotateX(80deg); -} - -.reveal.page .slides>section>section.future { - transform-origin: 0% 100%; - transform: translate3d(0, 0, 0); -} - - -/********************************************* - * FADE TRANSITION - *********************************************/ - -.reveal .slides section[data-transition=fade], -.reveal.fade .slides section:not([data-transition]), -.reveal.fade .slides>section>section:not([data-transition]) { - transform: none; - transition: opacity 0.5s; -} - - -.reveal.fade.overview .slides section, -.reveal.fade.overview .slides>section>section { - transition: none; -} - - -/********************************************* - * NO TRANSITION - *********************************************/ - -@include transition-global(none) { - transform: none; - transition: none; -} - - -/********************************************* - * PAUSED MODE - *********************************************/ - -.reveal .pause-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: black; - visibility: hidden; - opacity: 0; - z-index: 100; - transition: all 1s ease; -} -.reveal.paused .pause-overlay { - visibility: visible; - opacity: 1; -} - - -/********************************************* - * FALLBACK - *********************************************/ - -.no-transforms { - overflow-y: auto; -} - -.no-transforms .reveal .slides { - position: relative; - width: 80%; - height: auto !important; - top: 0; - left: 50%; - margin: 0; - text-align: center; -} - -.no-transforms .reveal .controls, -.no-transforms .reveal .progress { - display: none !important; -} - -.no-transforms .reveal .slides section { - display: block !important; - opacity: 1 !important; - position: relative !important; - height: auto; - min-height: 0; - top: 0; - left: -50%; - margin: 70px 0; - transform: none; -} - -.no-transforms .reveal .slides section section { - left: 0; -} - -.reveal .no-transition, -.reveal .no-transition * { - transition: none !important; -} - - -/********************************************* - * PER-SLIDE BACKGROUNDS - *********************************************/ - -.reveal .backgrounds { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - perspective: 600px; -} - .reveal .slide-background { - display: none; - position: absolute; - width: 100%; - height: 100%; - opacity: 0; - visibility: hidden; - - background-color: rgba( 0, 0, 0, 0 ); - background-position: 50% 50%; - background-repeat: no-repeat; - background-size: cover; - - transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); - } - - .reveal .slide-background.stack { - display: block; - } - - .reveal .slide-background.present { - opacity: 1; - visibility: visible; - } - - .print-pdf .reveal .slide-background { - opacity: 1 !important; - visibility: visible !important; - } - -/* Video backgrounds */ -.reveal .slide-background video { - position: absolute; - width: 100%; - height: 100%; - max-width: none; - max-height: none; - top: 0; - left: 0; -} - -/* Immediate transition style */ -.reveal[data-background-transition=none]>.backgrounds .slide-background, -.reveal>.backgrounds .slide-background[data-background-transition=none] { - transition: none; -} - -/* Slide */ -.reveal[data-background-transition=slide]>.backgrounds .slide-background, -.reveal>.backgrounds .slide-background[data-background-transition=slide] { - opacity: 1; - backface-visibility: hidden; -} - .reveal[data-background-transition=slide]>.backgrounds .slide-background.past, - .reveal>.backgrounds .slide-background.past[data-background-transition=slide] { - transform: translate(-100%, 0); - } - .reveal[data-background-transition=slide]>.backgrounds .slide-background.future, - .reveal>.backgrounds .slide-background.future[data-background-transition=slide] { - transform: translate(100%, 0); - } - - .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past, - .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] { - transform: translate(0, -100%); - } - .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future, - .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] { - transform: translate(0, 100%); - } - - -/* Convex */ -.reveal[data-background-transition=convex]>.backgrounds .slide-background.past, -.reveal>.backgrounds .slide-background.past[data-background-transition=convex] { - opacity: 0; - transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); -} -.reveal[data-background-transition=convex]>.backgrounds .slide-background.future, -.reveal>.backgrounds .slide-background.future[data-background-transition=convex] { - opacity: 0; - transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); -} - -.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past, -.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] { - opacity: 0; - transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0); -} -.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future, -.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] { - opacity: 0; - transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0); -} - - -/* Concave */ -.reveal[data-background-transition=concave]>.backgrounds .slide-background.past, -.reveal>.backgrounds .slide-background.past[data-background-transition=concave] { - opacity: 0; - transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); -} -.reveal[data-background-transition=concave]>.backgrounds .slide-background.future, -.reveal>.backgrounds .slide-background.future[data-background-transition=concave] { - opacity: 0; - transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); -} - -.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past, -.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] { - opacity: 0; - transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0); -} -.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future, -.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] { - opacity: 0; - transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0); -} - -/* Zoom */ -.reveal[data-background-transition=zoom]>.backgrounds .slide-background, -.reveal>.backgrounds .slide-background[data-background-transition=zoom] { - transition-timing-function: ease; -} - -.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past, -.reveal>.backgrounds .slide-background.past[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - transform: scale(16); -} -.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future, -.reveal>.backgrounds .slide-background.future[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - transform: scale(0.2); -} - -.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past, -.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - transform: scale(16); -} -.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future, -.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] { - opacity: 0; - visibility: hidden; - transform: scale(0.2); -} - - -/* Global transition speed settings */ -.reveal[data-transition-speed="fast"]>.backgrounds .slide-background { - transition-duration: 400ms; -} -.reveal[data-transition-speed="slow"]>.backgrounds .slide-background { - transition-duration: 1200ms; -} - - -/********************************************* - * OVERVIEW - *********************************************/ - -.reveal.overview { - perspective-origin: 50% 50%; - perspective: 700px; - - .slides section { - height: 100%; - top: 0 !important; - opacity: 1 !important; - overflow: hidden; - visibility: visible !important; - cursor: pointer; - box-sizing: border-box; - } - .slides section:hover, - .slides section.present { - outline: 10px solid rgba(150,150,150,0.4); - outline-offset: 10px; - } - .slides section .fragment { - opacity: 1; - transition: none; - } - .slides section:after, - .slides section:before { - display: none !important; - } - .slides>section.stack { - padding: 0; - top: 0 !important; - background: none; - outline: none; - overflow: visible; - } - - .backgrounds { - perspective: inherit; - } - - .backgrounds .slide-background { - opacity: 1; - visibility: visible; - - // This can't be applied to the slide itself in Safari - outline: 10px solid rgba(150,150,150,0.1); - outline-offset: 10px; - } -} - -// Disable transitions transitions while we're activating -// or deactivating the overview mode. -.reveal.overview .slides section, -.reveal.overview-deactivating .slides section { - transition: none; -} - -.reveal.overview .backgrounds .slide-background, -.reveal.overview-deactivating .backgrounds .slide-background { - transition: none; -} - -.reveal.overview-animated .slides { - transition: transform 0.4s ease; -} - - -/********************************************* - * RTL SUPPORT - *********************************************/ - -.reveal.rtl .slides, -.reveal.rtl .slides h1, -.reveal.rtl .slides h2, -.reveal.rtl .slides h3, -.reveal.rtl .slides h4, -.reveal.rtl .slides h5, -.reveal.rtl .slides h6 { - direction: rtl; - font-family: sans-serif; -} - -.reveal.rtl pre, -.reveal.rtl code { - direction: ltr; -} - -.reveal.rtl ol, -.reveal.rtl ul { - text-align: right; -} - -.reveal.rtl .progress span { - float: right -} - -/********************************************* - * PARALLAX BACKGROUND - *********************************************/ - -.reveal.has-parallax-background .backgrounds { - transition: all 0.8s ease; -} - -/* Global transition speed settings */ -.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds { - transition-duration: 400ms; -} -.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds { - transition-duration: 1200ms; -} - - -/********************************************* - * LINK PREVIEW OVERLAY - *********************************************/ - -.reveal .overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1000; - background: rgba( 0, 0, 0, 0.9 ); - opacity: 0; - visibility: hidden; - transition: all 0.3s ease; -} - .reveal .overlay.visible { - opacity: 1; - visibility: visible; - } - - .reveal .overlay .spinner { - position: absolute; - display: block; - top: 50%; - left: 50%; - width: 32px; - height: 32px; - margin: -16px 0 0 -16px; - z-index: 10; - background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D); - - visibility: visible; - opacity: 0.6; - transition: all 0.3s ease; - } - - .reveal .overlay header { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 40px; - z-index: 2; - border-bottom: 1px solid #222; - } - .reveal .overlay header a { - display: inline-block; - width: 40px; - height: 40px; - padding: 0 10px; - float: right; - opacity: 0.6; - - box-sizing: border-box; - } - .reveal .overlay header a:hover { - opacity: 1; - } - .reveal .overlay header a .icon { - display: inline-block; - width: 20px; - height: 20px; - - background-position: 50% 50%; - background-size: 100%; - background-repeat: no-repeat; - } - .reveal .overlay header a.close .icon { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC); - } - .reveal .overlay header a.external .icon { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==); - } - - .reveal .overlay .viewport { - position: absolute; - display: flex; - top: 40px; - right: 0; - bottom: 0; - left: 0; - } - - .reveal .overlay.overlay-preview .viewport iframe { - width: 100%; - height: 100%; - max-width: 100%; - max-height: 100%; - border: 0; - - opacity: 0; - visibility: hidden; - transition: all 0.3s ease; - } - - .reveal .overlay.overlay-preview.loaded .viewport iframe { - opacity: 1; - visibility: visible; - } - - .reveal .overlay.overlay-preview.loaded .spinner { - opacity: 0; - visibility: hidden; - transform: scale(0.2); - } - - .reveal .overlay.overlay-help .viewport { - overflow: auto; - color: #fff; - } - - .reveal .overlay.overlay-help .viewport .viewport-inner { - width: 600px; - margin: auto; - padding: 20px 20px 80px 20px; - text-align: center; - letter-spacing: normal; - } - - .reveal .overlay.overlay-help .viewport .viewport-inner .title { - font-size: 20px; - } - - .reveal .overlay.overlay-help .viewport .viewport-inner table { - border: 1px solid #fff; - border-collapse: collapse; - font-size: 16px; - } - - .reveal .overlay.overlay-help .viewport .viewport-inner table th, - .reveal .overlay.overlay-help .viewport .viewport-inner table td { - width: 200px; - padding: 14px; - border: 1px solid #fff; - vertical-align: middle; - } - - .reveal .overlay.overlay-help .viewport .viewport-inner table th { - padding-top: 20px; - padding-bottom: 20px; - } - - - -/********************************************* - * PLAYBACK COMPONENT - *********************************************/ - -.reveal .playback { - position: fixed; - left: 15px; - bottom: 20px; - z-index: 30; - cursor: pointer; - transition: all 400ms ease; -} - -.reveal.overview .playback { - opacity: 0; - visibility: hidden; -} - - -/********************************************* - * ROLLING LINKS - *********************************************/ - -.reveal .roll { - display: inline-block; - line-height: 1.2; - overflow: hidden; - - vertical-align: top; - perspective: 400px; - perspective-origin: 50% 50%; -} - .reveal .roll:hover { - background: none; - text-shadow: none; - } -.reveal .roll span { - display: block; - position: relative; - padding: 0 2px; - - pointer-events: none; - transition: all 400ms ease; - transform-origin: 50% 0%; - transform-style: preserve-3d; - backface-visibility: hidden; -} - .reveal .roll:hover span { - background: rgba(0,0,0,0.5); - transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); - } -.reveal .roll span:after { - content: attr(data-title); - - display: block; - position: absolute; - left: 0; - top: 0; - padding: 0 2px; - backface-visibility: hidden; - transform-origin: 50% 0%; - transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); -} - - -/********************************************* - * SPEAKER NOTES - *********************************************/ - -// Hide on-page notes -.reveal aside.notes { - display: none; -} - -// An interface element that can optionally be used to show the -// speaker notes to all viewers, on top of the presentation -.reveal .speaker-notes { - display: none; - position: absolute; - width: 70%; - max-height: 15%; - left: 15%; - bottom: 26px; - padding: 10px; - z-index: 1; - font-size: 18px; - line-height: 1.4; - color: #fff; - background-color: rgba(0,0,0,0.5); - overflow: auto; - box-sizing: border-box; - text-align: left; - font-family: Helvetica, sans-serif; - -webkit-overflow-scrolling: touch; -} - -.reveal .speaker-notes.visible:not(:empty) { - display: block; -} - -@media screen and (max-width: 1024px) { - .reveal .speaker-notes { - font-size: 14px; - } -} - -@media screen and (max-width: 600px) { - .reveal .speaker-notes { - width: 90%; - left: 5%; - } -} - - -/********************************************* - * ZOOM PLUGIN - *********************************************/ - -.zoomed .reveal *, -.zoomed .reveal *:before, -.zoomed .reveal *:after { - backface-visibility: visible !important; -} - -.zoomed .reveal .progress, -.zoomed .reveal .controls { - opacity: 0; -} - -.zoomed .reveal .roll span { - background: none; -} - -.zoomed .reveal .roll span:after { - visibility: hidden; -} diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/README.md b/Pepiniere/ansible/Formation/revealjs/css/theme/README.md deleted file mode 100644 index aa019b8..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/README.md +++ /dev/null @@ -1,21 +0,0 @@ -## Dependencies - -Themes are written using Sass to keep things modular and reduce the need for repeated selectors across files. Make sure that you have the reveal.js development environment including the Grunt dependencies installed before proceding: https://github.com/hakimel/reveal.js#full-setup - -## Creating a Theme - -To create your own theme, start by duplicating a ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source). It will be automatically compiled by Grunt from Sass to CSS (see the [Gruntfile](https://github.com/hakimel/reveal.js/blob/master/Gruntfile.js)) when you run `grunt css-themes`. - -Each theme file does four things in the following order: - -1. **Include [/css/theme/template/mixins.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/mixins.scss)** -Shared utility functions. - -2. **Include [/css/theme/template/settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss)** -Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3. - -3. **Override** -This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding any selectors and styles you please. - -4. **Include [/css/theme/template/theme.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/theme.scss)** -The template theme file which will generate final CSS output based on the currently defined variables. diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/beige.css b/Pepiniere/ansible/Formation/revealjs/css/theme/beige.css deleted file mode 100644 index 127ee7e..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/beige.css +++ /dev/null @@ -1,291 +0,0 @@ -/** - * Beige theme for reveal.js. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #f7f2d3; - background: -moz-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); - background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, white), color-stop(100%, #f7f2d3)); - background: -webkit-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); - background: -o-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); - background: -ms-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); - background: radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); - background-color: #f7f3de; } - -.reveal { - font-family: "Lato", sans-serif; - font-size: 36px; - font-weight: normal; - color: #333; } - -::selection { - color: #fff; - background: rgba(79, 64, 28, 0.99); - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #333; - font-family: "League Gothic", Impact, sans-serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #8b743d; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #c0a86e; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #564826; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #333; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #8b743d; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #8b743d; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #8b743d; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #8b743d; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #8b743d; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #c0a86e; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #c0a86e; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #c0a86e; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #c0a86e; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #8b743d; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/black.css b/Pepiniere/ansible/Formation/revealjs/css/theme/black.css deleted file mode 100644 index 633feb6..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/black.css +++ /dev/null @@ -1,287 +0,0 @@ -/** - * Black theme for reveal.js. This is the opposite of the 'white' theme. - * - * By Hakim El Hattab, http://hakim.se - */ -@import url(../../lib/font/source-sans-pro/source-sans-pro.css); -section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 { - color: #222; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #222; - background-color: #222; } - -.reveal { - font-family: "Source Sans Pro", Helvetica, sans-serif; - font-size: 38px; - font-weight: normal; - color: #fff; } - -::selection { - color: #fff; - background: #bee4fd; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #fff; - font-family: "Source Sans Pro", Helvetica, sans-serif; - font-weight: 600; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 2.5em; } - -.reveal h2 { - font-size: 1.6em; } - -.reveal h3 { - font-size: 1.3em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #42affa; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #8dcffc; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #068de9; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #fff; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #42affa; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #42affa; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #42affa; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #42affa; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #42affa; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #8dcffc; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #8dcffc; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #8dcffc; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #8dcffc; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #42affa; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/blood.css b/Pepiniere/ansible/Formation/revealjs/css/theme/blood.css deleted file mode 100644 index 968f30d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/blood.css +++ /dev/null @@ -1,310 +0,0 @@ -/** - * Blood theme for reveal.js - * Author: Walther http://github.com/Walther - * - * Designed to be used with highlight.js theme - * "monokai_sublime.css" available from - * https://github.com/isagalaev/highlight.js/ - * - * For other themes, change $codeBackground accordingly. - * - */ -@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic); -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #222; - background-color: #222; } - -.reveal { - font-family: Ubuntu, "sans-serif"; - font-size: 36px; - font-weight: normal; - color: #eee; } - -::selection { - color: #fff; - background: #a23; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #eee; - font-family: Ubuntu, "sans-serif"; - font-weight: normal; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: 2px 2px 2px #222; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #a23; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #dd5566; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #6a1520; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #eee; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #a23; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #a23; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #a23; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #a23; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #a23; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #dd5566; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #dd5566; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #dd5566; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #dd5566; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #a23; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } - -.reveal p { - font-weight: 300; - text-shadow: 1px 1px #222; } - -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - font-weight: 700; } - -.reveal p code { - background-color: #23241f; - display: inline-block; - border-radius: 7px; } - -.reveal small code { - vertical-align: baseline; } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/league.css b/Pepiniere/ansible/Formation/revealjs/css/theme/league.css deleted file mode 100644 index 11fc669..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/league.css +++ /dev/null @@ -1,293 +0,0 @@ -/** - * League theme for reveal.js. - * - * This was the default theme pre-3.0.0. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #1c1e20; - background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); - background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20)); - background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); - background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); - background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); - background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); - background-color: #2b2b2b; } - -.reveal { - font-family: "Lato", sans-serif; - font-size: 36px; - font-weight: normal; - color: #eee; } - -::selection { - color: #fff; - background: #FF5E99; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #eee; - font-family: "League Gothic", Impact, sans-serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #13DAEC; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #71e9f4; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #0d99a5; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #eee; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #13DAEC; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #13DAEC; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #13DAEC; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #13DAEC; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #13DAEC; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #71e9f4; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #71e9f4; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #71e9f4; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #71e9f4; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #13DAEC; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/moon.css b/Pepiniere/ansible/Formation/revealjs/css/theme/moon.css deleted file mode 100644 index 1adef52..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/moon.css +++ /dev/null @@ -1,291 +0,0 @@ -/** - * Solarized Dark theme for reveal.js. - * Author: Achim Staebler - */ -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); -/** - * Solarized colors by Ethan Schoonover - */ -html * { - color-profile: sRGB; - rendering-intent: auto; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #002b36; - background-color: #002b36; } - -.reveal { - font-family: "Lato", sans-serif; - font-size: 36px; - font-weight: normal; - color: #93a1a1; } - -::selection { - color: #fff; - background: #d33682; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #eee8d5; - font-family: "League Gothic", Impact, sans-serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #268bd2; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #78b9e6; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #1a6091; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #93a1a1; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #268bd2; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #268bd2; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #268bd2; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #268bd2; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #268bd2; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #78b9e6; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #78b9e6; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #78b9e6; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #78b9e6; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #268bd2; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/night.css b/Pepiniere/ansible/Formation/revealjs/css/theme/night.css deleted file mode 100644 index 1b815a0..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/night.css +++ /dev/null @@ -1,285 +0,0 @@ -/** - * Black theme for reveal.js. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ -@import url(https://fonts.googleapis.com/css?family=Montserrat:700); -@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic); -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #111; - background-color: #111; } - -.reveal { - font-family: "Open Sans", sans-serif; - font-size: 30px; - font-weight: normal; - color: #eee; } - -::selection { - color: #fff; - background: #e7ad52; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #eee; - font-family: "Montserrat", Impact, sans-serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: -0.03em; - text-transform: none; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #e7ad52; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #f3d7ac; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #d08a1d; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #eee; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #e7ad52; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #e7ad52; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #e7ad52; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #e7ad52; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #e7ad52; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #f3d7ac; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #f3d7ac; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #f3d7ac; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #f3d7ac; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #e7ad52; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/serif.css b/Pepiniere/ansible/Formation/revealjs/css/theme/serif.css deleted file mode 100644 index 5e6c73d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/serif.css +++ /dev/null @@ -1,287 +0,0 @@ -/** - * A simple theme for reveal.js presentations, similar - * to the default theme. The accent color is brown. - * - * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed. - */ -.reveal a { - line-height: 1.3em; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #F0F1EB; - background-color: #F0F1EB; } - -.reveal { - font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif; - font-size: 36px; - font-weight: normal; - color: #000; } - -::selection { - color: #fff; - background: #26351C; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #383D3D; - font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: normal; - text-transform: none; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #51483D; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #8b7c69; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #25211c; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #000; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #51483D; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #51483D; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #51483D; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #51483D; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #51483D; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #8b7c69; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #8b7c69; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #8b7c69; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #8b7c69; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #51483D; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/sii.css b/Pepiniere/ansible/Formation/revealjs/css/theme/sii.css deleted file mode 100644 index b93e40e..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/sii.css +++ /dev/null @@ -1,367 +0,0 @@ -/** - * SII theme for reveal.js. This theme is based on official White theme. - * - */ -@import url(../../lib/font/source-sans-pro/source-sans-pro.css); -section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 { - color: #fff; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ - -.align-left p{ - text-align: left; -} - -.min-code code { - font-size: 18px; - line-height: 1; -} - - -.min-code-14 code { - font-size: 14px; - line-height: 1; -} - -html { - background-color: #fff; /* fix dark background on full screen mode */ } - -body { - background: #fff; - background-color: #fff; - background-image: url('../../images/header-sii.png'); /* SII header with 5 colors */ - background-size: contain; - background-repeat: no-repeat; } - -.reveal { - font-family: "Source Sans Pro", Helvetica, sans-serif; - font-size: 36px; - font-weight: normal; - color: #222; } - -::selection { - color: #fff; - background: #98bdef; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #222; - font-family: "Source Sans Pro", Helvetica, sans-serif; - font-weight: 600; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 2.5em; } - -.reveal h2 { - font-size: 1.6em; } - -.reveal h3 { - font-size: 1.3em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - /*color: #559BDB; */ - text-decoration: underline;} - -.reveal pre em { - text-decoration: none; -} - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: square; } - -.reveal ul ul { - list-style-type: disc; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal li pre, -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); - width: 100%; - font-size: 1.5rem; } - -.reveal code { - font-family: monospace; } - -.reveal li pre code { - background-color: #3F3F3F; - color: #DCDCDC; - font-size: 1.2rem; - line-height: 1.1em; -} - -.reveal li pre code, -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.lang-nohighlight { - background-color: #3F3F3F; - color: #DCDCDC; -} - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - font-size: 0.6em; - line-height: 1.2em; } - -.reveal p small code { - font-size: 1em; } - - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #6ca0e8; - text-decoration: underline; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #2a76dd; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #1a53a1; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; -} - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #2a76dd; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } - -/********************************************* - * Custom size for code - *********************************************/ -.reveal ul code, -.reveal p code , -.reveal td code { - padding: 0.1rem 0.4rem; - background-color: #dcdcdc; - color: #3F3F3F; - /* font-size: 2rem; */ -} - -.reveal pre { - width: 100%; -} - -.reveal td code { - padding: 0 0.5rem; -} - -/********************************************* - * Custom size for tables - *********************************************/ -.medium-table table { - font-size: 2rem; } - -.medium-table td code { - font-size: 1.6rem; } - -.small-table table { - font-size: 1.4rem; } - -.small-table td code { - font-size: 1.2rem; } - -/********************************************* - * Custom size for code - *********************************************/ -.medium-code pre { - line-height: 1.1em; - font-size: 1.2rem; } - -.small-code pre { - line-height: 1.0em; - font-size: 1rem; } - -/********************************************* - * Logo and footer - *********************************************/ -.logo { - position: absolute; - top: 2.5rem; - right: 1rem; - width: 10%; -} - -.footer { - position: absolute; - bottom: 0.2rem; - left: 0; - margin: 0.2rem; - padding: 0.2rem; - font-size: 0.8rem; - color: #fff; - background-color: #999999; -} - -.nologo-slide .logo { - display:none; } - - /********************************************* - * Display ordered list in cheat-sheet style - *********************************************/ -.cheat-sheet ol { - width: 100%; - list-style-type: disc; - list-style: none; -} diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/simple.css b/Pepiniere/ansible/Formation/revealjs/css/theme/simple.css deleted file mode 100644 index fb85f90..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/simple.css +++ /dev/null @@ -1,287 +0,0 @@ -/** - * A simple theme for reveal.js presentations, similar - * to the default theme. The accent color is darkblue. - * - * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed. - * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ -@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #fff; - background-color: #fff; } - -.reveal { - font-family: "Lato", sans-serif; - font-size: 36px; - font-weight: normal; - color: #000; } - -::selection { - color: #fff; - background: rgba(0, 0, 0, 0.99); - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #000; - font-family: "News Cycle", Impact, sans-serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: normal; - text-transform: none; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #00008B; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #0000f1; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #00003f; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #000; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #00008B; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #00008B; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #00008B; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #00008B; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #00008B; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #0000f1; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #0000f1; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #0000f1; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #0000f1; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #00008B; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/sky.css b/Pepiniere/ansible/Formation/revealjs/css/theme/sky.css deleted file mode 100644 index affd88d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/sky.css +++ /dev/null @@ -1,294 +0,0 @@ -/** - * Sky theme for reveal.js. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ -@import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic); -@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700); -.reveal a { - line-height: 1.3em; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #add9e4; - background: -moz-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); - background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #f7fbfc), color-stop(100%, #add9e4)); - background: -webkit-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); - background: -o-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); - background: -ms-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); - background: radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); - background-color: #f7fbfc; } - -.reveal { - font-family: "Open Sans", sans-serif; - font-size: 36px; - font-weight: normal; - color: #333; } - -::selection { - color: #fff; - background: #134674; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #333; - font-family: "Quicksand", sans-serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: -0.08em; - text-transform: uppercase; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #3b759e; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #74a7cb; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #264c66; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #333; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #3b759e; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #3b759e; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #3b759e; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #3b759e; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #3b759e; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #74a7cb; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #74a7cb; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #74a7cb; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #74a7cb; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #3b759e; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/solarized.css b/Pepiniere/ansible/Formation/revealjs/css/theme/solarized.css deleted file mode 100644 index e7b3e28..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/solarized.css +++ /dev/null @@ -1,291 +0,0 @@ -/** - * Solarized Light theme for reveal.js. - * Author: Achim Staebler - */ -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); -/** - * Solarized colors by Ethan Schoonover - */ -html * { - color-profile: sRGB; - rendering-intent: auto; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #fdf6e3; - background-color: #fdf6e3; } - -.reveal { - font-family: "Lato", sans-serif; - font-size: 36px; - font-weight: normal; - color: #657b83; } - -::selection { - color: #fff; - background: #d33682; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #586e75; - font-family: "League Gothic", Impact, sans-serif; - font-weight: normal; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 3.77em; } - -.reveal h2 { - font-size: 2.11em; } - -.reveal h3 { - font-size: 1.55em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #268bd2; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #78b9e6; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #1a6091; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - background: rgba(255, 255, 255, 0.12); - border: 4px solid #657b83; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #268bd2; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #268bd2; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #268bd2; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #268bd2; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #268bd2; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #78b9e6; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #78b9e6; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #78b9e6; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #78b9e6; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #268bd2; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/beige.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/beige.scss deleted file mode 100644 index 40b13ed..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/beige.scss +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Beige theme for reveal.js. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - - -// Include theme-specific fonts -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); - - -// Override theme settings (see ../template/settings.scss) -$mainColor: #333; -$headingColor: #333; -$headingTextShadow: none; -$backgroundColor: #f7f3de; -$linkColor: #8b743d; -$linkColorHover: lighten( $linkColor, 20% ); -$selectionBackgroundColor: rgba(79, 64, 28, 0.99); -$heading1TextShadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); - -// Background generator -@mixin bodyBackground() { - @include radial-gradient( rgba(247,242,211,1), rgba(255,255,255,1) ); -} - - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/black.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/black.scss deleted file mode 100644 index 7e696a3..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/black.scss +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Black theme for reveal.js. This is the opposite of the 'white' theme. - * - * By Hakim El Hattab, http://hakim.se - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - -// Include theme-specific fonts -@import url(../../lib/font/source-sans-pro/source-sans-pro.css); - - -// Override theme settings (see ../template/settings.scss) -$backgroundColor: #222; - -$mainColor: #fff; -$headingColor: #fff; - -$mainFontSize: 38px; -$mainFont: 'Source Sans Pro', Helvetica, sans-serif; -$headingFont: 'Source Sans Pro', Helvetica, sans-serif; -$headingTextShadow: none; -$headingLetterSpacing: normal; -$headingTextTransform: uppercase; -$headingFontWeight: 600; -$linkColor: #42affa; -$linkColorHover: lighten( $linkColor, 15% ); -$selectionBackgroundColor: lighten( $linkColor, 25% ); - -$heading1Size: 2.5em; -$heading2Size: 1.6em; -$heading3Size: 1.3em; -$heading4Size: 1.0em; - -section.has-light-background { - &, h1, h2, h3, h4, h5, h6 { - color: #222; - } -} - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/blood.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/blood.scss deleted file mode 100644 index 374e63e..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/blood.scss +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Blood theme for reveal.js - * Author: Walther http://github.com/Walther - * - * Designed to be used with highlight.js theme - * "monokai_sublime.css" available from - * https://github.com/isagalaev/highlight.js/ - * - * For other themes, change $codeBackground accordingly. - * - */ - - // Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - -// Include theme-specific fonts - -@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic); - -// Colors used in the theme -$blood: #a23; -$coal: #222; -$codeBackground: #23241f; - -$backgroundColor: $coal; - -// Main text -$mainFont: Ubuntu, 'sans-serif'; -$mainFontSize: 36px; -$mainColor: #eee; - -// Headings -$headingFont: Ubuntu, 'sans-serif'; -$headingTextShadow: 2px 2px 2px $coal; - -// h1 shadow, borrowed humbly from -// (c) Default theme by Hakim El Hattab -$heading1TextShadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); - -// Links -$linkColor: $blood; -$linkColorHover: lighten( $linkColor, 20% ); - -// Text selection -$selectionBackgroundColor: $blood; -$selectionColor: #fff; - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- - -// some overrides after theme template import - -.reveal p { - font-weight: 300; - text-shadow: 1px 1px $coal; -} - -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - font-weight: 700; -} - -.reveal p code { - background-color: $codeBackground; - display: inline-block; - border-radius: 7px; -} - -.reveal small code { - vertical-align: baseline; -} \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/league.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/league.scss deleted file mode 100644 index 7d26dc7..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/league.scss +++ /dev/null @@ -1,34 +0,0 @@ -/** - * League theme for reveal.js. - * - * This was the default theme pre-3.0.0. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - - -// Include theme-specific fonts -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); - -// Override theme settings (see ../template/settings.scss) -$headingTextShadow: 0px 0px 6px rgba(0,0,0,0.2); -$heading1TextShadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); - -// Background generator -@mixin bodyBackground() { - @include radial-gradient( rgba(28,30,32,1), rgba(85,90,95,1) ); -} - - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/moon.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/moon.scss deleted file mode 100644 index 25e65d1..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/moon.scss +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Solarized Dark theme for reveal.js. - * Author: Achim Staebler - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - - -// Include theme-specific fonts -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); - -/** - * Solarized colors by Ethan Schoonover - */ -html * { - color-profile: sRGB; - rendering-intent: auto; -} - -// Solarized colors -$base03: #002b36; -$base02: #073642; -$base01: #586e75; -$base00: #657b83; -$base0: #839496; -$base1: #93a1a1; -$base2: #eee8d5; -$base3: #fdf6e3; -$yellow: #b58900; -$orange: #cb4b16; -$red: #dc322f; -$magenta: #d33682; -$violet: #6c71c4; -$blue: #268bd2; -$cyan: #2aa198; -$green: #859900; - -// Override theme settings (see ../template/settings.scss) -$mainColor: $base1; -$headingColor: $base2; -$headingTextShadow: none; -$backgroundColor: $base03; -$linkColor: $blue; -$linkColorHover: lighten( $linkColor, 20% ); -$selectionBackgroundColor: $magenta; - - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/night.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/night.scss deleted file mode 100644 index e112afb..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/night.scss +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Black theme for reveal.js. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - -// Include theme-specific fonts -@import url(https://fonts.googleapis.com/css?family=Montserrat:700); -@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic); - - -// Override theme settings (see ../template/settings.scss) -$backgroundColor: #111; - -$mainFont: 'Open Sans', sans-serif; -$linkColor: #e7ad52; -$linkColorHover: lighten( $linkColor, 20% ); -$headingFont: 'Montserrat', Impact, sans-serif; -$headingTextShadow: none; -$headingLetterSpacing: -0.03em; -$headingTextTransform: none; -$selectionBackgroundColor: #e7ad52; -$mainFontSize: 30px; - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/serif.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/serif.scss deleted file mode 100644 index d1307eb..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/serif.scss +++ /dev/null @@ -1,35 +0,0 @@ -/** - * A simple theme for reveal.js presentations, similar - * to the default theme. The accent color is brown. - * - * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed. - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - - -// Override theme settings (see ../template/settings.scss) -$mainFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif; -$mainColor: #000; -$headingFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif; -$headingColor: #383D3D; -$headingTextShadow: none; -$headingTextTransform: none; -$backgroundColor: #F0F1EB; -$linkColor: #51483D; -$linkColorHover: lighten( $linkColor, 20% ); -$selectionBackgroundColor: #26351C; - -.reveal a { - line-height: 1.3em; -} - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/simple.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/simple.scss deleted file mode 100644 index 3b0d36d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/simple.scss +++ /dev/null @@ -1,38 +0,0 @@ -/** - * A simple theme for reveal.js presentations, similar - * to the default theme. The accent color is darkblue. - * - * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed. - * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - - -// Include theme-specific fonts -@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); - - -// Override theme settings (see ../template/settings.scss) -$mainFont: 'Lato', sans-serif; -$mainColor: #000; -$headingFont: 'News Cycle', Impact, sans-serif; -$headingColor: #000; -$headingTextShadow: none; -$headingTextTransform: none; -$backgroundColor: #fff; -$linkColor: #00008B; -$linkColorHover: lighten( $linkColor, 20% ); -$selectionBackgroundColor: rgba(0, 0, 0, 0.99); - - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/sky.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/sky.scss deleted file mode 100644 index 81b1906..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/sky.scss +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Sky theme for reveal.js. - * - * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - - -// Include theme-specific fonts -@import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic); -@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700); - - -// Override theme settings (see ../template/settings.scss) -$mainFont: 'Open Sans', sans-serif; -$mainColor: #333; -$headingFont: 'Quicksand', sans-serif; -$headingColor: #333; -$headingLetterSpacing: -0.08em; -$headingTextShadow: none; -$backgroundColor: #f7fbfc; -$linkColor: #3b759e; -$linkColorHover: lighten( $linkColor, 20% ); -$selectionBackgroundColor: #134674; - -// Fix links so they are not cut off -.reveal a { - line-height: 1.3em; -} - -// Background generator -@mixin bodyBackground() { - @include radial-gradient( #add9e4, #f7fbfc ); -} - - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/solarized.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/solarized.scss deleted file mode 100644 index 45e0907..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/solarized.scss +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Solarized Light theme for reveal.js. - * Author: Achim Staebler - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - - -// Include theme-specific fonts -@import url(../../lib/font/league-gothic/league-gothic.css); -@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); - - -/** - * Solarized colors by Ethan Schoonover - */ -html * { - color-profile: sRGB; - rendering-intent: auto; -} - -// Solarized colors -$base03: #002b36; -$base02: #073642; -$base01: #586e75; -$base00: #657b83; -$base0: #839496; -$base1: #93a1a1; -$base2: #eee8d5; -$base3: #fdf6e3; -$yellow: #b58900; -$orange: #cb4b16; -$red: #dc322f; -$magenta: #d33682; -$violet: #6c71c4; -$blue: #268bd2; -$cyan: #2aa198; -$green: #859900; - -// Override theme settings (see ../template/settings.scss) -$mainColor: $base00; -$headingColor: $base01; -$headingTextShadow: none; -$backgroundColor: $base3; -$linkColor: $blue; -$linkColorHover: lighten( $linkColor, 20% ); -$selectionBackgroundColor: $magenta; - -// Background generator -// @mixin bodyBackground() { -// @include radial-gradient( rgba($base3,1), rgba(lighten($base3, 20%),1) ); -// } - - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/source/white.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/source/white.scss deleted file mode 100644 index 0ddcb3d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/source/white.scss +++ /dev/null @@ -1,49 +0,0 @@ -/** - * White theme for reveal.js. This is the opposite of the 'black' theme. - * - * By Hakim El Hattab, http://hakim.se - */ - - -// Default mixins and settings ----------------- -@import "../template/mixins"; -@import "../template/settings"; -// --------------------------------------------- - - -// Include theme-specific fonts -@import url(../../lib/font/source-sans-pro/source-sans-pro.css); - - -// Override theme settings (see ../template/settings.scss) -$backgroundColor: #fff; - -$mainColor: #222; -$headingColor: #222; - -$mainFontSize: 38px; -$mainFont: 'Source Sans Pro', Helvetica, sans-serif; -$headingFont: 'Source Sans Pro', Helvetica, sans-serif; -$headingTextShadow: none; -$headingLetterSpacing: normal; -$headingTextTransform: uppercase; -$headingFontWeight: 600; -$linkColor: #2a76dd; -$linkColorHover: lighten( $linkColor, 15% ); -$selectionBackgroundColor: lighten( $linkColor, 25% ); - -$heading1Size: 2.5em; -$heading2Size: 1.6em; -$heading3Size: 1.3em; -$heading4Size: 1.0em; - -section.has-dark-background { - &, h1, h2, h3, h4, h5, h6 { - color: #fff; - } -} - - -// Theme template ------------------------------ -@import "../template/theme"; -// --------------------------------------------- \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/template/mixins.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/template/mixins.scss deleted file mode 100644 index 656166f..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/template/mixins.scss +++ /dev/null @@ -1,29 +0,0 @@ -@mixin vertical-gradient( $top, $bottom ) { - background: $top; - background: -moz-linear-gradient( top, $top 0%, $bottom 100% ); - background: -webkit-gradient( linear, left top, left bottom, color-stop(0%,$top), color-stop(100%,$bottom) ); - background: -webkit-linear-gradient( top, $top 0%, $bottom 100% ); - background: -o-linear-gradient( top, $top 0%, $bottom 100% ); - background: -ms-linear-gradient( top, $top 0%, $bottom 100% ); - background: linear-gradient( top, $top 0%, $bottom 100% ); -} - -@mixin horizontal-gradient( $top, $bottom ) { - background: $top; - background: -moz-linear-gradient( left, $top 0%, $bottom 100% ); - background: -webkit-gradient( linear, left top, right top, color-stop(0%,$top), color-stop(100%,$bottom) ); - background: -webkit-linear-gradient( left, $top 0%, $bottom 100% ); - background: -o-linear-gradient( left, $top 0%, $bottom 100% ); - background: -ms-linear-gradient( left, $top 0%, $bottom 100% ); - background: linear-gradient( left, $top 0%, $bottom 100% ); -} - -@mixin radial-gradient( $outer, $inner, $type: circle ) { - background: $outer; - background: -moz-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); - background: -webkit-gradient( radial, center center, 0px, center center, 100%, color-stop(0%,$inner), color-stop(100%,$outer) ); - background: -webkit-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); - background: -o-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); - background: -ms-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); - background: radial-gradient( center, $type cover, $inner 0%, $outer 100% ); -} \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/template/settings.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/template/settings.scss deleted file mode 100644 index 709a0d8..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/template/settings.scss +++ /dev/null @@ -1,43 +0,0 @@ -// Base settings for all themes that can optionally be -// overridden by the super-theme - -// Background of the presentation -$backgroundColor: #2b2b2b; - -// Primary/body text -$mainFont: 'Lato', sans-serif; -$mainFontSize: 36px; -$mainColor: #eee; - -// Vertical spacing between blocks of text -$blockMargin: 20px; - -// Headings -$headingMargin: 0 0 $blockMargin 0; -$headingFont: 'League Gothic', Impact, sans-serif; -$headingColor: #eee; -$headingLineHeight: 1.2; -$headingLetterSpacing: normal; -$headingTextTransform: uppercase; -$headingTextShadow: none; -$headingFontWeight: normal; -$heading1TextShadow: $headingTextShadow; - -$heading1Size: 3.77em; -$heading2Size: 2.11em; -$heading3Size: 1.55em; -$heading4Size: 1.00em; - -// Links and actions -$linkColor: #13DAEC; -$linkColorHover: lighten( $linkColor, 20% ); - -// Text selection -$selectionBackgroundColor: #FF5E99; -$selectionColor: #fff; - -// Generates the presentation background, can be overridden -// to return a background image or gradient -@mixin bodyBackground() { - background: $backgroundColor; -} \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/template/theme.scss b/Pepiniere/ansible/Formation/revealjs/css/theme/template/theme.scss deleted file mode 100644 index 861e909..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/template/theme.scss +++ /dev/null @@ -1,346 +0,0 @@ -// Base theme template for reveal.js - -/********************************************* - * GLOBAL STYLES - *********************************************/ - -body { - @include bodyBackground(); - background-color: $backgroundColor; -} - -.reveal { - font-family: $mainFont; - font-size: $mainFontSize; - font-weight: normal; - color: $mainColor; -} - -::selection { - color: $selectionColor; - background: $selectionBackgroundColor; - text-shadow: none; -} - -.reveal .slides>section, -.reveal .slides>section>section { - line-height: 1.3; - font-weight: inherit; -} - -/********************************************* - * HEADERS - *********************************************/ - -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: $headingMargin; - color: $headingColor; - - font-family: $headingFont; - font-weight: $headingFontWeight; - line-height: $headingLineHeight; - letter-spacing: $headingLetterSpacing; - - text-transform: $headingTextTransform; - text-shadow: $headingTextShadow; - - word-wrap: break-word; -} - -.reveal h1 {font-size: $heading1Size; } -.reveal h2 {font-size: $heading2Size; } -.reveal h3 {font-size: $heading3Size; } -.reveal h4 {font-size: $heading4Size; } - -.reveal h1 { - text-shadow: $heading1TextShadow; -} - - -/********************************************* - * OTHER - *********************************************/ - -.reveal p { - margin: $blockMargin 0; - line-height: 1.3; -} - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; -} -.reveal strong, -.reveal b { - font-weight: bold; -} - -.reveal em { - font-style: italic; -} - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - - text-align: left; - margin: 0 0 0 1em; -} - -.reveal ol { - list-style-type: decimal; -} - -.reveal ul { - list-style-type: disc; -} - -.reveal ul ul { - list-style-type: square; -} - -.reveal ul ul ul { - list-style-type: circle; -} - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; -} - -.reveal dt { - font-weight: bold; -} - -.reveal dd { - margin-left: 40px; -} - -.reveal q, -.reveal blockquote { - quotes: none; -} - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: $blockMargin auto; - padding: 5px; - - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0,0,0,0.2); -} - .reveal blockquote p:first-child, - .reveal blockquote p:last-child { - display: inline-block; - } - -.reveal q { - font-style: italic; -} - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: $blockMargin auto; - - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - - word-wrap: break-word; - - box-shadow: 0px 0px 6px rgba(0,0,0,0.3); -} -.reveal code { - font-family: monospace; -} - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; -} - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; -} - -.reveal table th { - font-weight: bold; -} - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; -} - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; -} - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; -} - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; -} - -.reveal sup { - vertical-align: super; -} -.reveal sub { - vertical-align: sub; -} - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; -} - -.reveal small * { - vertical-align: top; -} - - -/********************************************* - * LINKS - *********************************************/ - -.reveal a { - color: $linkColor; - text-decoration: none; - - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; -} - .reveal a:hover { - color: $linkColorHover; - - text-shadow: none; - border: none; - } - -.reveal .roll span:after { - color: #fff; - background: darken( $linkColor, 15% ); -} - - -/********************************************* - * IMAGES - *********************************************/ - -.reveal section img { - margin: 15px 0px; - background: rgba(255,255,255,0.12); - border: 4px solid $mainColor; - - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); -} - - .reveal section img.plain { - border: 0; - box-shadow: none; - } - - .reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; - } - - .reveal a:hover img { - background: rgba(255,255,255,0.2); - border-color: $linkColor; - - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); - } - - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ - -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: $linkColor; -} - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: $linkColor; -} - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: $linkColor; -} - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: $linkColor; -} - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: $linkColorHover; -} - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: $linkColorHover; -} - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: $linkColorHover; -} - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: $linkColorHover; -} - - -/********************************************* - * PROGRESS BAR - *********************************************/ - -.reveal .progress { - background: rgba(0,0,0,0.2); -} - .reveal .progress span { - background: $linkColor; - - -webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); - -moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); - transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); - } - - diff --git a/Pepiniere/ansible/Formation/revealjs/css/theme/white.css b/Pepiniere/ansible/Formation/revealjs/css/theme/white.css deleted file mode 100644 index 14c89af..0000000 --- a/Pepiniere/ansible/Formation/revealjs/css/theme/white.css +++ /dev/null @@ -1,289 +0,0 @@ -/** - * White theme for reveal.js. This is the opposite of the 'black' theme. - * - * By Hakim El Hattab, http://hakim.se - */ -@import url(../../lib/font/source-sans-pro/source-sans-pro.css); -section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 { - color: #fff; } - -/********************************************* - * GLOBAL STYLES - *********************************************/ -body { - background: #fff; - background-color: #fff; } - -.reveal { - font-family: "Source Sans Pro", Helvetica, sans-serif; - font-size: 38px; - font-weight: normal; - color: #222; } - -::selection { - color: #fff; - background: #98bdef; - text-shadow: none; } - -.reveal .slides > section, -.reveal .slides > section > section { - line-height: 1.3; - font-weight: inherit; } - -/********************************************* - * HEADERS - *********************************************/ -.reveal h1, -.reveal h2, -.reveal h3, -.reveal h4, -.reveal h5, -.reveal h6 { - margin: 0 0 20px 0; - color: #222; - font-family: "Source Sans Pro", Helvetica, sans-serif; - font-weight: 600; - line-height: 1.2; - letter-spacing: normal; - text-transform: uppercase; - text-shadow: none; - word-wrap: break-word; } - -.reveal h1 { - font-size: 2.5em; } - -.reveal h2 { - font-size: 1.6em; } - -.reveal h3 { - font-size: 1.3em; } - -.reveal h4 { - font-size: 1em; } - -.reveal h1 { - text-shadow: none; } - -/********************************************* - * OTHER - *********************************************/ -.reveal p { - margin: 20px 0; - line-height: 1.3; } - -/* Ensure certain elements are never larger than the slide itself */ -.reveal img, -.reveal video, -.reveal iframe { - max-width: 95%; - max-height: 95%; } - -.reveal strong, -.reveal b { - font-weight: bold; } - -.reveal em { - font-style: italic; } - -.reveal ol, -.reveal dl, -.reveal ul { - display: inline-block; - text-align: left; - margin: 0 0 0 1em; } - -.reveal ol { - list-style-type: decimal; } - -.reveal ul { - list-style-type: disc; } - -.reveal ul ul { - list-style-type: square; } - -.reveal ul ul ul { - list-style-type: circle; } - -.reveal ul ul, -.reveal ul ol, -.reveal ol ol, -.reveal ol ul { - display: block; - margin-left: 40px; } - -.reveal dt { - font-weight: bold; } - -.reveal dd { - margin-left: 40px; } - -.reveal q, -.reveal blockquote { - quotes: none; } - -.reveal blockquote { - display: block; - position: relative; - width: 70%; - margin: 20px auto; - padding: 5px; - font-style: italic; - background: rgba(255, 255, 255, 0.05); - box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } - -.reveal blockquote p:first-child, -.reveal blockquote p:last-child { - display: inline-block; } - -.reveal q { - font-style: italic; } - -.reveal pre { - display: block; - position: relative; - width: 90%; - margin: 20px auto; - text-align: left; - font-size: 0.55em; - font-family: monospace; - line-height: 1.2em; - word-wrap: break-word; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } - -.reveal code { - font-family: monospace; } - -.reveal pre code { - display: block; - padding: 5px; - overflow: auto; - max-height: 400px; - word-wrap: normal; } - -.reveal table { - margin: auto; - border-collapse: collapse; - border-spacing: 0; } - -.reveal table th { - font-weight: bold; } - -.reveal table th, -.reveal table td { - text-align: left; - padding: 0.2em 0.5em 0.2em 0.5em; - border-bottom: 1px solid; } - -.reveal table th[align="center"], -.reveal table td[align="center"] { - text-align: center; } - -.reveal table th[align="right"], -.reveal table td[align="right"] { - text-align: right; } - -.reveal table tbody tr:last-child th, -.reveal table tbody tr:last-child td { - border-bottom: none; } - -.reveal sup { - vertical-align: super; } - -.reveal sub { - vertical-align: sub; } - -.reveal small { - display: inline-block; - font-size: 0.6em; - line-height: 1.2em; - vertical-align: top; } - -.reveal small * { - vertical-align: top; } - -/********************************************* - * LINKS - *********************************************/ -.reveal a { - color: #2a76dd; - text-decoration: none; - -webkit-transition: color .15s ease; - -moz-transition: color .15s ease; - transition: color .15s ease; } - -.reveal a:hover { - color: #6ca0e8; - text-shadow: none; - border: none; } - -.reveal .roll span:after { - color: #fff; - background: #1a53a1; } - -/********************************************* - * IMAGES - *********************************************/ -.reveal section img { - margin: 15px 0px; - /* - background: rgba(255, 255, 255, 0.12); - border: 4px solid #222; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } - */ - -.reveal section img.plain { - border: 0; - box-shadow: none; } - -.reveal a img { - -webkit-transition: all .15s linear; - -moz-transition: all .15s linear; - transition: all .15s linear; } - -.reveal a:hover img { - background: rgba(255, 255, 255, 0.2); - border-color: #2a76dd; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } - -/********************************************* - * NAVIGATION CONTROLS - *********************************************/ -.reveal .controls .navigate-left, -.reveal .controls .navigate-left.enabled { - border-right-color: #2a76dd; } - -.reveal .controls .navigate-right, -.reveal .controls .navigate-right.enabled { - border-left-color: #2a76dd; } - -.reveal .controls .navigate-up, -.reveal .controls .navigate-up.enabled { - border-bottom-color: #2a76dd; } - -.reveal .controls .navigate-down, -.reveal .controls .navigate-down.enabled { - border-top-color: #2a76dd; } - -.reveal .controls .navigate-left.enabled:hover { - border-right-color: #6ca0e8; } - -.reveal .controls .navigate-right.enabled:hover { - border-left-color: #6ca0e8; } - -.reveal .controls .navigate-up.enabled:hover { - border-bottom-color: #6ca0e8; } - -.reveal .controls .navigate-down.enabled:hover { - border-top-color: #6ca0e8; } - -/********************************************* - * PROGRESS BAR - *********************************************/ -.reveal .progress { - background: rgba(0, 0, 0, 0.2); } - -.reveal .progress span { - background: #2a76dd; - -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); - transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/highlight.pack.js b/Pepiniere/ansible/Formation/revealjs/highlight/highlight.pack.js deleted file mode 100755 index 6dd710c..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/highlight.pack.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */ -!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){s+=""}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"
":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="
",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("dart",function(e){var t={cN:"subst",b:"\\$\\{",e:"}",k:"true false null this is new super"},r={cN:"string",v:[{b:"r'''",e:"'''"},{b:'r"""',e:'"""'},{b:"r'",e:"'",i:"\\n"},{b:'r"',e:'"',i:"\\n"},{b:"'''",e:"'''",c:[e.BE,t]},{b:'"""',e:'"""',c:[e.BE,t]},{b:"'",e:"'",i:"\\n",c:[e.BE,t]},{b:'"',e:'"',i:"\\n",c:[e.BE,t]}]};t.c=[e.CNM,r];var n={keyword:"assert async await break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch sync this throw true try var void while with yield abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{k:n,c:[r,e.C("/\\*\\*","\\*/",{sL:"markdown"}),e.C("///","$",{sL:"markdown"}),e.CLCM,e.CBCM,{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"},{b:"=>"}]}});hljs.registerLanguage("erlang",function(e){var r="[a-z'][a-zA-Z0-9_']*",c="("+r+":"+r+"|"+r+")",b={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},i=e.C("%","$"),n={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a={b:"fun\\s+"+r+"/\\d+"},d={b:c+"\\(",e:"\\)",rB:!0,r:0,c:[{b:c,r:0},{b:"\\(",e:"\\)",eW:!0,rE:!0,r:0}]},o={b:"{",e:"}",r:0},t={b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0},f={b:"[A-Z][a-zA-Z0-9_]*",r:0},l={b:"#"+e.UIR,r:0,rB:!0,c:[{b:"#"+e.UIR,r:0},{b:"{",e:"}",r:0}]},s={bK:"fun receive if try case",e:"end",k:b};s.c=[i,a,e.inherit(e.ASM,{cN:""}),s,d,e.QSM,n,o,t,f,l];var u=[i,a,s,d,e.QSM,n,o,t,f,l];d.c[1].c=u,o.c=u,l.c[1].c=u;var h={cN:"params",b:"\\(",e:"\\)",c:u};return{aliases:["erl"],k:b,i:"(",rB:!0,i:"\\(|#|//|/\\*|\\\\|:|;",c:[h,e.inherit(e.TM,{b:r})],starts:{e:";|\\.",k:b,c:u}},i,{b:"^-",e:"\\.",r:0,eE:!0,rB:!0,l:"-"+e.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",c:[h]},n,e.QSM,l,t,f,o,{b:/\.$/}]}});hljs.registerLanguage("sml",function(e){return{aliases:["ml"],k:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:/\[(\|\|)?\]|\(\)/,r:0},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"type",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*"},e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("cs",function(e){var i={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},t={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},r=e.inherit(t,{i:/\n/}),a={cN:"subst",b:"{",e:"}",k:i},c=e.inherit(a,{i:/\n/}),n={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,c]},s={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},a]},o=e.inherit(s,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},c]});a.c=[s,n,t,e.ASM,e.QSM,e.CNM,e.CBCM],c.c=[o,n,r,e.ASM,e.QSM,e.CNM,e.inherit(e.CBCM,{i:/\n/})];var l={v:[s,n,t,e.ASM,e.QSM]},b=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp"],k:i,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},l,e.CNM,{bK:"class interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+b+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:i,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:i,r:0,c:[l,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("oxygene",function(e){var r="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",t=e.C("{","}",{r:0}),a=e.C("\\(\\*","\\*\\)",{r:10}),n={cN:"string",b:"'",e:"'",c:[{b:"''"}]},o={cN:"string",b:"(#\\d+)+"},i={cN:"function",bK:"function constructor destructor procedure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 method|10",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",k:r,c:[n,o]},t,a]};return{cI:!0,l:/\.?\w+/,k:r,i:'("|\\$[G-Zg-z]|\\/\\*||->)',c:[t,a,e.CLCM,n,o,e.NM,i,{cN:"class",b:"=\\bclass\\b",e:"end;",k:r,c:[n,o,t,a,e.CLCM,i]}]}});hljs.registerLanguage("accesslog",function(T){return{c:[{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+\\b",r:0},{cN:"string",b:'"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',e:'"',k:"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE",i:"\\n",r:10},{cN:"string",b:/\[/,e:/\]/,i:"\\n"},{cN:"string",b:'"',e:'"',i:"\\n"}]}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l="[>?]>",o="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+l+"|"+o+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:a+r+":"},{b:a+'"'+r+'":'},{b:a+"'"+r+"':"}]},c={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},l={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,c]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:l.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:b,k:{literal:b}},e.CNM,l]}});hljs.registerLanguage("cmake",function(e){return{aliases:["cmake.in"],cI:!0,k:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or equal less greater strless strgreater strequal matches"},c:[{cN:"variable",b:"\\${",e:"}"},e.HCM,e.QSM,e.NM]}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("less",function(e){var r="[\\w-]+",t="("+r+"|@{"+r+"})",a=[],c=[],s=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},b=function(e,r,t){return{cN:e,b:r,r:t}},n={b:"\\(",e:"\\)",c:c,r:0};c.push(e.CLCM,e.CBCM,s("'"),s('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},b("number","#[0-9A-Fa-f]+\\b"),n,b("variable","@@?"+r,10),b("variable","@{"+r+"}"),b("built_in","~?`[^`]*?`"),{cN:"attribute",b:r+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var i=c.concat({b:"{",e:"}",c:a}),o={bK:"when",eW:!0,c:[{bK:"and not"}].concat(c)},u={b:t+"\\s*:",rB:!0,e:"[;}]",r:0,c:[{cN:"attribute",b:t,e:":",eE:!0,starts:{eW:!0,i:"[<=$]",r:0,c:c}}]},l={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:c,r:0}},C={cN:"variable",v:[{b:"@"+r+"\\s*:",r:15},{b:"@"+r}],starts:{e:"[;}]",rE:!0,c:i}},p={v:[{b:"[\\.#:&\\[>]",e:"[;{}]"},{b:t,e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",r:0,c:[e.CLCM,e.CBCM,o,b("keyword","all\\b"),b("variable","@{"+r+"}"),b("selector-tag",t+"%?",0),b("selector-id","#"+t),b("selector-class","\\."+t,0),b("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"\\(",e:"\\)",c:i},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,l,C,u,p),{cI:!0,i:"[=>'/<($\"]",c:a}});hljs.registerLanguage("stylus",function(e){var t={cN:"variable",b:"\\$"+e.IR},o={cN:"number",b:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},i=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],r=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],a="[\\.\\s\\n\\[\\:,]",l=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"],d=["\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)","(\\bdef\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];return{aliases:["styl"],cI:!1,k:"if else for in",i:"("+d.join("|")+")",c:[e.QSM,e.ASM,e.CLCM,e.CBCM,o,{b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"selector-class",b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"selector-id",b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\b("+n.join("|")+")"+a,rB:!0,c:[{cN:"selector-tag",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"&?:?:\\b("+r.join("|")+")"+a},{b:"@("+i.join("|")+")\\b"},t,e.CSSNM,e.NM,{cN:"function",b:"^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",i:"[\\n]",rB:!0,c:[{cN:"title",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{cN:"params",b:/\(/,e:/\)/,c:[o,t,e.ASM,e.CSSNM,e.NM,e.QSM]}]},{cN:"attribute",b:"\\b("+l.reverse().join("|")+")\\b",starts:{e:/;|$/,c:[o,t,e.ASM,e.QSM,e.CSSNM,e.NM,e.CBCM],i:/\./,r:0}}]}});hljs.registerLanguage("tex",function(c){var e={cN:"tag",b:/\\/,r:0,c:[{cN:"name",v:[{b:/[a-zA-Zа-яА-я]+[*]?/},{b:/[^a-zA-Zа-яА-я0-9]/}],starts:{eW:!0,r:0,c:[{cN:"string",v:[{b:/\[/,e:/\]/},{b:/\{/,e:/\}/}]},{b:/\s*=\s*/,eW:!0,r:0,c:[{cN:"number",b:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[e,{cN:"formula",c:[e],r:0,v:[{b:/\$\$/,e:/\$\$/},{b:/\$/,e:/\$/}]},c.C("%","$",{r:0})]}});hljs.registerLanguage("elixir",function(e){var r="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",b="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",c={cN:"subst",b:"#\\{",e:"}",l:r,k:b},a={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]},i={cN:"function",bK:"def defp defmacro",e:/\B\b/,c:[e.inherit(e.TM,{b:r,endsParent:!0})]},l=e.inherit(i,{cN:"class",bK:"defimpl defmodule defprotocol defrecord",e:/\bdo\b|$|;/}),s=[a,e.HCM,l,i,{cN:"symbol",b:":(?!\\s)",c:[a,{b:n}],r:0},{cN:"symbol",b:r+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"->"},{b:"("+e.RSR+")\\s*",c:[e.HCM,{cN:"regexp",i:"\\n",c:[e.BE,c],v:[{b:"/",e:"/[a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];return c.c=s,{l:r,k:b,c:s}});hljs.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"section",r:10,v:[{b:"^(={1,5}) .+?( \\1)?$"},{b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{cN:"meta",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"meta",b:"^\\[.+?\\]$",r:0},{cN:"quote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"symbol",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"string",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link",b:"\\w",e:"[^\\[]+",r:0},{cN:"string",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}});hljs.registerLanguage("q",function(e){var s={keyword:"do while select delete by update from",literal:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",type:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],k:s,l:/(`?)[A-Za-z0-9_]+\b/,c:[e.CLCM,e.QSM,e.CNM]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},t={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,t,a]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},t,a]}});hljs.registerLanguage("haml",function(s){return{cI:!0,c:[{cN:"meta",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},s.C("^\\s*(!=#|=#|-#|/).*$",!1,{r:0}),{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"selector-tag",b:"\\w+"},{cN:"selector-id",b:"#[\\w-]+"},{cN:"selector-class",b:"\\.[\\w-]+"},{b:"{\\s*",e:"\\s*}",c:[{b:":\\w+\\s*=>",e:",\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:":\\w+"},s.ASM,s.QSM,{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:!0,c:[{b:"\\w+\\s*=",e:"\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:"\\w+",r:0},s.ASM,s.QSM,{b:"\\w+",r:0}]}]}]},{b:"^\\s*[=~]\\s*"},{b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("r",function(e){var r="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:r,l:r,k:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("scss",function(e){var t="[a-zA-Z-][a-zA-Z0-9_-]*",i={cN:"variable",b:"(\\$"+t+")\\b"},r={cN:"number",b:"#[0-9A-Fa-f]+"};({cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{eW:!0,eE:!0,c:[r,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"meta",b:"!important"}]}});return{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,{cN:"selector-id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"selector-class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"selector-attr",b:"\\[",e:"\\]",i:"$"},{cN:"selector-tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},i,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{b:":",e:";",c:[i,r,e.CSSNM,e.QSM,e.ASM,{cN:"meta",b:"!important"}]},{b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[i,e.QSM,e.ASM,r,e.CSSNM,{b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("livecodeserver",function(e){var r={b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0},t=[e.CBCM,e.HCM,e.C("--","$"),e.C("[^:]//","$")],a=e.inherit(e.TM,{v:[{b:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]}),o=e.inherit(e.TM,{b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:!1,k:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",literal:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"},c:[r,{cN:"keyword",b:"\\bend\\sif\\b"},{cN:"function",bK:"function",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"function",b:"\\bend\\s+",e:"$",k:"end",c:[o,a],r:0},{bK:"command on",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"meta",v:[{b:"<\\?(rev|lc|livecode)",r:10},{b:"<\\?"},{b:"\\?>"}]},e.ASM,e.QSM,e.BNM,e.CNM,a].concat(t),i:";$|^\\[|^=|&|{"}});hljs.registerLanguage("elm",function(e){var i={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},t={cN:"type",b:"\\b[A-Z][\\w']*",r:0},c={b:"\\(",e:"\\)",i:'"',c:[{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},i]},n={b:"{",e:"}",c:c.c};return{k:"let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription",c:[{bK:"port effect module",e:"exposing",k:"port effect module where command subscription exposing",c:[c,i],i:"\\W\\.|;"},{b:"import",e:"$",k:"import as exposing",c:[c,i],i:"\\W\\.|;"},{b:"type",e:"$",k:"type alias",c:[t,c,n,i]},{bK:"infix infixl infixr",e:"$",c:[e.CNM,i]},{b:"port",e:"$",k:"port",c:[i]},e.QSM,e.CNM,t,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),i,{b:"->|<-"}],i:/;/}});hljs.registerLanguage("clojure",function(e){var t={"builtin-name":"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},r="a-zA-Z_\\-!.?+*=<>&#'",n="["+r+"]["+r+"0-9/;:]*",a="[-+]?\\d+(\\.\\d+)?",o={b:n,r:0},s={cN:"number",b:a,r:0},c=e.inherit(e.QSM,{i:null}),i=e.C(";","$",{r:0}),d={cN:"literal",b:/\b(true|false|nil)\b/},l={b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+n},p=e.C("\\^\\{","\\}"),u={cN:"symbol",b:"[:]{1,2}"+n},f={b:"\\(",e:"\\)"},h={eW:!0,r:0},y={k:t,l:n,cN:"name",b:n,starts:h},b=[f,c,m,p,i,u,l,s,d,o];return f.c=[e.C("comment",""),y,h],h.c=b,l.c=b,p.c=[l],{aliases:["clj"],i:/\S/,c:[f,c,m,p,i,u,l,s,d]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U)?L?"',e:'"',i:"\\n",c:[t.BE]},{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"",k:c,c:["self",e]},{b:t.IR+"::",k:c},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:c,c:n.concat([{b:/\(/,e:/\)/,k:c,c:n.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e]},t.CLCM,t.CBCM,i]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},t.TM]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage("arduino",function(e){var t=e.getLanguage("cpp").exports;return{k:{keyword:"boolean byte word string String array "+t.k.keyword,built_in:"setup loop while catch for if do goto try switch case else default break continue return KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put",literal:"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW"},c:[t.preprocessor,e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}});hljs.registerLanguage("dockerfile",function(e){return{aliases:["docker"],cI:!0,k:"from maintainer expose env arg user onbuild stopsignal",c:[e.HCM,e.ASM,e.QSM,e.NM,{bK:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{e:/[^\\]\n/,sL:"bash"}}],i:"",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("autohotkey",function(e){var r={b:"`[\\s\\S]"};return{cI:!0,aliases:["ahk"],k:{keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",literal:"A|0 true false NOT AND OR",built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},c:[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},r,e.inherit(e.QSM,{c:[r]}),e.C(";","$",{r:0}),e.CBCM,{cN:"number",b:e.NR,r:0},{cN:"subst",b:"%(?=[a-zA-Z0-9#_$@])",e:"%",i:"[^a-zA-Z0-9#_$@]"},{cN:"built_in",b:"^\\s*\\w+\\s*,"},{cN:"meta",b:"^\\s*#w+",e:"$",r:0},{cN:"symbol",c:[r],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,"}]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(i)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:i.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[s,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[s]},s]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("python",function(e){var r={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},b={cN:"meta",b:/^(>>>|\.\.\.) /},c={cN:"subst",b:/\{/,e:/\}/,k:r,i:/#/},a={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[b],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[b],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[b,c]},{b:/(fr|rf|f)"""/,e:/"""/,c:[b,c]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[c]},{b:/(fr|rf|f)"/,e:/"/,c:[c]},e.ASM,e.QSM]},s={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},i={cN:"params",b:/\(/,e:/\)/,c:["self",b,s,a]};return c.c=[a,s,b],{aliases:["py","gyp"],k:r,i:/(<\/|->|\?)|=>/,c:[b,s,a,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("parser3",function(r){var e=r.C("{","}",{c:["self"]});return{sL:"xml",r:0,c:[r.C("^#","$"),r.C("\\^rem{","}",{r:10,c:[e]}),{cN:"meta",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},r.CNM]}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});hljs.registerLanguage("scheme",function(e){var t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",r="(\\-|\\+)?\\d+([./]\\d+)?",a=r+"[+\\-]"+r+"i",i={"builtin-name":"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},n={cN:"meta",b:"^#!",e:"$"},c={cN:"literal",b:"(#t|#f|#\\\\"+t+"|#\\\\.)"},l={cN:"number",v:[{b:r,r:0},{b:a,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},s=e.QSM,o=[e.C(";","$",{r:0}),e.C("#\\|","\\|#")],u={b:t,r:0},p={cN:"symbol",b:"'"+t},d={eW:!0,r:0},m={v:[{b:/'/},{b:"`"}],c:[{b:"\\(",e:"\\)",c:["self",c,s,l,u,p]}]},g={cN:"name",b:t,l:t,k:i},h={b:/lambda/,eW:!0,rB:!0,c:[g,{b:/\(/,e:/\)/,endsParent:!0,c:[u]}]},b={v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[h,g,d]};return d.c=[c,l,s,u,p,m,b].concat(o),{i:/\S/,c:[n,l,s,p,m,b].concat(o)}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*#]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("django",function(e){var t={b:/\|[A-Za-z]+:?/,k:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone"},c:[e.QSM,e.ASM]};return{aliases:["jinja"],cI:!0,sL:"xml",c:[e.C(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:{name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim"},starts:{eW:!0,k:"in by as",c:[t],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:[t]}]}});hljs.registerLanguage("matlab",function(e){var a=[e.CNM,{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]}],s={r:0,c:[{b:/'['\.]*/}]};return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}]}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},s.c[0]]},{b:"\\[",e:"\\]",c:a,r:0,starts:s},{b:"\\{",e:/}/,c:a,r:0,starts:s},{b:/\)/,r:0,starts:s},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")].concat(a)}});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},i=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:_,l:i,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:i,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("aspectj",function(e){var t="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",i="get set args call";return{k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"aspect",e:/[{;=]/,eE:!0,i:/[:;"\[\]]/,c:[{bK:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UTM,{b:/\([^\)]*/,e:/[)]+/,k:t+" "+i,eE:!1}]},{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,r:0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"pointcut after before around throwing returning",e:/[)]/,eE:!1,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",k:t+" "+i,r:0},e.QSM]},{bK:"new throw",r:0},{cN:"function",b:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("handlebars",function(e){var a={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],cI:!0,sL:"xml",c:[e.C("{{!(--)?","(--)?}}"),{cN:"template-tag",b:/\{\{[#\/]/,e:/\}\}/,c:[{cN:"name",b:/[a-zA-Z\.-]+/,k:a,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:"template-variable",b:/\{\{/,e:/\}\}/,k:a}]}});hljs.registerLanguage("tcl",function(e){return{aliases:["tk"],k:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",c:[e.C(";[ \\t]*#","$"),e.C("^[ \\t]*#","$"),{bK:"proc",e:"[\\{]",eE:!0,c:[{cN:"title",b:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"[ \\t\\n\\r]",eW:!0,eE:!0}]},{eE:!0,v:[{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",e:"[^a-zA-Z0-9_\\}\\$]"},{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{cN:"string",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:"number",v:[e.BNM,e.CNM]}]}});hljs.registerLanguage("typescript",function(e){var r={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"};return{aliases:["ts"],k:r,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+e.IR+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:e.IR},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:["self",e.CLCM,e.CBCM]}]}]}],r:0},{cN:"function",b:"function",e:/[\{;]/,eE:!0,k:r,c:["self",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/%/,r:0},{bK:"constructor",e:/\{/,eE:!0,c:["self",{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}]},{b:/module\./,k:{built_in:"module"},r:0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("lisp",function(b){var e="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",r="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",a={cN:"meta",b:"^#!",e:"$"},l={cN:"literal",b:"\\b(t{1}|nil)\\b"},n={cN:"number",v:[{b:r,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+r+" +"+r,e:"\\)"}]},i=b.inherit(b.QSM,{i:null}),t=b.C(";","$",{r:0}),s={b:"\\*",e:"\\*"},u={cN:"symbol",b:"[:&]"+e},d={b:e,r:0},f={b:c},m={b:"\\(",e:"\\)",c:["self",l,i,n,d]},o={c:[n,i,s,u,m,d],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote ",e:"\\)",k:{name:"quote"}},{b:"'"+c}]},v={v:[{b:"'"+e},{b:"#'"+e+"(::"+e+")*"}]},N={b:"\\(\\s*",e:"\\)"},A={eW:!0,r:0};return N.c=[{cN:"name",v:[{b:e},{b:c}]},A],A.c=[o,v,N,l,n,i,t,s,u,f,d],{i:/\S/,c:[n,a,l,i,t,o,v,N,d]}});hljs.registerLanguage("dust",function(e){var t="if eq ne lt lte gt gte select default math sep";return{aliases:["dst"],cI:!0,sL:"xml",c:[{cN:"template-tag",b:/\{[#\/]/,e:/\}/,i:/;/,c:[{cN:"name",b:/[a-zA-Z\.-]+/,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:"template-variable",b:/\{/,e:/\}/,i:/;/,k:t}]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b://,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("groovy",function(e){return{k:{literal:"true false null",keyword:"byte short char int long boolean float double void def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""'},{cN:"string",b:"'''",e:"'''"},{cN:"string",b:"\\$/",e:"/\\$",r:10},e.ASM,{cN:"regexp",b:/~?\/[^\/\n]+\//,c:[e.BE]},e.QSM,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.BNM,{cN:"class",bK:"class interface trait enum",e:"{",i:":",c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"},{cN:"string",b:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\?/,e:/\:/},{cN:"symbol",b:"^\\s*[A-Za-z0-9_$]+:",r:0}],i:/#|<\//}});hljs.registerLanguage("d",function(e){var t={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},r="(0|[1-9][\\d_]*)",a="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",i="0[bB][01_]+",n="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",_="0[xX]"+n,c="([eE][+-]?"+a+")",d="("+a+"(\\.\\d*|"+c+")|\\d+\\."+a+a+"|\\."+r+c+"?)",o="(0[xX]("+n+"\\."+n+"|\\.?"+n+")[pP][+-]?"+a+")",s="("+r+"|"+i+"|"+_+")",l="("+o+"|"+d+")",u="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",b={cN:"number",b:"\\b"+s+"(L|u|U|Lu|LU|uL|UL)?",r:0},f={cN:"number",b:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+s+"(i|[fF]i|Li))",r:0},g={cN:"string",b:"'("+u+"|.)",e:"'",i:"."},h={b:u,r:0},p={cN:"string",b:'"',c:[h],e:'"[cwd]?'},m={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},w={cN:"string",b:"`",e:"`[cwd]?"},N={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},A={cN:"string",b:'q"\\{',e:'\\}"'},F={cN:"meta",b:"^#!",e:"$",r:5},y={cN:"meta",b:"#(line)",e:"$",r:5},L={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"},v=e.C("\\/\\+","\\+\\/",{c:["self"],r:10});return{l:e.UIR,k:t,c:[e.CLCM,e.CBCM,v,N,p,m,w,A,f,b,g,F,y,L]}});hljs.registerLanguage("java",function(e){var a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",t=a+"(<"+a+"(\\s*,\\s*"+a+")*>)?",r="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:s,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("ruleslanguage",function(T){return{k:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},c:[T.CLCM,T.CBCM,T.ASM,T.QSM,T.CNM,{cN:"literal",v:[{b:"#\\s+[a-zA-Z\\ \\.]*",r:0},{b:"#[a-zA-Z\\ \\.]+"}]}]}});hljs.registerLanguage("jboss-cli",function(e){var a={b:/[\w-]+ *=/,rB:!0,r:0,c:[{cN:"attr",b:/[\w-]+/}]},r={cN:"params",b:/\(/,e:/\)/,c:[a],r:0},o={cN:"function",b:/:[\w\-.]+/,r:0},t={cN:"string",b:/\B(([\/.])[\w\-.\/=]+)+/},c={cN:"params",b:/--[\w\-=\/]+/};return{aliases:["wildfly-cli"],l:"[a-z-]+",k:{keyword:"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source",literal:"true false"},c:[e.HCM,e.QSM,c,o,t,r]}});hljs.registerLanguage("hy",function(e){var t={"builtin-name":"!= % %= & &= * ** **= *= *map + += , --build-class-- --import-- -= . / // //= /= < << <<= <= = > >= >> >>= @ @= ^ ^= abs accumulate all and any ap-compose ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast callable calling-module-name car case cdr chain chr coll? combinations compile compress cond cons cons? continue count curry cut cycle dec def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first flatten float? fn fnc fnr for for* format fraction genexpr gensym get getattr global globals group-by hasattr hash hex id identity if if* if-not if-python2 import in inc input instance? integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass iter iterable? iterate iterator? keyword keyword? lambda last len let lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all map max merge-with method-decorator min multi-decorator multicombinations name neg? next none? nonlocal not not-in not? nth numeric? oct odd? open or ord partition permutations pos? post-route postwalk pow prewalk print product profile/calls profile/cpu put-route quasiquote quote raise range read read-str recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms xi xor yield yield-from zero? zip zip-longest | |= ~"},i="a-zA-Z_\\-!.?+*=<>&#'",a="["+i+"]["+i+"0-9/;:]*",r="[-+]?\\d+(\\.\\d+)?",o={cN:"meta",b:"^#!",e:"$"},s={b:a,r:0},n={cN:"number",b:r,r:0},l=e.inherit(e.QSM,{i:null}),c=e.C(";","$",{r:0}),d={cN:"literal",b:/\b([Tt]rue|[Ff]alse|nil|None)\b/},p={b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+a},u=e.C("\\^\\{","\\}"),f={cN:"symbol",b:"[:]{1,2}"+a},h={b:"\\(",e:"\\)"},b={eW:!0,r:0},g={k:t,l:a,cN:"name",b:a,starts:b},y=[h,l,m,u,c,f,p,n,d,s];return h.c=[e.C("comment",""),g,b],b.c=y,p.c=y,{aliases:["hylang"],i:/\S/,c:[o,h,l,m,u,c,f,p,n,d]}});hljs.registerLanguage("csp",function(r){return{cI:!1,l:"[a-zA-Z][a-zA-Z0-9_-]*",k:{keyword:"base-uri child-src connect-src default-src font-src form-action frame-ancestors frame-src img-src media-src object-src plugin-types report-uri sandbox script-src style-src"},c:[{cN:"string",b:"'",e:"'"},{cN:"attribute",b:"^Content",e:":",eE:!0}]}});hljs.registerLanguage("applescript",function(e){var t=e.inherit(e.QSM,{i:""}),r={cN:"params",b:"\\(",e:"\\)",c:["self",e.CNM,t]},i=e.C("--","$"),o=e.C("\\(\\*","\\*\\)",{c:["self",i]}),n=[i,o,e.HCM];return{aliases:["osascript"],k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[t,e.CNM,{cN:"built_in",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"literal",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference)|POSIX file|POSIX path|(date|time) string|quoted form)\\b"},{bK:"on",i:"[${=;\\n]",c:[e.UTM,r]}].concat(n),i:"//|->|=>|\\[\\["}});hljs.registerLanguage("gherkin",function(e){return{aliases:["feature"],k:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",c:[{cN:"symbol",b:"\\*",r:0},{cN:"meta",b:"@[^@\\s]+"},{b:"\\|",e:"\\|\\w*$",c:[{cN:"string",b:"[^|]+"}]},{cN:"variable",b:"<",e:">"},e.HCM,{cN:"string",b:'"""',e:'"""'},e.QSM]}});hljs.registerLanguage("gams",function(e){var a={keyword:"abort acronym acronyms alias all and assign binary card diag display else eq file files for free ge gt if integer le loop lt maximizing minimizing model models ne negative no not option options or ord positive prod put putpage puttl repeat sameas semicont semiint smax smin solve sos1 sos2 sum system table then until using while xor yes",literal:"eps inf na","built-in":"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power randBinomial randLinear randTriangle round rPower sigmoid sign signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion handleCollect handleDelete handleStatus handleSubmit heapFree heapLimit heapSize jobHandle jobKill jobStatus jobTerminate licenseLevel licenseStatus maxExecError sleep timeClose timeComp timeElapsed timeExec timeStart"},o={cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0},r={cN:"symbol",v:[{b:/\=[lgenxc]=/},{b:/\$/}]},t={cN:"comment",v:[{b:"'",e:"'"},{b:'"',e:'"'}],i:"\\n",c:[e.BE]},i={b:"/",e:"/",k:a,c:[t,e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},l={b:/[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/,eB:!0,e:"$",eW:!0,c:[t,i,{cN:"comment",b:/([ ]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/,r:0}]};return{aliases:["gms"],cI:!0,k:a,c:[e.C(/^\$ontext/,/^\$offtext/),{cN:"meta",b:"^\\$[a-z0-9]+",e:"$",rB:!0,c:[{cN:"meta-keyword",b:"^\\$[a-z0-9]+"}]},e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,{bK:"set sets parameter parameters variable variables scalar scalars equation equations",e:";",c:[e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,i,l]},{bK:"table",e:";",rB:!0,c:[{bK:"table",e:"$",c:[l]},e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},{cN:"function",b:/^[a-z][a-z0-9_,\-+' ()$]+\.{2}/,rB:!0,c:[{cN:"title",b:/^[a-z0-9_]+/},o,r]},e.CNM,r]}});hljs.registerLanguage("kotlin",function(e){var t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit initinterface annotation data sealed internal infix operator out by constructor super trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},r={cN:"keyword",b:/\b(break|continue|return|this)\b/,starts:{c:[{cN:"symbol",b:/@\w+/}]}},i={cN:"symbol",b:e.UIR+"@"},n={cN:"subst",b:"\\${",e:"}",c:[e.ASM,e.CNM]},a={cN:"variable",b:"\\$"+e.UIR},c={cN:"string",v:[{b:'"""',e:'"""',c:[a,n]},{b:"'",e:"'",i:/\n/,c:[e.BE]},{b:'"',e:'"',i:/\n/,c:[e.BE,a,n]}]},s={cN:"meta",b:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UIR+")?"},o={cN:"meta",b:"@"+e.UIR,c:[{b:/\(/,e:/\)/,c:[e.inherit(c,{cN:"meta-string"})]}]};return{k:t,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,r,i,s,o,{cN:"function",bK:"fun",e:"[(]|$",rB:!0,eE:!0,k:t,i:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,r:5,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"type",b://,k:"reified",r:0},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:t,r:0,c:[{b:/:/,e:/[=,\/]/,eW:!0,c:[{cN:"type",b:e.UIR},e.CLCM,e.CBCM],r:0},e.CLCM,e.CBCM,s,o,c,e.CNM]},e.CBCM]},{cN:"class",bK:"class interface trait",e:/[:\{(]|$/,eE:!0,i:"extends implements",c:[{bK:"public protected internal private constructor"},e.UTM,{cN:"type",b://,eB:!0,eE:!0,r:0},{cN:"type",b:/[,:]\s*/,e:/[<\(,]|$/,eB:!0,rE:!0},s,o]},c,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.CNM]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("makefile",function(e){var i={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%"}]}});hljs.registerLanguage("livescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},s="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",n=e.inherit(e.TM,{b:s}),i={cN:"subst",b:/#\{/,e:/}/,k:t},r={cN:"subst",b:/#[A-Za-z$_]/,e:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,k:t},c=[e.BNM,{cN:"number",b:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",r:0,starts:{e:"(\\s*/)?",r:0}},{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,i,r]},{b:/"/,e:/"/,c:[e.BE,i,r]},{b:/\\/,e:/(\s|$)/,eE:!0}]},{cN:"regexp",v:[{b:"//",e:"//[gim]*",c:[i,e.HCM]},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+s},{b:"``",e:"``",eB:!0,eE:!0,sL:"javascript"}];i.c=c;var a={cN:"params",b:"\\(",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(c)}]};return{aliases:["ls"],k:t,i:/\/\*/,c:c.concat([e.C("\\/\\*","\\*\\/"),e.HCM,{cN:"function",c:[n,a],rB:!0,v:[{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",e:"\\->\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",e:"[-~]{1,2}>\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",e:"!?[-~]{1,2}>\\*?"}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[n]},n]},{b:s+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("mathematica",function(e){return{aliases:["mma"],l:"(\\$|\\b)"+e.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber", -c:[{cN:"comment",b:/\(\*/,e:/\*\)/},e.ASM,e.QSM,e.CNM,{b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("haskell",function(e){var i={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},a={cN:"meta",b:"{-#",e:"#-}"},l={cN:"meta",b:"^#",e:"$"},c={cN:"type",b:"\\b[A-Z][\\w']*",r:0},n={b:"\\(",e:"\\)",i:'"',c:[a,l,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"}),i]},s={b:"{",e:"}",c:n.c};return{aliases:["hs"],k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{bK:"module",e:"where",k:"module where",c:[n,i],i:"\\W\\.|;"},{b:"\\bimport\\b",e:"$",k:"import qualified as hiding",c:[n,i],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[c,n,i]},{cN:"class",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[a,c,n,s,i]},{bK:"default",e:"$",c:[c,n,i]},{bK:"infix infixl infixr",e:"$",c:[e.CNM,i]},{b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[c,e.QSM,i]},{cN:"meta",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},a,l,e.QSM,e.CNM,c,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),i,{b:"->|<-"}]}});hljs.registerLanguage("twig",function(e){var t={cN:"params",b:"\\(",e:"\\)"},a="attribute block constant cycle date dump include max min parent random range source template_from_string",r={bK:a,k:{name:a},r:0,c:[t]},c={b:/\|[A-Za-z_]+:?/,k:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",c:[r]},s="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return s=s+" "+s.split(" ").map(function(e){return"end"+e}).join(" "),{aliases:["craftcms"],cI:!0,sL:"xml",c:[e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:s,starts:{eW:!0,c:[c,r],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:["self",c,r]}]}});hljs.registerLanguage("ocaml",function(e){return{aliases:["ml"],k:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)",r:0},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"type",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*",r:0},e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("powershell",function(e){var t={b:"`[\\s\\S]",r:0},o={cN:"variable",v:[{b:/\$[\w\d][\w\d_:]*/}]},r={cN:"literal",b:/\$(null|true|false)\b/},n={cN:"string",v:[{b:/"/,e:/"/},{b:/@"/,e:/^"@/}],c:[t,o,{cN:"variable",b:/\$[A-z]/,e:/[^A-z]/}]},a={cN:"string",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},i={cN:"doctag",v:[{b:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]},s=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[i]});return{aliases:["ps"],l:/-?[A-z\.\-]+/,cI:!0,k:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",built_in:"Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct",nomarkup:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},c:[t,e.NM,n,a,r,o,s]}});hljs.registerLanguage("fsharp",function(e){var t={b:"<",e:">",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",i:/\/\*/,c:[{cN:"keyword",b:/\b(yield|return|let|do)!/},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},e.C("\\(\\*","\\*\\)"),{cN:"class",bK:"type",e:"\\(|=|$",eE:!0,c:[e.UTM,t]},{cN:"meta",b:"\\[<",e:">\\]",r:10},{cN:"symbol",b:"\\B('[A-Za-z])\\b",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}});hljs.registerLanguage("julia",function(e){var r={keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",a={l:t,k:r,i:/<\//},n={cN:"number",b:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,r:0},o={cN:"string",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i={cN:"subst",b:/\$\(/,e:/\)/,k:r},l={cN:"variable",b:"\\$"+t},c={cN:"string",c:[e.BE,i,l],v:[{b:/\w*"""/,e:/"""\w*/,r:10},{b:/\w*"/,e:/"\w*/}]},s={cN:"string",c:[e.BE,i,l],b:"`",e:"`"},d={cN:"meta",b:"@"+t},u={cN:"comment",v:[{b:"#=",e:"=#",r:10},{b:"#",e:"$"}]};return a.c=[n,o,c,s,d,u,e.HCM,{cN:"keyword",b:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{b:/<:/}],i.c=a.c,a});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:")+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e.CBCM,i,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},i,n]}});hljs.registerLanguage("delphi",function(e){var r="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure absolute reintroduce operator as is abstract alias assembler bitpacked break continue cppdecl cvar enumerator experimental platform deprecated unimplemented dynamic export far16 forward generic helper implements interrupt iochecks local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat specialize strict unaligned varargs ",t=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],a={cN:"meta",v:[{b:/\{\$/,e:/\}/},{b:/\(\*\$/,e:/\*\)/}]},c={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},i={cN:"string",b:/(#\d+)+/},o={b:e.IR+"\\s*=\\s*class\\s*\\(",rB:!0,c:[e.TM]},n={cN:"function",bK:"function constructor destructor procedure",e:/[:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[c,i,a].concat(t)},a].concat(t)};return{aliases:["dpr","dfm","pas","pascal","freepascal","lazarus","lpr","lfm"],cI:!0,k:r,i:/"|\$[G-Zg-z]|\/\*|<\/|\|/,c:[c,i,e.NM,o,n,a].concat(t)}});hljs.registerLanguage("gradle",function(e){return{cI:!0,k:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}}); \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/agate.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/agate.css deleted file mode 100755 index 8d64547..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/agate.css +++ /dev/null @@ -1,108 +0,0 @@ -/*! - * Agate by Taufik Nurrohman - * ---------------------------------------------------- - * - * #ade5fc - * #a2fca2 - * #c6b4f0 - * #d36363 - * #fcc28c - * #fc9b9b - * #ffa - * #fff - * #333 - * #62c8f3 - * #888 - * - */ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #333; - color: white; -} - -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-code, -.hljs-emphasis { - font-style: italic; -} - -.hljs-tag { - color: #62c8f3; -} - -.hljs-variable, -.hljs-template-variable, -.hljs-selector-id, -.hljs-selector-class { - color: #ade5fc; -} - -.hljs-string, -.hljs-bullet { - color: #a2fca2; -} - -.hljs-type, -.hljs-title, -.hljs-section, -.hljs-attribute, -.hljs-quote, -.hljs-built_in, -.hljs-builtin-name { - color: #ffa; -} - -.hljs-number, -.hljs-symbol, -.hljs-bullet { - color: #d36363; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal { - color: #fcc28c; -} - -.hljs-comment, -.hljs-deletion, -.hljs-code { - color: #888; -} - -.hljs-regexp, -.hljs-link { - color: #c6b4f0; -} - -.hljs-meta { - color: #fc9b9b; -} - -.hljs-deletion { - background-color: #fc9b9b; - color: #333; -} - -.hljs-addition { - background-color: #a2fca2; - color: #333; -} - -.hljs a { - color: inherit; -} - -.hljs a:focus, -.hljs a:hover { - color: inherit; - text-decoration: underline; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/androidstudio.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/androidstudio.css deleted file mode 100755 index bc8e473..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/androidstudio.css +++ /dev/null @@ -1,66 +0,0 @@ -/* -Date: 24 Fev 2015 -Author: Pedro Oliveira -*/ - -.hljs { - color: #a9b7c6; - background: #282b2e; - display: block; - overflow-x: auto; - padding: 0.5em; -} - -.hljs-number, -.hljs-literal, -.hljs-symbol, -.hljs-bullet { - color: #6897BB; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-deletion { - color: #cc7832; -} - -.hljs-variable, -.hljs-template-variable, -.hljs-link { - color: #629755; -} - -.hljs-comment, -.hljs-quote { - color: #808080; -} - -.hljs-meta { - color: #bbb529; -} - -.hljs-string, -.hljs-attribute, -.hljs-addition { - color: #6A8759; -} - -.hljs-section, -.hljs-title, -.hljs-type { - color: #ffc66d; -} - -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #e8bf6a; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/arduino-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/arduino-light.css deleted file mode 100755 index 4b8b7fd..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/arduino-light.css +++ /dev/null @@ -1,88 +0,0 @@ -/* - -Arduino® Light Theme - Stefania Mellai - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #FFFFFF; -} - -.hljs, -.hljs-subst { - color: #434f54; -} - -.hljs-keyword, -.hljs-attribute, -.hljs-selector-tag, -.hljs-doctag, -.hljs-name { - color: #00979D; -} - -.hljs-built_in, -.hljs-literal, -.hljs-bullet, -.hljs-code, -.hljs-addition { - color: #D35400; -} - -.hljs-regexp, -.hljs-symbol, -.hljs-variable, -.hljs-template-variable, -.hljs-link, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #00979D; -} - -.hljs-type, -.hljs-string, -.hljs-selector-id, -.hljs-selector-class, -.hljs-quote, -.hljs-template-tag, -.hljs-deletion { - color: #005C5F; -} - -.hljs-title, -.hljs-section { - color: #880000; - font-weight: bold; -} - -.hljs-comment { - color: rgba(149,165,166,.8); -} - -.hljs-meta-keyword { - color: #728E00; -} - -.hljs-meta { - color: #728E00; - color: #434f54; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-function { - color: #728E00; -} - -.hljs-number { - color: #8A7B52; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/arta.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/arta.css deleted file mode 100755 index 75ef3a9..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/arta.css +++ /dev/null @@ -1,73 +0,0 @@ -/* -Date: 17.V.2011 -Author: pumbur -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #222; -} - -.hljs, -.hljs-subst { - color: #aaa; -} - -.hljs-section { - color: #fff; -} - -.hljs-comment, -.hljs-quote, -.hljs-meta { - color: #444; -} - -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-regexp { - color: #ffcc33; -} - -.hljs-number, -.hljs-addition { - color: #00cc66; -} - -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-template-variable, -.hljs-attribute, -.hljs-link { - color: #32aaee; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #6644aa; -} - -.hljs-title, -.hljs-variable, -.hljs-deletion, -.hljs-template-tag { - color: #bb1166; -} - -.hljs-section, -.hljs-doctag, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/ascetic.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/ascetic.css deleted file mode 100755 index 48397e8..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/ascetic.css +++ /dev/null @@ -1,45 +0,0 @@ -/* - -Original style from softwaremaniacs.org (c) Ivan Sagalaev - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: white; - color: black; -} - -.hljs-string, -.hljs-variable, -.hljs-template-variable, -.hljs-symbol, -.hljs-bullet, -.hljs-section, -.hljs-addition, -.hljs-attribute, -.hljs-link { - color: #888; -} - -.hljs-comment, -.hljs-quote, -.hljs-meta, -.hljs-deletion { - color: #ccc; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-section, -.hljs-name, -.hljs-type, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-dark.css deleted file mode 100755 index 65428f3..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-dark.css +++ /dev/null @@ -1,83 +0,0 @@ -/* Base16 Atelier Cave Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Cave Comment */ -.hljs-comment, -.hljs-quote { - color: #7e7887; -} - -/* Atelier-Cave Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-regexp, -.hljs-link, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #be4678; -} - -/* Atelier-Cave Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #aa573c; -} - -/* Atelier-Cave Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #2a9292; -} - -/* Atelier-Cave Blue */ -.hljs-title, -.hljs-section { - color: #576ddb; -} - -/* Atelier-Cave Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #955ae7; -} - -.hljs-deletion, -.hljs-addition { - color: #19171c; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #be4678; -} - -.hljs-addition { - background-color: #2a9292; -} - -.hljs { - display: block; - overflow-x: auto; - background: #19171c; - color: #8b8792; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-light.css deleted file mode 100755 index b419f9f..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-cave-light.css +++ /dev/null @@ -1,85 +0,0 @@ -/* Base16 Atelier Cave Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Cave Comment */ -.hljs-comment, -.hljs-quote { - color: #655f6d; -} - -/* Atelier-Cave Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #be4678; -} - -/* Atelier-Cave Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #aa573c; -} - -/* Atelier-Cave Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #2a9292; -} - -/* Atelier-Cave Blue */ -.hljs-title, -.hljs-section { - color: #576ddb; -} - -/* Atelier-Cave Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #955ae7; -} - -.hljs-deletion, -.hljs-addition { - color: #19171c; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #be4678; -} - -.hljs-addition { - background-color: #2a9292; -} - -.hljs { - display: block; - overflow-x: auto; - background: #efecf4; - color: #585260; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-dark.css deleted file mode 100755 index 1684f52..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-dark.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Dune Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Dune Comment */ -.hljs-comment, -.hljs-quote { - color: #999580; -} - -/* Atelier-Dune Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #d73737; -} - -/* Atelier-Dune Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #b65611; -} - -/* Atelier-Dune Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #60ac39; -} - -/* Atelier-Dune Blue */ -.hljs-title, -.hljs-section { - color: #6684e1; -} - -/* Atelier-Dune Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #b854d4; -} - -.hljs { - display: block; - overflow-x: auto; - background: #20201d; - color: #a6a28c; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-light.css deleted file mode 100755 index 547719d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-dune-light.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Dune Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Dune Comment */ -.hljs-comment, -.hljs-quote { - color: #7d7a68; -} - -/* Atelier-Dune Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #d73737; -} - -/* Atelier-Dune Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #b65611; -} - -/* Atelier-Dune Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #60ac39; -} - -/* Atelier-Dune Blue */ -.hljs-title, -.hljs-section { - color: #6684e1; -} - -/* Atelier-Dune Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #b854d4; -} - -.hljs { - display: block; - overflow-x: auto; - background: #fefbec; - color: #6e6b5e; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-dark.css deleted file mode 100755 index a5e5071..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-dark.css +++ /dev/null @@ -1,84 +0,0 @@ -/* Base16 Atelier Estuary Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Estuary Comment */ -.hljs-comment, -.hljs-quote { - color: #878573; -} - -/* Atelier-Estuary Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #ba6236; -} - -/* Atelier-Estuary Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #ae7313; -} - -/* Atelier-Estuary Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #7d9726; -} - -/* Atelier-Estuary Blue */ -.hljs-title, -.hljs-section { - color: #36a166; -} - -/* Atelier-Estuary Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #5f9182; -} - -.hljs-deletion, -.hljs-addition { - color: #22221b; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #ba6236; -} - -.hljs-addition { - background-color: #7d9726; -} - -.hljs { - display: block; - overflow-x: auto; - background: #22221b; - color: #929181; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-light.css deleted file mode 100755 index 1daee5d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-estuary-light.css +++ /dev/null @@ -1,84 +0,0 @@ -/* Base16 Atelier Estuary Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Estuary Comment */ -.hljs-comment, -.hljs-quote { - color: #6c6b5a; -} - -/* Atelier-Estuary Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #ba6236; -} - -/* Atelier-Estuary Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #ae7313; -} - -/* Atelier-Estuary Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #7d9726; -} - -/* Atelier-Estuary Blue */ -.hljs-title, -.hljs-section { - color: #36a166; -} - -/* Atelier-Estuary Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #5f9182; -} - -.hljs-deletion, -.hljs-addition { - color: #22221b; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #ba6236; -} - -.hljs-addition { - background-color: #7d9726; -} - -.hljs { - display: block; - overflow-x: auto; - background: #f4f3ec; - color: #5f5e4e; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-dark.css deleted file mode 100755 index 0ef4fae..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-dark.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Forest Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Forest Comment */ -.hljs-comment, -.hljs-quote { - color: #9c9491; -} - -/* Atelier-Forest Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #f22c40; -} - -/* Atelier-Forest Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #df5320; -} - -/* Atelier-Forest Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #7b9726; -} - -/* Atelier-Forest Blue */ -.hljs-title, -.hljs-section { - color: #407ee7; -} - -/* Atelier-Forest Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #6666ea; -} - -.hljs { - display: block; - overflow-x: auto; - background: #1b1918; - color: #a8a19f; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-light.css deleted file mode 100755 index bbedde1..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-forest-light.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Forest Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Forest Comment */ -.hljs-comment, -.hljs-quote { - color: #766e6b; -} - -/* Atelier-Forest Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #f22c40; -} - -/* Atelier-Forest Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #df5320; -} - -/* Atelier-Forest Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #7b9726; -} - -/* Atelier-Forest Blue */ -.hljs-title, -.hljs-section { - color: #407ee7; -} - -/* Atelier-Forest Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #6666ea; -} - -.hljs { - display: block; - overflow-x: auto; - background: #f1efee; - color: #68615e; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-dark.css deleted file mode 100755 index fe01ff7..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-dark.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Heath Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Heath Comment */ -.hljs-comment, -.hljs-quote { - color: #9e8f9e; -} - -/* Atelier-Heath Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #ca402b; -} - -/* Atelier-Heath Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #a65926; -} - -/* Atelier-Heath Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #918b3b; -} - -/* Atelier-Heath Blue */ -.hljs-title, -.hljs-section { - color: #516aec; -} - -/* Atelier-Heath Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #7b59c0; -} - -.hljs { - display: block; - overflow-x: auto; - background: #1b181b; - color: #ab9bab; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-light.css deleted file mode 100755 index ee43786..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-heath-light.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Heath Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Heath Comment */ -.hljs-comment, -.hljs-quote { - color: #776977; -} - -/* Atelier-Heath Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #ca402b; -} - -/* Atelier-Heath Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #a65926; -} - -/* Atelier-Heath Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #918b3b; -} - -/* Atelier-Heath Blue */ -.hljs-title, -.hljs-section { - color: #516aec; -} - -/* Atelier-Heath Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #7b59c0; -} - -.hljs { - display: block; - overflow-x: auto; - background: #f7f3f7; - color: #695d69; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-dark.css deleted file mode 100755 index a937d3b..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-dark.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Lakeside Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Lakeside Comment */ -.hljs-comment, -.hljs-quote { - color: #7195a8; -} - -/* Atelier-Lakeside Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #d22d72; -} - -/* Atelier-Lakeside Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #935c25; -} - -/* Atelier-Lakeside Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #568c3b; -} - -/* Atelier-Lakeside Blue */ -.hljs-title, -.hljs-section { - color: #257fad; -} - -/* Atelier-Lakeside Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #6b6bb8; -} - -.hljs { - display: block; - overflow-x: auto; - background: #161b1d; - color: #7ea2b4; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-light.css deleted file mode 100755 index 6c7e8f9..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-lakeside-light.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Lakeside Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Lakeside Comment */ -.hljs-comment, -.hljs-quote { - color: #5a7b8c; -} - -/* Atelier-Lakeside Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #d22d72; -} - -/* Atelier-Lakeside Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #935c25; -} - -/* Atelier-Lakeside Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #568c3b; -} - -/* Atelier-Lakeside Blue */ -.hljs-title, -.hljs-section { - color: #257fad; -} - -/* Atelier-Lakeside Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #6b6bb8; -} - -.hljs { - display: block; - overflow-x: auto; - background: #ebf8ff; - color: #516d7b; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-dark.css deleted file mode 100755 index 3bb0526..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-dark.css +++ /dev/null @@ -1,84 +0,0 @@ -/* Base16 Atelier Plateau Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Plateau Comment */ -.hljs-comment, -.hljs-quote { - color: #7e7777; -} - -/* Atelier-Plateau Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #ca4949; -} - -/* Atelier-Plateau Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #b45a3c; -} - -/* Atelier-Plateau Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #4b8b8b; -} - -/* Atelier-Plateau Blue */ -.hljs-title, -.hljs-section { - color: #7272ca; -} - -/* Atelier-Plateau Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #8464c4; -} - -.hljs-deletion, -.hljs-addition { - color: #1b1818; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #ca4949; -} - -.hljs-addition { - background-color: #4b8b8b; -} - -.hljs { - display: block; - overflow-x: auto; - background: #1b1818; - color: #8a8585; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-light.css deleted file mode 100755 index 5f0222b..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-plateau-light.css +++ /dev/null @@ -1,84 +0,0 @@ -/* Base16 Atelier Plateau Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Plateau Comment */ -.hljs-comment, -.hljs-quote { - color: #655d5d; -} - -/* Atelier-Plateau Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #ca4949; -} - -/* Atelier-Plateau Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #b45a3c; -} - -/* Atelier-Plateau Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #4b8b8b; -} - -/* Atelier-Plateau Blue */ -.hljs-title, -.hljs-section { - color: #7272ca; -} - -/* Atelier-Plateau Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #8464c4; -} - -.hljs-deletion, -.hljs-addition { - color: #1b1818; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #ca4949; -} - -.hljs-addition { - background-color: #4b8b8b; -} - -.hljs { - display: block; - overflow-x: auto; - background: #f4ecec; - color: #585050; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-dark.css deleted file mode 100755 index 38f8314..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-dark.css +++ /dev/null @@ -1,84 +0,0 @@ -/* Base16 Atelier Savanna Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Savanna Comment */ -.hljs-comment, -.hljs-quote { - color: #78877d; -} - -/* Atelier-Savanna Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #b16139; -} - -/* Atelier-Savanna Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #9f713c; -} - -/* Atelier-Savanna Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #489963; -} - -/* Atelier-Savanna Blue */ -.hljs-title, -.hljs-section { - color: #478c90; -} - -/* Atelier-Savanna Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #55859b; -} - -.hljs-deletion, -.hljs-addition { - color: #171c19; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #b16139; -} - -.hljs-addition { - background-color: #489963; -} - -.hljs { - display: block; - overflow-x: auto; - background: #171c19; - color: #87928a; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-light.css deleted file mode 100755 index 1ccd7c6..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-savanna-light.css +++ /dev/null @@ -1,84 +0,0 @@ -/* Base16 Atelier Savanna Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Savanna Comment */ -.hljs-comment, -.hljs-quote { - color: #5f6d64; -} - -/* Atelier-Savanna Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #b16139; -} - -/* Atelier-Savanna Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #9f713c; -} - -/* Atelier-Savanna Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #489963; -} - -/* Atelier-Savanna Blue */ -.hljs-title, -.hljs-section { - color: #478c90; -} - -/* Atelier-Savanna Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #55859b; -} - -.hljs-deletion, -.hljs-addition { - color: #171c19; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #b16139; -} - -.hljs-addition { - background-color: #489963; -} - -.hljs { - display: block; - overflow-x: auto; - background: #ecf4ee; - color: #526057; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-dark.css deleted file mode 100755 index df29949..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-dark.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Seaside Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Seaside Comment */ -.hljs-comment, -.hljs-quote { - color: #809980; -} - -/* Atelier-Seaside Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #e6193c; -} - -/* Atelier-Seaside Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #87711d; -} - -/* Atelier-Seaside Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #29a329; -} - -/* Atelier-Seaside Blue */ -.hljs-title, -.hljs-section { - color: #3d62f5; -} - -/* Atelier-Seaside Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #ad2bee; -} - -.hljs { - display: block; - overflow-x: auto; - background: #131513; - color: #8ca68c; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-light.css deleted file mode 100755 index 9d960f2..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-seaside-light.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Seaside Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Seaside Comment */ -.hljs-comment, -.hljs-quote { - color: #687d68; -} - -/* Atelier-Seaside Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #e6193c; -} - -/* Atelier-Seaside Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #87711d; -} - -/* Atelier-Seaside Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #29a329; -} - -/* Atelier-Seaside Blue */ -.hljs-title, -.hljs-section { - color: #3d62f5; -} - -/* Atelier-Seaside Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #ad2bee; -} - -.hljs { - display: block; - overflow-x: auto; - background: #f4fbf4; - color: #5e6e5e; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-dark.css deleted file mode 100755 index c2ab793..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-dark.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Sulphurpool Dark - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Sulphurpool Comment */ -.hljs-comment, -.hljs-quote { - color: #898ea4; -} - -/* Atelier-Sulphurpool Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #c94922; -} - -/* Atelier-Sulphurpool Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #c76b29; -} - -/* Atelier-Sulphurpool Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #ac9739; -} - -/* Atelier-Sulphurpool Blue */ -.hljs-title, -.hljs-section { - color: #3d8fd1; -} - -/* Atelier-Sulphurpool Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #6679cc; -} - -.hljs { - display: block; - overflow-x: auto; - background: #202746; - color: #979db4; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-light.css deleted file mode 100755 index 96c47d0..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atelier-sulphurpool-light.css +++ /dev/null @@ -1,69 +0,0 @@ -/* Base16 Atelier Sulphurpool Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Sulphurpool Comment */ -.hljs-comment, -.hljs-quote { - color: #6b7394; -} - -/* Atelier-Sulphurpool Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #c94922; -} - -/* Atelier-Sulphurpool Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #c76b29; -} - -/* Atelier-Sulphurpool Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #ac9739; -} - -/* Atelier-Sulphurpool Blue */ -.hljs-title, -.hljs-section { - color: #3d8fd1; -} - -/* Atelier-Sulphurpool Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #6679cc; -} - -.hljs { - display: block; - overflow-x: auto; - background: #f5f7ff; - color: #5e6687; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-dark.css deleted file mode 100755 index 1616aaf..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-dark.css +++ /dev/null @@ -1,96 +0,0 @@ -/* - -Atom One Dark by Daniel Gamage -Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax - -base: #282c34 -mono-1: #abb2bf -mono-2: #818896 -mono-3: #5c6370 -hue-1: #56b6c2 -hue-2: #61aeee -hue-3: #c678dd -hue-4: #98c379 -hue-5: #e06c75 -hue-5-2: #be5046 -hue-6: #d19a66 -hue-6-2: #e6c07b - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #abb2bf; - background: #282c34; -} - -.hljs-comment, -.hljs-quote { - color: #5c6370; - font-style: italic; -} - -.hljs-doctag, -.hljs-keyword, -.hljs-formula { - color: #c678dd; -} - -.hljs-section, -.hljs-name, -.hljs-selector-tag, -.hljs-deletion, -.hljs-subst { - color: #e06c75; -} - -.hljs-literal { - color: #56b6c2; -} - -.hljs-string, -.hljs-regexp, -.hljs-addition, -.hljs-attribute, -.hljs-meta-string { - color: #98c379; -} - -.hljs-built_in, -.hljs-class .hljs-title { - color: #e6c07b; -} - -.hljs-attr, -.hljs-variable, -.hljs-template-variable, -.hljs-type, -.hljs-selector-class, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-number { - color: #d19a66; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-link, -.hljs-meta, -.hljs-selector-id, -.hljs-title { - color: #61aeee; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-link { - text-decoration: underline; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-light.css deleted file mode 100755 index d5bd1d2..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/atom-one-light.css +++ /dev/null @@ -1,96 +0,0 @@ -/* - -Atom One Light by Daniel Gamage -Original One Light Syntax theme from https://github.com/atom/one-light-syntax - -base: #fafafa -mono-1: #383a42 -mono-2: #686b77 -mono-3: #a0a1a7 -hue-1: #0184bb -hue-2: #4078f2 -hue-3: #a626a4 -hue-4: #50a14f -hue-5: #e45649 -hue-5-2: #c91243 -hue-6: #986801 -hue-6-2: #c18401 - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #383a42; - background: #fafafa; -} - -.hljs-comment, -.hljs-quote { - color: #a0a1a7; - font-style: italic; -} - -.hljs-doctag, -.hljs-keyword, -.hljs-formula { - color: #a626a4; -} - -.hljs-section, -.hljs-name, -.hljs-selector-tag, -.hljs-deletion, -.hljs-subst { - color: #e45649; -} - -.hljs-literal { - color: #0184bb; -} - -.hljs-string, -.hljs-regexp, -.hljs-addition, -.hljs-attribute, -.hljs-meta-string { - color: #50a14f; -} - -.hljs-built_in, -.hljs-class .hljs-title { - color: #c18401; -} - -.hljs-attr, -.hljs-variable, -.hljs-template-variable, -.hljs-type, -.hljs-selector-class, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-number { - color: #986801; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-link, -.hljs-meta, -.hljs-selector-id, -.hljs-title { - color: #4078f2; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-link { - text-decoration: underline; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/brown-paper.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/brown-paper.css deleted file mode 100755 index f0197b9..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/brown-paper.css +++ /dev/null @@ -1,64 +0,0 @@ -/* - -Brown Paper style from goldblog.com.ua (c) Zaripov Yura - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background:#b7a68e url(./brown-papersq.png); -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal { - color:#005599; - font-weight:bold; -} - -.hljs, -.hljs-subst { - color: #363c69; -} - -.hljs-string, -.hljs-title, -.hljs-section, -.hljs-type, -.hljs-attribute, -.hljs-symbol, -.hljs-bullet, -.hljs-built_in, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable, -.hljs-link, -.hljs-name { - color: #2c009f; -} - -.hljs-comment, -.hljs-quote, -.hljs-meta, -.hljs-deletion { - color: #802022; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-doctag, -.hljs-title, -.hljs-section, -.hljs-type, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/brown-papersq.png b/Pepiniere/ansible/Formation/revealjs/highlight/styles/brown-papersq.png deleted file mode 100755 index 3813903dbf9fa7b1fb5bd11d9534c06667d9056f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18198 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
G3S-EN>9CM!{YB*|;6wg-K3V?)eR((z#1 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 diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/codepen-embed.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/codepen-embed.css deleted file mode 100755 index 195c4a0..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/codepen-embed.css +++ /dev/null @@ -1,60 +0,0 @@ -/* - codepen.io Embed Theme - Author: Justin Perry - Original theme - https://github.com/chriskempson/tomorrow-theme -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #222; - color: #fff; -} - -.hljs-comment, -.hljs-quote { - color: #777; -} - -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-regexp, -.hljs-meta, -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-params, -.hljs-symbol, -.hljs-bullet, -.hljs-link, -.hljs-deletion { - color: #ab875d; -} - -.hljs-section, -.hljs-title, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-type, -.hljs-attribute { - color: #9b869b; -} - -.hljs-string, -.hljs-keyword, -.hljs-selector-tag, -.hljs-addition { - color: #8f9c6c; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/color-brewer.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/color-brewer.css deleted file mode 100755 index 7934d98..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/color-brewer.css +++ /dev/null @@ -1,71 +0,0 @@ -/* - -Colorbrewer theme -Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock -Ported by Fabrício Tavares de Oliveira - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #fff; -} - -.hljs, -.hljs-subst { - color: #000; -} - -.hljs-string, -.hljs-meta, -.hljs-symbol, -.hljs-template-tag, -.hljs-template-variable, -.hljs-addition { - color: #756bb1; -} - -.hljs-comment, -.hljs-quote { - color: #636363; -} - -.hljs-number, -.hljs-regexp, -.hljs-literal, -.hljs-bullet, -.hljs-link { - color: #31a354; -} - -.hljs-deletion, -.hljs-variable { - color: #88f; -} - - - -.hljs-keyword, -.hljs-selector-tag, -.hljs-title, -.hljs-section, -.hljs-built_in, -.hljs-doctag, -.hljs-type, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-strong { - color: #3182bd; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-attribute { - color: #e6550d; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/darcula.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/darcula.css deleted file mode 100755 index be182d0..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/darcula.css +++ /dev/null @@ -1,77 +0,0 @@ -/* - -Darcula color scheme from the JetBrains family of IDEs - -*/ - - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #2b2b2b; -} - -.hljs { - color: #bababa; -} - -.hljs-strong, -.hljs-emphasis { - color: #a8a8a2; -} - -.hljs-bullet, -.hljs-quote, -.hljs-link, -.hljs-number, -.hljs-regexp, -.hljs-literal { - color: #6896ba; -} - -.hljs-code, -.hljs-selector-class { - color: #a6e22e; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-section, -.hljs-attribute, -.hljs-name, -.hljs-variable { - color: #cb7832; -} - -.hljs-params { - color: #b9b9b9; -} - -.hljs-string { - color: #6a8759; -} - -.hljs-subst, -.hljs-type, -.hljs-built_in, -.hljs-builtin-name, -.hljs-symbol, -.hljs-selector-id, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-template-tag, -.hljs-template-variable, -.hljs-addition { - color: #e0c46c; -} - -.hljs-comment, -.hljs-deletion, -.hljs-meta { - color: #7f7f7f; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/dark.css deleted file mode 100755 index b4724f5..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/dark.css +++ /dev/null @@ -1,63 +0,0 @@ -/* - -Dark style from softwaremaniacs.org (c) Ivan Sagalaev - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #444; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-section, -.hljs-link { - color: white; -} - -.hljs, -.hljs-subst { - color: #ddd; -} - -.hljs-string, -.hljs-title, -.hljs-name, -.hljs-type, -.hljs-attribute, -.hljs-symbol, -.hljs-bullet, -.hljs-built_in, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #d88; -} - -.hljs-comment, -.hljs-quote, -.hljs-deletion, -.hljs-meta { - color: #777; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-title, -.hljs-section, -.hljs-doctag, -.hljs-type, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/darkula.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/darkula.css deleted file mode 100755 index f4646c3..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/darkula.css +++ /dev/null @@ -1,6 +0,0 @@ -/* - Deprecated due to a typo in the name and left here for compatibility purpose only. - Please use darcula.css instead. -*/ - -@import url('darcula.css'); diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/default.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/default.css deleted file mode 100755 index f1bfade..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/default.css +++ /dev/null @@ -1,99 +0,0 @@ -/* - -Original highlight.js style (c) Ivan Sagalaev - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #F0F0F0; -} - - -/* Base color: saturation 0; */ - -.hljs, -.hljs-subst { - color: #444; -} - -.hljs-comment { - color: #888888; -} - -.hljs-keyword, -.hljs-attribute, -.hljs-selector-tag, -.hljs-meta-keyword, -.hljs-doctag, -.hljs-name { - font-weight: bold; -} - - -/* User color: hue: 0 */ - -.hljs-type, -.hljs-string, -.hljs-number, -.hljs-selector-id, -.hljs-selector-class, -.hljs-quote, -.hljs-template-tag, -.hljs-deletion { - color: #880000; -} - -.hljs-title, -.hljs-section { - color: #880000; - font-weight: bold; -} - -.hljs-regexp, -.hljs-symbol, -.hljs-variable, -.hljs-template-variable, -.hljs-link, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #BC6060; -} - - -/* Language color: hue: 90; */ - -.hljs-literal { - color: #78A960; -} - -.hljs-built_in, -.hljs-bullet, -.hljs-code, -.hljs-addition { - color: #397300; -} - - -/* Meta color: hue: 200 */ - -.hljs-meta { - color: #1f7199; -} - -.hljs-meta-string { - color: #4d99bf; -} - - -/* Misc effects */ - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/docco.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/docco.css deleted file mode 100755 index db366be..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/docco.css +++ /dev/null @@ -1,97 +0,0 @@ -/* -Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #000; - background: #f8f8ff; -} - -.hljs-comment, -.hljs-quote { - color: #408080; - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-subst { - color: #954121; -} - -.hljs-number { - color: #40a070; -} - -.hljs-string, -.hljs-doctag { - color: #219161; -} - -.hljs-selector-id, -.hljs-selector-class, -.hljs-section, -.hljs-type { - color: #19469d; -} - -.hljs-params { - color: #00f; -} - -.hljs-title { - color: #458; - font-weight: bold; -} - -.hljs-tag, -.hljs-name, -.hljs-attribute { - color: #000080; - font-weight: normal; -} - -.hljs-variable, -.hljs-template-variable { - color: #008080; -} - -.hljs-regexp, -.hljs-link { - color: #b68; -} - -.hljs-symbol, -.hljs-bullet { - color: #990073; -} - -.hljs-built_in, -.hljs-builtin-name { - color: #0086b3; -} - -.hljs-meta { - color: #999; - font-weight: bold; -} - -.hljs-deletion { - background: #fdd; -} - -.hljs-addition { - background: #dfd; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/dracula.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/dracula.css deleted file mode 100755 index d591db6..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/dracula.css +++ /dev/null @@ -1,76 +0,0 @@ -/* - -Dracula Theme v1.2.0 - -https://github.com/zenorocha/dracula-theme - -Copyright 2015, All rights reserved - -Code licensed under the MIT license -http://zenorocha.mit-license.org - -@author Éverton Ribeiro -@author Zeno Rocha - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #282a36; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-section, -.hljs-link { - color: #8be9fd; -} - -.hljs-function .hljs-keyword { - color: #ff79c6; -} - -.hljs, -.hljs-subst { - color: #f8f8f2; -} - -.hljs-string, -.hljs-title, -.hljs-name, -.hljs-type, -.hljs-attribute, -.hljs-symbol, -.hljs-bullet, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #f1fa8c; -} - -.hljs-comment, -.hljs-quote, -.hljs-deletion, -.hljs-meta { - color: #6272a4; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-title, -.hljs-section, -.hljs-doctag, -.hljs-type, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/far.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/far.css deleted file mode 100755 index 2b3f87b..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/far.css +++ /dev/null @@ -1,71 +0,0 @@ -/* - -FAR Style (c) MajestiC - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #000080; -} - -.hljs, -.hljs-subst { - color: #0ff; -} - -.hljs-string, -.hljs-attribute, -.hljs-symbol, -.hljs-bullet, -.hljs-built_in, -.hljs-builtin-name, -.hljs-template-tag, -.hljs-template-variable, -.hljs-addition { - color: #ff0; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-section, -.hljs-type, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-variable { - color: #fff; -} - -.hljs-comment, -.hljs-quote, -.hljs-doctag, -.hljs-deletion { - color: #888; -} - -.hljs-number, -.hljs-regexp, -.hljs-literal, -.hljs-link { - color: #0f0; -} - -.hljs-meta { - color: #008080; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-title, -.hljs-section, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/foundation.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/foundation.css deleted file mode 100755 index f1fe64b..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/foundation.css +++ /dev/null @@ -1,88 +0,0 @@ -/* -Description: Foundation 4 docs style for highlight.js -Author: Dan Allen -Website: http://foundation.zurb.com/docs/ -Version: 1.0 -Date: 2013-04-02 -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #eee; color: black; -} - -.hljs-link, -.hljs-emphasis, -.hljs-attribute, -.hljs-addition { - color: #070; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong, -.hljs-string, -.hljs-deletion { - color: #d14; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-quote, -.hljs-comment { - color: #998; - font-style: italic; -} - -.hljs-section, -.hljs-title { - color: #900; -} - -.hljs-class .hljs-title, -.hljs-type { - color: #458; -} - -.hljs-variable, -.hljs-template-variable { - color: #336699; -} - -.hljs-bullet { - color: #997700; -} - -.hljs-meta { - color: #3344bb; -} - -.hljs-code, -.hljs-number, -.hljs-literal, -.hljs-keyword, -.hljs-selector-tag { - color: #099; -} - -.hljs-regexp { - background-color: #fff0ff; - color: #880088; -} - -.hljs-symbol { - color: #990073; -} - -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #007700; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/github-gist.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/github-gist.css deleted file mode 100755 index 155f0b9..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/github-gist.css +++ /dev/null @@ -1,71 +0,0 @@ -/** - * GitHub Gist Theme - * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro - */ - -.hljs { - display: block; - background: white; - padding: 0.5em; - color: #333333; - overflow-x: auto; -} - -.hljs-comment, -.hljs-meta { - color: #969896; -} - -.hljs-string, -.hljs-variable, -.hljs-template-variable, -.hljs-strong, -.hljs-emphasis, -.hljs-quote { - color: #df5000; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-type { - color: #a71d5d; -} - -.hljs-literal, -.hljs-symbol, -.hljs-bullet, -.hljs-attribute { - color: #0086b3; -} - -.hljs-section, -.hljs-name { - color: #63a35c; -} - -.hljs-tag { - color: #333333; -} - -.hljs-title, -.hljs-attr, -.hljs-selector-id, -.hljs-selector-class, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #795da3; -} - -.hljs-addition { - color: #55a532; - background-color: #eaffea; -} - -.hljs-deletion { - color: #bd2c00; - background-color: #ffecec; -} - -.hljs-link { - text-decoration: underline; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/github.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/github.css deleted file mode 100755 index 791932b..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/github.css +++ /dev/null @@ -1,99 +0,0 @@ -/* - -github.com style (c) Vasily Polovnyov - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #333; - background: #f8f8f8; -} - -.hljs-comment, -.hljs-quote { - color: #998; - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-subst { - color: #333; - font-weight: bold; -} - -.hljs-number, -.hljs-literal, -.hljs-variable, -.hljs-template-variable, -.hljs-tag .hljs-attr { - color: #008080; -} - -.hljs-string, -.hljs-doctag { - color: #d14; -} - -.hljs-title, -.hljs-section, -.hljs-selector-id { - color: #900; - font-weight: bold; -} - -.hljs-subst { - font-weight: normal; -} - -.hljs-type, -.hljs-class .hljs-title { - color: #458; - font-weight: bold; -} - -.hljs-tag, -.hljs-name, -.hljs-attribute { - color: #000080; - font-weight: normal; -} - -.hljs-regexp, -.hljs-link { - color: #009926; -} - -.hljs-symbol, -.hljs-bullet { - color: #990073; -} - -.hljs-built_in, -.hljs-builtin-name { - color: #0086b3; -} - -.hljs-meta { - color: #999; - font-weight: bold; -} - -.hljs-deletion { - background: #fdd; -} - -.hljs-addition { - background: #dfd; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/googlecode.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/googlecode.css deleted file mode 100755 index 884ad63..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/googlecode.css +++ /dev/null @@ -1,89 +0,0 @@ -/* - -Google Code style (c) Aahan Krish - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: white; - color: black; -} - -.hljs-comment, -.hljs-quote { - color: #800; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-section, -.hljs-title, -.hljs-name { - color: #008; -} - -.hljs-variable, -.hljs-template-variable { - color: #660; -} - -.hljs-string, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-regexp { - color: #080; -} - -.hljs-literal, -.hljs-symbol, -.hljs-bullet, -.hljs-meta, -.hljs-number, -.hljs-link { - color: #066; -} - -.hljs-title, -.hljs-doctag, -.hljs-type, -.hljs-attr, -.hljs-built_in, -.hljs-builtin-name, -.hljs-params { - color: #606; -} - -.hljs-attribute, -.hljs-subst { - color: #000; -} - -.hljs-formula { - background-color: #eee; - font-style: italic; -} - -.hljs-selector-id, -.hljs-selector-class { - color: #9B703F -} - -.hljs-addition { - background-color: #baeeba; -} - -.hljs-deletion { - background-color: #ffc8bd; -} - -.hljs-doctag, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/grayscale.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/grayscale.css deleted file mode 100755 index 5376f34..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/grayscale.css +++ /dev/null @@ -1,101 +0,0 @@ -/* - -grayscale style (c) MY Sun - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #333; - background: #fff; -} - -.hljs-comment, -.hljs-quote { - color: #777; - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-subst { - color: #333; - font-weight: bold; -} - -.hljs-number, -.hljs-literal { - color: #777; -} - -.hljs-string, -.hljs-doctag, -.hljs-formula { - color: #333; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; -} - -.hljs-title, -.hljs-section, -.hljs-selector-id { - color: #000; - font-weight: bold; -} - -.hljs-subst { - font-weight: normal; -} - -.hljs-class .hljs-title, -.hljs-type, -.hljs-name { - color: #333; - font-weight: bold; -} - -.hljs-tag { - color: #333; -} - -.hljs-regexp { - color: #333; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-link { - color: #000; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; -} - -.hljs-built_in, -.hljs-builtin-name { - color: #000; - text-decoration: underline; -} - -.hljs-meta { - color: #999; - font-weight: bold; -} - -.hljs-deletion { - color: #fff; - background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; -} - -.hljs-addition { - color: #000; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-dark.css deleted file mode 100755 index f563811..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-dark.css +++ /dev/null @@ -1,108 +0,0 @@ -/* - -Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #282828; -} - -.hljs, -.hljs-subst { - color: #ebdbb2; -} - -/* Gruvbox Red */ -.hljs-deletion, -.hljs-formula, -.hljs-keyword, -.hljs-link, -.hljs-selector-tag { - color: #fb4934; -} - -/* Gruvbox Blue */ -.hljs-built_in, -.hljs-emphasis, -.hljs-name, -.hljs-quote, -.hljs-strong, -.hljs-title, -.hljs-variable { - color: #83a598; -} - -/* Gruvbox Yellow */ -.hljs-attr, -.hljs-params, -.hljs-template-tag, -.hljs-type { - color: #fabd2f; -} - -/* Gruvbox Purple */ -.hljs-builtin-name, -.hljs-doctag, -.hljs-literal, -.hljs-number { - color: #8f3f71; -} - -/* Gruvbox Orange */ -.hljs-code, -.hljs-meta, -.hljs-regexp, -.hljs-selector-id, -.hljs-template-variable { - color: #fe8019; -} - -/* Gruvbox Green */ -.hljs-addition, -.hljs-meta-string, -.hljs-section, -.hljs-selector-attr, -.hljs-selector-class, -.hljs-string, -.hljs-symbol { - color: #b8bb26; -} - -/* Gruvbox Aqua */ -.hljs-attribute, -.hljs-bullet, -.hljs-class, -.hljs-function, -.hljs-function .hljs-keyword, -.hljs-meta-keyword, -.hljs-selector-pseudo, -.hljs-tag { - color: #8ec07c; -} - -/* Gruvbox Gray */ -.hljs-comment { - color: #928374; -} - -/* Gruvbox Purple */ -.hljs-link_label, -.hljs-literal, -.hljs-number { - color: #d3869b; -} - -.hljs-comment, -.hljs-emphasis { - font-style: italic; -} - -.hljs-section, -.hljs-strong, -.hljs-tag { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-light.css deleted file mode 100755 index ff45468..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/gruvbox-light.css +++ /dev/null @@ -1,108 +0,0 @@ -/* - -Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #fbf1c7; -} - -.hljs, -.hljs-subst { - color: #3c3836; -} - -/* Gruvbox Red */ -.hljs-deletion, -.hljs-formula, -.hljs-keyword, -.hljs-link, -.hljs-selector-tag { - color: #9d0006; -} - -/* Gruvbox Blue */ -.hljs-built_in, -.hljs-emphasis, -.hljs-name, -.hljs-quote, -.hljs-strong, -.hljs-title, -.hljs-variable { - color: #076678; -} - -/* Gruvbox Yellow */ -.hljs-attr, -.hljs-params, -.hljs-template-tag, -.hljs-type { - color: #b57614; -} - -/* Gruvbox Purple */ -.hljs-builtin-name, -.hljs-doctag, -.hljs-literal, -.hljs-number { - color: #8f3f71; -} - -/* Gruvbox Orange */ -.hljs-code, -.hljs-meta, -.hljs-regexp, -.hljs-selector-id, -.hljs-template-variable { - color: #af3a03; -} - -/* Gruvbox Green */ -.hljs-addition, -.hljs-meta-string, -.hljs-section, -.hljs-selector-attr, -.hljs-selector-class, -.hljs-string, -.hljs-symbol { - color: #79740e; -} - -/* Gruvbox Aqua */ -.hljs-attribute, -.hljs-bullet, -.hljs-class, -.hljs-function, -.hljs-function .hljs-keyword, -.hljs-meta-keyword, -.hljs-selector-pseudo, -.hljs-tag { - color: #427b58; -} - -/* Gruvbox Gray */ -.hljs-comment { - color: #928374; -} - -/* Gruvbox Purple */ -.hljs-link_label, -.hljs-literal, -.hljs-number { - color: #8f3f71; -} - -.hljs-comment, -.hljs-emphasis { - font-style: italic; -} - -.hljs-section, -.hljs-strong, -.hljs-tag { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/hopscotch.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/hopscotch.css deleted file mode 100755 index 32e60d2..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/hopscotch.css +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Hopscotch - * by Jan T. Sott - * https://github.com/idleberg/Hopscotch - * - * This work is licensed under the Creative Commons CC0 1.0 Universal License - */ - -/* Comment */ -.hljs-comment, -.hljs-quote { - color: #989498; -} - -/* Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-link, -.hljs-deletion { - color: #dd464c; -} - -/* Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #fd8b19; -} - -/* Yellow */ -.hljs-class .hljs-title { - color: #fdcc59; -} - -/* Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #8fc13e; -} - -/* Aqua */ -.hljs-meta { - color: #149b93; -} - -/* Blue */ -.hljs-function, -.hljs-section, -.hljs-title { - color: #1290bf; -} - -/* Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #c85e7c; -} - -.hljs { - display: block; - background: #322931; - color: #b9b5b8; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/hybrid.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/hybrid.css deleted file mode 100755 index 29735a1..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/hybrid.css +++ /dev/null @@ -1,102 +0,0 @@ -/* - -vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) - -*/ - -/*background color*/ -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #1d1f21; -} - -/*selection color*/ -.hljs::selection, -.hljs span::selection { - background: #373b41; -} - -.hljs::-moz-selection, -.hljs span::-moz-selection { - background: #373b41; -} - -/*foreground color*/ -.hljs { - color: #c5c8c6; -} - -/*color: fg_yellow*/ -.hljs-title, -.hljs-name { - color: #f0c674; -} - -/*color: fg_comment*/ -.hljs-comment, -.hljs-meta, -.hljs-meta .hljs-keyword { - color: #707880; -} - -/*color: fg_red*/ -.hljs-number, -.hljs-symbol, -.hljs-literal, -.hljs-deletion, -.hljs-link { - color: #cc6666 -} - -/*color: fg_green*/ -.hljs-string, -.hljs-doctag, -.hljs-addition, -.hljs-regexp, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #b5bd68; -} - -/*color: fg_purple*/ -.hljs-attribute, -.hljs-code, -.hljs-selector-id { - color: #b294bb; -} - -/*color: fg_blue*/ -.hljs-keyword, -.hljs-selector-tag, -.hljs-bullet, -.hljs-tag { - color: #81a2be; -} - -/*color: fg_aqua*/ -.hljs-subst, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #8abeb7; -} - -/*color: fg_orange*/ -.hljs-type, -.hljs-built_in, -.hljs-builtin-name, -.hljs-quote, -.hljs-section, -.hljs-selector-class { - color: #de935f; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/idea.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/idea.css deleted file mode 100755 index 3bf1892..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/idea.css +++ /dev/null @@ -1,97 +0,0 @@ -/* - -Intellij Idea-like styling (c) Vasily Polovnyov - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #000; - background: #fff; -} - -.hljs-subst, -.hljs-title { - font-weight: normal; - color: #000; -} - -.hljs-comment, -.hljs-quote { - color: #808080; - font-style: italic; -} - -.hljs-meta { - color: #808000; -} - -.hljs-tag { - background: #efefef; -} - -.hljs-section, -.hljs-name, -.hljs-literal, -.hljs-keyword, -.hljs-selector-tag, -.hljs-type, -.hljs-selector-id, -.hljs-selector-class { - font-weight: bold; - color: #000080; -} - -.hljs-attribute, -.hljs-number, -.hljs-regexp, -.hljs-link { - font-weight: bold; - color: #0000ff; -} - -.hljs-number, -.hljs-regexp, -.hljs-link { - font-weight: normal; -} - -.hljs-string { - color: #008000; - font-weight: bold; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-formula { - color: #000; - background: #d0eded; - font-style: italic; -} - -.hljs-doctag { - text-decoration: underline; -} - -.hljs-variable, -.hljs-template-variable { - color: #660e7a; -} - -.hljs-addition { - background: #baeeba; -} - -.hljs-deletion { - background: #ffc8bd; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/ir-black.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/ir-black.css deleted file mode 100755 index bd4c755..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/ir-black.css +++ /dev/null @@ -1,73 +0,0 @@ -/* - IR_Black style (c) Vasily Mikhailitchenko -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #000; - color: #f8f8f8; -} - -.hljs-comment, -.hljs-quote, -.hljs-meta { - color: #7c7c7c; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-tag, -.hljs-name { - color: #96cbfe; -} - -.hljs-attribute, -.hljs-selector-id { - color: #ffffb6; -} - -.hljs-string, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-addition { - color: #a8ff60; -} - -.hljs-subst { - color: #daefa3; -} - -.hljs-regexp, -.hljs-link { - color: #e9c062; -} - -.hljs-title, -.hljs-section, -.hljs-type, -.hljs-doctag { - color: #ffffb6; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-variable, -.hljs-template-variable, -.hljs-literal { - color: #c6c5fe; -} - -.hljs-number, -.hljs-deletion { - color:#ff73fd; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.dark.css deleted file mode 100755 index d139cb5..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.dark.css +++ /dev/null @@ -1,74 +0,0 @@ -/* - Name: Kimbie (dark) - Author: Jan T. Sott - License: Creative Commons Attribution-ShareAlike 4.0 Unported License - URL: https://github.com/idleberg/Kimbie-highlight.js -*/ - -/* Kimbie Comment */ -.hljs-comment, -.hljs-quote { - color: #d6baad; -} - -/* Kimbie Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-meta { - color: #dc3958; -} - -/* Kimbie Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-deletion, -.hljs-link { - color: #f79a32; -} - -/* Kimbie Yellow */ -.hljs-title, -.hljs-section, -.hljs-attribute { - color: #f06431; -} - -/* Kimbie Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #889b4a; -} - -/* Kimbie Purple */ -.hljs-keyword, -.hljs-selector-tag, -.hljs-function { - color: #98676a; -} - -.hljs { - display: block; - overflow-x: auto; - background: #221a0f; - color: #d3af86; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.light.css deleted file mode 100755 index 04ff6ed..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/kimbie.light.css +++ /dev/null @@ -1,74 +0,0 @@ -/* - Name: Kimbie (light) - Author: Jan T. Sott - License: Creative Commons Attribution-ShareAlike 4.0 Unported License - URL: https://github.com/idleberg/Kimbie-highlight.js -*/ - -/* Kimbie Comment */ -.hljs-comment, -.hljs-quote { - color: #a57a4c; -} - -/* Kimbie Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-meta { - color: #dc3958; -} - -/* Kimbie Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-deletion, -.hljs-link { - color: #f79a32; -} - -/* Kimbie Yellow */ -.hljs-title, -.hljs-section, -.hljs-attribute { - color: #f06431; -} - -/* Kimbie Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #889b4a; -} - -/* Kimbie Purple */ -.hljs-keyword, -.hljs-selector-tag, -.hljs-function { - color: #98676a; -} - -.hljs { - display: block; - overflow-x: auto; - background: #fbebd4; - color: #84613d; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/magula.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/magula.css deleted file mode 100755 index 44dee5e..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/magula.css +++ /dev/null @@ -1,70 +0,0 @@ -/* -Description: Magula style for highligh.js -Author: Ruslan Keba -Website: http://rukeba.com/ -Version: 1.0 -Date: 2009-01-03 -Music: Aphex Twin / Xtal -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background-color: #f4f4f4; -} - -.hljs, -.hljs-subst { - color: black; -} - -.hljs-string, -.hljs-title, -.hljs-symbol, -.hljs-bullet, -.hljs-attribute, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #050; -} - -.hljs-comment, -.hljs-quote { - color: #777; -} - -.hljs-number, -.hljs-regexp, -.hljs-literal, -.hljs-type, -.hljs-link { - color: #800; -} - -.hljs-deletion, -.hljs-meta { - color: #00e; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-doctag, -.hljs-title, -.hljs-section, -.hljs-built_in, -.hljs-tag, -.hljs-name { - font-weight: bold; - color: navy; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/mono-blue.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/mono-blue.css deleted file mode 100755 index 884c97c..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/mono-blue.css +++ /dev/null @@ -1,59 +0,0 @@ -/* - Five-color theme from a single blue hue. -*/ -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #eaeef3; -} - -.hljs { - color: #00193a; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-title, -.hljs-section, -.hljs-doctag, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-comment { - color: #738191; -} - -.hljs-string, -.hljs-title, -.hljs-section, -.hljs-built_in, -.hljs-literal, -.hljs-type, -.hljs-addition, -.hljs-tag, -.hljs-quote, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #0048ab; -} - -.hljs-meta, -.hljs-subst, -.hljs-symbol, -.hljs-regexp, -.hljs-attribute, -.hljs-deletion, -.hljs-variable, -.hljs-template-variable, -.hljs-link, -.hljs-bullet { - color: #4c81c9; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai-sublime.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai-sublime.css deleted file mode 100755 index 2864170..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai-sublime.css +++ /dev/null @@ -1,83 +0,0 @@ -/* - -Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #23241f; -} - -.hljs, -.hljs-tag, -.hljs-subst { - color: #f8f8f2; -} - -.hljs-strong, -.hljs-emphasis { - color: #a8a8a2; -} - -.hljs-bullet, -.hljs-quote, -.hljs-number, -.hljs-regexp, -.hljs-literal, -.hljs-link { - color: #ae81ff; -} - -.hljs-code, -.hljs-title, -.hljs-section, -.hljs-selector-class { - color: #a6e22e; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-name, -.hljs-attr { - color: #f92672; -} - -.hljs-symbol, -.hljs-attribute { - color: #66d9ef; -} - -.hljs-params, -.hljs-class .hljs-title { - color: #f8f8f2; -} - -.hljs-string, -.hljs-type, -.hljs-built_in, -.hljs-builtin-name, -.hljs-selector-id, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-addition, -.hljs-variable, -.hljs-template-variable { - color: #e6db74; -} - -.hljs-comment, -.hljs-deletion, -.hljs-meta { - color: #75715e; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai.css deleted file mode 100755 index 775d53f..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/monokai.css +++ /dev/null @@ -1,70 +0,0 @@ -/* -Monokai style - ported by Luigi Maselli - http://grigio.org -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #272822; color: #ddd; -} - -.hljs-tag, -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-strong, -.hljs-name { - color: #f92672; -} - -.hljs-code { - color: #66d9ef; -} - -.hljs-class .hljs-title { - color: white; -} - -.hljs-attribute, -.hljs-symbol, -.hljs-regexp, -.hljs-link { - color: #bf79db; -} - -.hljs-string, -.hljs-bullet, -.hljs-subst, -.hljs-title, -.hljs-section, -.hljs-emphasis, -.hljs-type, -.hljs-built_in, -.hljs-builtin-name, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #a6e22e; -} - -.hljs-comment, -.hljs-quote, -.hljs-deletion, -.hljs-meta { - color: #75715e; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-doctag, -.hljs-title, -.hljs-section, -.hljs-type, -.hljs-selector-id { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/obsidian.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/obsidian.css deleted file mode 100755 index 356630f..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/obsidian.css +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Obsidian style - * ported by Alexander Marenin (http://github.com/ioncreature) - */ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #282b2e; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-selector-id { - color: #93c763; -} - -.hljs-number { - color: #ffcd22; -} - -.hljs { - color: #e0e2e4; -} - -.hljs-attribute { - color: #668bb0; -} - -.hljs-code, -.hljs-class .hljs-title, -.hljs-section { - color: white; -} - -.hljs-regexp, -.hljs-link { - color: #d39745; -} - -.hljs-meta { - color: #557182; -} - -.hljs-tag, -.hljs-name, -.hljs-bullet, -.hljs-subst, -.hljs-emphasis, -.hljs-type, -.hljs-built_in, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #8cbbad; -} - -.hljs-string, -.hljs-symbol { - color: #ec7600; -} - -.hljs-comment, -.hljs-quote, -.hljs-deletion { - color: #818e96; -} - -.hljs-selector-class { - color: #A082BD -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-doctag, -.hljs-title, -.hljs-section, -.hljs-type, -.hljs-name, -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/ocean.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/ocean.css deleted file mode 100755 index 5901581..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/ocean.css +++ /dev/null @@ -1,74 +0,0 @@ -/* Ocean Dark Theme */ -/* https://github.com/gavsiu */ -/* Original theme - https://github.com/chriskempson/base16 */ - -/* Ocean Comment */ -.hljs-comment, -.hljs-quote { - color: #65737e; -} - -/* Ocean Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-deletion { - color: #bf616a; -} - -/* Ocean Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-meta, -.hljs-link { - color: #d08770; -} - -/* Ocean Yellow */ -.hljs-attribute { - color: #ebcb8b; -} - -/* Ocean Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #a3be8c; -} - -/* Ocean Blue */ -.hljs-title, -.hljs-section { - color: #8fa1b3; -} - -/* Ocean Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #b48ead; -} - -.hljs { - display: block; - overflow-x: auto; - background: #2b303b; - color: #c0c5ce; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-dark.css deleted file mode 100755 index e729240..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-dark.css +++ /dev/null @@ -1,72 +0,0 @@ -/* - Paraíso (dark) - Created by Jan T. Sott (http://github.com/idleberg) - Inspired by the art of Rubens LP (http://www.rubenslp.com.br) -*/ - -/* Paraíso Comment */ -.hljs-comment, -.hljs-quote { - color: #8d8687; -} - -/* Paraíso Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-link, -.hljs-meta { - color: #ef6155; -} - -/* Paraíso Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-deletion { - color: #f99b15; -} - -/* Paraíso Yellow */ -.hljs-title, -.hljs-section, -.hljs-attribute { - color: #fec418; -} - -/* Paraíso Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #48b685; -} - -/* Paraíso Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #815ba4; -} - -.hljs { - display: block; - overflow-x: auto; - background: #2f1e2e; - color: #a39e9b; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-light.css deleted file mode 100755 index 944857c..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/paraiso-light.css +++ /dev/null @@ -1,72 +0,0 @@ -/* - Paraíso (light) - Created by Jan T. Sott (http://github.com/idleberg) - Inspired by the art of Rubens LP (http://www.rubenslp.com.br) -*/ - -/* Paraíso Comment */ -.hljs-comment, -.hljs-quote { - color: #776e71; -} - -/* Paraíso Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-link, -.hljs-meta { - color: #ef6155; -} - -/* Paraíso Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-deletion { - color: #f99b15; -} - -/* Paraíso Yellow */ -.hljs-title, -.hljs-section, -.hljs-attribute { - color: #fec418; -} - -/* Paraíso Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #48b685; -} - -/* Paraíso Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #815ba4; -} - -.hljs { - display: block; - overflow-x: auto; - background: #e7e9db; - color: #4f424c; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/pojoaque.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/pojoaque.css deleted file mode 100755 index 2e07847..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/pojoaque.css +++ /dev/null @@ -1,83 +0,0 @@ -/* - -Pojoaque Style by Jason Tate -http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html -Based on Solarized Style from http://ethanschoonover.com/solarized - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #dccf8f; - background: url(./pojoaque.jpg) repeat scroll left top #181914; -} - -.hljs-comment, -.hljs-quote { - color: #586e75; - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-addition { - color: #b64926; -} - -.hljs-number, -.hljs-string, -.hljs-doctag, -.hljs-regexp { - color: #468966; -} - -.hljs-title, -.hljs-section, -.hljs-built_in, -.hljs-name { - color: #ffb03b; -} - -.hljs-variable, -.hljs-template-variable, -.hljs-class .hljs-title, -.hljs-type, -.hljs-tag { - color: #b58900; -} - -.hljs-attribute { - color: #b89859; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-link, -.hljs-subst, -.hljs-meta { - color: #cb4b16; -} - -.hljs-deletion { - color: #dc322f; -} - -.hljs-selector-id, -.hljs-selector-class { - color: #d3a60c; -} - -.hljs-formula { - background: #073642; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/pojoaque.jpg b/Pepiniere/ansible/Formation/revealjs/highlight/styles/pojoaque.jpg deleted file mode 100755 index 9c07d4ab40b6d77e90ff69f0012bcd33b21d31c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmZXSe^8Tk9LK-kXFs3)f@f?)Cddzw3v4wdZyXQ;4x3=;Ja*N#%n9ik!UGmt9H3k0 zJST|5jOc(ID$FQt3C?jQZBws#kXolO1lg9Pba9BB=Q+UEBX!nY@6Uhl&+ofe$Q$y5 z@ci`~)&qzDP(lOiQ5p?p z(`j^e7!yUAVHk%K#^GQXn?s0=VLYCI$HRoe=xCuZ>A6A3@sxEP#XqNFpIb=0)KQ#Nss_tD17;m4@$JKL;LR|K|QF3f%!L5+s(9Ft8SQ zG|~pGpEGFW5Z|OA)-O@mNHy-g@7m8JTf?kl@vUKBGmw)Y*9sDRNr3PN!IKefWaydTe1D zjzpyzPnD3}hBNaS4aFX7=0&~I*Hu7#4au@qVBglH#-m;QFOx_`=j z{EqRY#Eh*yoWP^pa4H>8GH{rO?!_+xwL0(k4yL^D%^nBkJ*UI;Lx;ped8d|f*S_s@ z3~ilcRC(&NT#9Gn#UD;o^EYSMXDMf%XcUi3>;WXXD-QX3P9wMyP7eA&RS{)h5{??W3^Rq=goFJ>?lA~J- zdYe>!xvYLW*fPT0RK7wsJRg^?x#W1*GP9_f`6t>QD_X>0d!owyN>nO2?U5}|3?hX_UZYT@^>S!9eB~bZ9U`q;`U)@L670o1g z`Hd}h<_WRvUc|n*%v4Hbb-4tJD40iyF^q%g*&!6>hkYDvi-{Uc4yTM zzcthN4Z{ka!+F_KzYV#yWi;c^X^q6g`pD8cp?$Kl?hCz0s^a|mH%P!CF%*<6k^~i` zT5Mi-t5-frUcHkk^Qh}+N)Kz1&Bi95`oNc|quI>tUi~BY>xcF9(%tv2i{G6kE9*q~ qCoAGl20`)w0rdgp9H%Q=M5|p`hOhFz6$I%Y&ncY8>c?7PXyh+SL&XXJ diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/purebasic.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/purebasic.css deleted file mode 100755 index 5ce9b9e..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/purebasic.css +++ /dev/null @@ -1,96 +0,0 @@ -/* - -PureBASIC native IDE style ( version 1.0 - April 2016 ) - -by Tristano Ajmone - -Public Domain - -NOTE_1: PureBASIC code syntax highlighting only applies the following classes: - .hljs-comment - .hljs-function - .hljs-keywords - .hljs-string - .hljs-symbol - - Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style. - If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by - a "--- used for PureBASIC ... ---" comment on same line. - -NOTE_2: Color names provided in comments were derived using "Name that Color" online tool: - http://chir.ag/projects/name-that-color -*/ - -.hljs { /* Common set of rules required by highlight.js (don'r remove!) */ - display: block; - overflow-x: auto; - padding: 0.5em; - background: #FFFFDF; /* Half and Half (approx.) */ -/* --- Uncomment to add PureBASIC native IDE styled font! - font-family: Consolas; -*/ -} - -.hljs, /* --- used for PureBASIC base color --- */ -.hljs-type, /* --- used for PureBASIC Procedures return type --- */ -.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */ -.hljs-name, -.hljs-number, -.hljs-attr, -.hljs-params, -.hljs-subst { - color: #000000; /* Black */ -} - -.hljs-comment, /* --- used for PureBASIC Comments --- */ -.hljs-regexp, -.hljs-section, -.hljs-selector-pseudo, -.hljs-addition { - color: #00AAAA; /* Persian Green (approx.) */ -} - -.hljs-title, /* --- used for PureBASIC Procedures Names --- */ -.hljs-tag, -.hljs-variable, -.hljs-code { - color: #006666; /* Blue Stone (approx.) */ -} - -.hljs-keyword, /* --- used for PureBASIC Keywords --- */ -.hljs-class, -.hljs-meta-keyword, -.hljs-selector-class, -.hljs-built_in, -.hljs-builtin-name { - color: #006666; /* Blue Stone (approx.) */ - font-weight: bold; -} - -.hljs-string, /* --- used for PureBASIC Strings --- */ -.hljs-selector-attr { - color: #0080FF; /* Azure Radiance (approx.) */ -} - -.hljs-symbol, /* --- used for PureBASIC Constants --- */ -.hljs-link, -.hljs-deletion, -.hljs-attribute { - color: #924B72; /* Cannon Pink (approx.) */ -} - -.hljs-meta, -.hljs-literal, -.hljs-selector-id { - color: #924B72; /* Cannon Pink (approx.) */ - font-weight: bold; -} - -.hljs-strong, -.hljs-name { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_dark.css deleted file mode 100755 index 7aa56a3..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_dark.css +++ /dev/null @@ -1,83 +0,0 @@ -/* - -Qt Creator dark color scheme - -*/ - - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #000000; -} - -.hljs, -.hljs-subst, -.hljs-tag, -.hljs-title { - color: #aaaaaa; -} - -.hljs-strong, -.hljs-emphasis { - color: #a8a8a2; -} - -.hljs-bullet, -.hljs-quote, -.hljs-number, -.hljs-regexp, -.hljs-literal { - color: #ff55ff; -} - -.hljs-code -.hljs-selector-class { - color: #aaaaff; -} - -.hljs-emphasis, -.hljs-stronge, -.hljs-type { - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-function, -.hljs-section, -.hljs-symbol, -.hljs-name { - color: #ffff55; -} - -.hljs-attribute { - color: #ff5555; -} - -.hljs-variable, -.hljs-params, -.hljs-class .hljs-title { - color: #8888ff; -} - -.hljs-string, -.hljs-selector-id, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-type, -.hljs-built_in, -.hljs-builtin-name, -.hljs-template-tag, -.hljs-template-variable, -.hljs-addition, -.hljs-link { - color: #ff55ff; -} - -.hljs-comment, -.hljs-meta, -.hljs-deletion { - color: #55ffff; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_light.css deleted file mode 100755 index 1efa2c6..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/qtcreator_light.css +++ /dev/null @@ -1,83 +0,0 @@ -/* - -Qt Creator light color scheme - -*/ - - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #ffffff; -} - -.hljs, -.hljs-subst, -.hljs-tag, -.hljs-title { - color: #000000; -} - -.hljs-strong, -.hljs-emphasis { - color: #000000; -} - -.hljs-bullet, -.hljs-quote, -.hljs-number, -.hljs-regexp, -.hljs-literal { - color: #000080; -} - -.hljs-code -.hljs-selector-class { - color: #800080; -} - -.hljs-emphasis, -.hljs-stronge, -.hljs-type { - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-function, -.hljs-section, -.hljs-symbol, -.hljs-name { - color: #808000; -} - -.hljs-attribute { - color: #800000; -} - -.hljs-variable, -.hljs-params, -.hljs-class .hljs-title { - color: #0055AF; -} - -.hljs-string, -.hljs-selector-id, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-type, -.hljs-built_in, -.hljs-builtin-name, -.hljs-template-tag, -.hljs-template-variable, -.hljs-addition, -.hljs-link { - color: #008000; -} - -.hljs-comment, -.hljs-meta, -.hljs-deletion { - color: #008000; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/railscasts.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/railscasts.css deleted file mode 100755 index 008cdc5..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/railscasts.css +++ /dev/null @@ -1,106 +0,0 @@ -/* - -Railscasts-like style (c) Visoft, Inc. (Damien White) - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #232323; - color: #e6e1dc; -} - -.hljs-comment, -.hljs-quote { - color: #bc9458; - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag { - color: #c26230; -} - -.hljs-string, -.hljs-number, -.hljs-regexp, -.hljs-variable, -.hljs-template-variable { - color: #a5c261; -} - -.hljs-subst { - color: #519f50; -} - -.hljs-tag, -.hljs-name { - color: #e8bf6a; -} - -.hljs-type { - color: #da4939; -} - - -.hljs-symbol, -.hljs-bullet, -.hljs-built_in, -.hljs-builtin-name, -.hljs-attr, -.hljs-link { - color: #6d9cbe; -} - -.hljs-params { - color: #d0d0ff; -} - -.hljs-attribute { - color: #cda869; -} - -.hljs-meta { - color: #9b859d; -} - -.hljs-title, -.hljs-section { - color: #ffc66d; -} - -.hljs-addition { - background-color: #144212; - color: #e6e1dc; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #600; - color: #e6e1dc; - display: inline-block; - width: 100%; -} - -.hljs-selector-class { - color: #9b703f; -} - -.hljs-selector-id { - color: #8b98ab; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-link { - text-decoration: underline; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/rainbow.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/rainbow.css deleted file mode 100755 index 905eb8e..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/rainbow.css +++ /dev/null @@ -1,85 +0,0 @@ -/* - -Style with support for rainbow parens - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #474949; - color: #d1d9e1; -} - - -.hljs-comment, -.hljs-quote { - color: #969896; - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-type, -.hljs-addition { - color: #cc99cc; -} - -.hljs-number, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #f99157; -} - -.hljs-string, -.hljs-doctag, -.hljs-regexp { - color: #8abeb7; -} - -.hljs-title, -.hljs-name, -.hljs-section, -.hljs-built_in { - color: #b5bd68; -} - -.hljs-variable, -.hljs-template-variable, -.hljs-selector-id, -.hljs-class .hljs-title { - color: #ffcc66; -} - -.hljs-section, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-subst, -.hljs-meta, -.hljs-link { - color: #f99157; -} - -.hljs-deletion { - color: #dc322f; -} - -.hljs-formula { - background: #eee8d5; -} - -.hljs-attr, -.hljs-attribute { - color: #81a2be; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/routeros.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/routeros.css deleted file mode 100755 index ebe2399..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/routeros.css +++ /dev/null @@ -1,108 +0,0 @@ -/* - - highlight.js style for Microtik RouterOS script - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #F0F0F0; -} - -/* Base color: saturation 0; */ - -.hljs, -.hljs-subst { - color: #444; -} - -.hljs-comment { - color: #888888; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-meta-keyword, -.hljs-doctag, -.hljs-name { - font-weight: bold; -} - -.hljs-attribute { - color: #0E9A00; -} - -.hljs-function { - color: #99069A; -} - -.hljs-builtin-name { - color: #99069A; -} - -/* User color: hue: 0 */ - -.hljs-type, -.hljs-string, -.hljs-number, -.hljs-selector-id, -.hljs-selector-class, -.hljs-quote, -.hljs-template-tag, -.hljs-deletion { - color: #880000; -} - -.hljs-title, -.hljs-section { - color: #880000; - font-weight: bold; -} - -.hljs-regexp, -.hljs-symbol, -.hljs-variable, -.hljs-template-variable, -.hljs-link, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #BC6060; -} - - -/* Language color: hue: 90; */ - -.hljs-literal { - color: #78A960; -} - -.hljs-built_in, -.hljs-bullet, -.hljs-code, -.hljs-addition { - color: #0C9A9A; -} - - -/* Meta color: hue: 200 */ - -.hljs-meta { - color: #1f7199; -} - -.hljs-meta-string { - color: #4d99bf; -} - - -/* Misc effects */ - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/school-book.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/school-book.css deleted file mode 100755 index 964b51d..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/school-book.css +++ /dev/null @@ -1,72 +0,0 @@ -/* - -School Book style from goldblog.com.ua (c) Zaripov Yura - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 15px 0.5em 0.5em 30px; - font-size: 11px; - line-height:16px; -} - -pre{ - background:#f6f6ae url(./school-book.png); - border-top: solid 2px #d2e8b9; - border-bottom: solid 1px #d2e8b9; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal { - color:#005599; - font-weight:bold; -} - -.hljs, -.hljs-subst { - color: #3e5915; -} - -.hljs-string, -.hljs-title, -.hljs-section, -.hljs-type, -.hljs-symbol, -.hljs-bullet, -.hljs-attribute, -.hljs-built_in, -.hljs-builtin-name, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable, -.hljs-link { - color: #2c009f; -} - -.hljs-comment, -.hljs-quote, -.hljs-deletion, -.hljs-meta { - color: #e60415; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-doctag, -.hljs-title, -.hljs-section, -.hljs-type, -.hljs-name, -.hljs-selector-id, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/school-book.png b/Pepiniere/ansible/Formation/revealjs/highlight/styles/school-book.png deleted file mode 100755 index 956e9790a0e2c079b3d568348ff3accd1d9cac30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcmeAS@N?(olHy`uVBq!ia0y~yV7?7x3vjRjNjAS6Ga$v1?&#~tz_9*=IcwKTAYZb? zHKHUqKdq!Zu_%?nF(p4KRlzeiF+DXXH8G{K@MNkD0|R4)r;B4q#jQ7Ycl#YS5MfK$ z?b^fh#qmaEhFDxvyThwfhdfkOPApt1lr{NA;Vr%uzxJuVIyzm(ed_8_-0$LLU})H&o5Re&aDemE>EG#(|F^t9_pa-H z_Mf?rMVrs}-M?S|?ZdY@c6s41zy8~}@a{v&#Ea7V)wJ$+#K|u$5UvWCdFLwGac}6w{_s*=8A6L7Rfc|9gboFyt I=akR{0OLZ+qyPW_ diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-dark.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-dark.css deleted file mode 100755 index b4c0da1..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-dark.css +++ /dev/null @@ -1,84 +0,0 @@ -/* - -Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #002b36; - color: #839496; -} - -.hljs-comment, -.hljs-quote { - color: #586e75; -} - -/* Solarized Green */ -.hljs-keyword, -.hljs-selector-tag, -.hljs-addition { - color: #859900; -} - -/* Solarized Cyan */ -.hljs-number, -.hljs-string, -.hljs-meta .hljs-meta-string, -.hljs-literal, -.hljs-doctag, -.hljs-regexp { - color: #2aa198; -} - -/* Solarized Blue */ -.hljs-title, -.hljs-section, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #268bd2; -} - -/* Solarized Yellow */ -.hljs-attribute, -.hljs-attr, -.hljs-variable, -.hljs-template-variable, -.hljs-class .hljs-title, -.hljs-type { - color: #b58900; -} - -/* Solarized Orange */ -.hljs-symbol, -.hljs-bullet, -.hljs-subst, -.hljs-meta, -.hljs-meta .hljs-keyword, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-link { - color: #cb4b16; -} - -/* Solarized Red */ -.hljs-built_in, -.hljs-deletion { - color: #dc322f; -} - -.hljs-formula { - background: #073642; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-light.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-light.css deleted file mode 100755 index fdcfcc7..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/solarized-light.css +++ /dev/null @@ -1,84 +0,0 @@ -/* - -Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #fdf6e3; - color: #657b83; -} - -.hljs-comment, -.hljs-quote { - color: #93a1a1; -} - -/* Solarized Green */ -.hljs-keyword, -.hljs-selector-tag, -.hljs-addition { - color: #859900; -} - -/* Solarized Cyan */ -.hljs-number, -.hljs-string, -.hljs-meta .hljs-meta-string, -.hljs-literal, -.hljs-doctag, -.hljs-regexp { - color: #2aa198; -} - -/* Solarized Blue */ -.hljs-title, -.hljs-section, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #268bd2; -} - -/* Solarized Yellow */ -.hljs-attribute, -.hljs-attr, -.hljs-variable, -.hljs-template-variable, -.hljs-class .hljs-title, -.hljs-type { - color: #b58900; -} - -/* Solarized Orange */ -.hljs-symbol, -.hljs-bullet, -.hljs-subst, -.hljs-meta, -.hljs-meta .hljs-keyword, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-link { - color: #cb4b16; -} - -/* Solarized Red */ -.hljs-built_in, -.hljs-deletion { - color: #dc322f; -} - -.hljs-formula { - background: #eee8d5; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/sunburst.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/sunburst.css deleted file mode 100755 index f56dd5e..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/sunburst.css +++ /dev/null @@ -1,102 +0,0 @@ -/* - -Sunburst-like style (c) Vasily Polovnyov - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #000; - color: #f8f8f8; -} - -.hljs-comment, -.hljs-quote { - color: #aeaeae; - font-style: italic; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-type { - color: #e28964; -} - -.hljs-string { - color: #65b042; -} - -.hljs-subst { - color: #daefa3; -} - -.hljs-regexp, -.hljs-link { - color: #e9c062; -} - -.hljs-title, -.hljs-section, -.hljs-tag, -.hljs-name { - color: #89bdff; -} - -.hljs-class .hljs-title, -.hljs-doctag { - text-decoration: underline; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-number { - color: #3387cc; -} - -.hljs-params, -.hljs-variable, -.hljs-template-variable { - color: #3e87e3; -} - -.hljs-attribute { - color: #cda869; -} - -.hljs-meta { - color: #8996a8; -} - -.hljs-formula { - background-color: #0e2231; - color: #f8f8f8; - font-style: italic; -} - -.hljs-addition { - background-color: #253b22; - color: #f8f8f8; -} - -.hljs-deletion { - background-color: #420e09; - color: #f8f8f8; -} - -.hljs-selector-class { - color: #9b703f; -} - -.hljs-selector-id { - color: #8b98ab; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-blue.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-blue.css deleted file mode 100755 index 78e59cc..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-blue.css +++ /dev/null @@ -1,75 +0,0 @@ -/* Tomorrow Night Blue Theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - -/* Tomorrow Comment */ -.hljs-comment, -.hljs-quote { - color: #7285b7; -} - -/* Tomorrow Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-deletion { - color: #ff9da4; -} - -/* Tomorrow Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-meta, -.hljs-link { - color: #ffc58f; -} - -/* Tomorrow Yellow */ -.hljs-attribute { - color: #ffeead; -} - -/* Tomorrow Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #d1f1a9; -} - -/* Tomorrow Blue */ -.hljs-title, -.hljs-section { - color: #bbdaff; -} - -/* Tomorrow Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #ebbbff; -} - -.hljs { - display: block; - overflow-x: auto; - background: #002451; - color: white; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-bright.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-bright.css deleted file mode 100755 index e05af8a..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-bright.css +++ /dev/null @@ -1,74 +0,0 @@ -/* Tomorrow Night Bright Theme */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - -/* Tomorrow Comment */ -.hljs-comment, -.hljs-quote { - color: #969896; -} - -/* Tomorrow Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-deletion { - color: #d54e53; -} - -/* Tomorrow Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-meta, -.hljs-link { - color: #e78c45; -} - -/* Tomorrow Yellow */ -.hljs-attribute { - color: #e7c547; -} - -/* Tomorrow Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #b9ca4a; -} - -/* Tomorrow Blue */ -.hljs-title, -.hljs-section { - color: #7aa6da; -} - -/* Tomorrow Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #c397d8; -} - -.hljs { - display: block; - overflow-x: auto; - background: black; - color: #eaeaea; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-eighties.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-eighties.css deleted file mode 100755 index 08fd51c..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night-eighties.css +++ /dev/null @@ -1,74 +0,0 @@ -/* Tomorrow Night Eighties Theme */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - -/* Tomorrow Comment */ -.hljs-comment, -.hljs-quote { - color: #999999; -} - -/* Tomorrow Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-deletion { - color: #f2777a; -} - -/* Tomorrow Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-meta, -.hljs-link { - color: #f99157; -} - -/* Tomorrow Yellow */ -.hljs-attribute { - color: #ffcc66; -} - -/* Tomorrow Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #99cc99; -} - -/* Tomorrow Blue */ -.hljs-title, -.hljs-section { - color: #6699cc; -} - -/* Tomorrow Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #cc99cc; -} - -.hljs { - display: block; - overflow-x: auto; - background: #2d2d2d; - color: #cccccc; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night.css deleted file mode 100755 index ddd270a..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow-night.css +++ /dev/null @@ -1,75 +0,0 @@ -/* Tomorrow Night Theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - -/* Tomorrow Comment */ -.hljs-comment, -.hljs-quote { - color: #969896; -} - -/* Tomorrow Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-deletion { - color: #cc6666; -} - -/* Tomorrow Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-meta, -.hljs-link { - color: #de935f; -} - -/* Tomorrow Yellow */ -.hljs-attribute { - color: #f0c674; -} - -/* Tomorrow Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #b5bd68; -} - -/* Tomorrow Blue */ -.hljs-title, -.hljs-section { - color: #81a2be; -} - -/* Tomorrow Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #b294bb; -} - -.hljs { - display: block; - overflow-x: auto; - background: #1d1f21; - color: #c5c8c6; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow.css deleted file mode 100755 index 026a62f..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/tomorrow.css +++ /dev/null @@ -1,72 +0,0 @@ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - -/* Tomorrow Comment */ -.hljs-comment, -.hljs-quote { - color: #8e908c; -} - -/* Tomorrow Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-tag, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-regexp, -.hljs-deletion { - color: #c82829; -} - -/* Tomorrow Orange */ -.hljs-number, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params, -.hljs-meta, -.hljs-link { - color: #f5871f; -} - -/* Tomorrow Yellow */ -.hljs-attribute { - color: #eab700; -} - -/* Tomorrow Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet, -.hljs-addition { - color: #718c00; -} - -/* Tomorrow Blue */ -.hljs-title, -.hljs-section { - color: #4271ae; -} - -/* Tomorrow Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #8959a8; -} - -.hljs { - display: block; - overflow-x: auto; - background: white; - color: #4d4d4c; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/vs.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/vs.css deleted file mode 100755 index c5d07d3..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/vs.css +++ /dev/null @@ -1,68 +0,0 @@ -/* - -Visual Studio-like style based on original C# coloring by Jason Diamond - -*/ -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: white; - color: black; -} - -.hljs-comment, -.hljs-quote, -.hljs-variable { - color: #008000; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-built_in, -.hljs-name, -.hljs-tag { - color: #00f; -} - -.hljs-string, -.hljs-title, -.hljs-section, -.hljs-attribute, -.hljs-literal, -.hljs-template-tag, -.hljs-template-variable, -.hljs-type, -.hljs-addition { - color: #a31515; -} - -.hljs-deletion, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-meta { - color: #2b91af; -} - -.hljs-doctag { - color: #808080; -} - -.hljs-attr { - color: #f00; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-link { - color: #00b0e8; -} - - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/vs2015.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/vs2015.css deleted file mode 100755 index d1d9be3..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/vs2015.css +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Visual Studio 2015 dark style - * Author: Nicolas LLOBERA - */ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #1E1E1E; - color: #DCDCDC; -} - -.hljs-keyword, -.hljs-literal, -.hljs-symbol, -.hljs-name { - color: #569CD6; -} -.hljs-link { - color: #569CD6; - text-decoration: underline; -} - -.hljs-built_in, -.hljs-type { - color: #4EC9B0; -} - -.hljs-number, -.hljs-class { - color: #B8D7A3; -} - -.hljs-string, -.hljs-meta-string { - color: #D69D85; -} - -.hljs-regexp, -.hljs-template-tag { - color: #9A5334; -} - -.hljs-subst, -.hljs-function, -.hljs-title, -.hljs-params, -.hljs-formula { - color: #DCDCDC; -} - -.hljs-comment, -.hljs-quote { - color: #57A64A; - font-style: italic; -} - -.hljs-doctag { - color: #608B4E; -} - -.hljs-meta, -.hljs-meta-keyword, -.hljs-tag { - color: #9B9B9B; -} - -.hljs-variable, -.hljs-template-variable { - color: #BD63C5; -} - -.hljs-attr, -.hljs-attribute, -.hljs-builtin-name { - color: #9CDCFE; -} - -.hljs-section { - color: gold; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -/*.hljs-code { - font-family:'Monospace'; -}*/ - -.hljs-bullet, -.hljs-selector-tag, -.hljs-selector-id, -.hljs-selector-class, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #D7BA7D; -} - -.hljs-addition { - background-color: #144212; - display: inline-block; - width: 100%; -} - -.hljs-deletion { - background-color: #600; - display: inline-block; - width: 100%; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/xcode.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/xcode.css deleted file mode 100755 index 43dddad..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/xcode.css +++ /dev/null @@ -1,93 +0,0 @@ -/* - -XCode style (c) Angel Garcia - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #fff; - color: black; -} - -.hljs-comment, -.hljs-quote { - color: #006a00; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal { - color: #aa0d91; -} - -.hljs-name { - color: #008; -} - -.hljs-variable, -.hljs-template-variable { - color: #660; -} - -.hljs-string { - color: #c41a16; -} - -.hljs-regexp, -.hljs-link { - color: #080; -} - -.hljs-title, -.hljs-tag, -.hljs-symbol, -.hljs-bullet, -.hljs-number, -.hljs-meta { - color: #1c00cf; -} - -.hljs-section, -.hljs-class .hljs-title, -.hljs-type, -.hljs-attr, -.hljs-built_in, -.hljs-builtin-name, -.hljs-params { - color: #5c2699; -} - -.hljs-attribute, -.hljs-subst { - color: #000; -} - -.hljs-formula { - background-color: #eee; - font-style: italic; -} - -.hljs-addition { - background-color: #baeeba; -} - -.hljs-deletion { - background-color: #ffc8bd; -} - -.hljs-selector-id, -.hljs-selector-class { - color: #9b703f; -} - -.hljs-doctag, -.hljs-strong { - font-weight: bold; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/xt256.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/xt256.css deleted file mode 100755 index 58df82c..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/xt256.css +++ /dev/null @@ -1,92 +0,0 @@ - -/* - xt256.css - - Contact: initbar [at] protonmail [dot] ch - : github.com/initbar -*/ - -.hljs { - display: block; - overflow-x: auto; - color: #eaeaea; - background: #000; - padding: 0.5; -} - -.hljs-subst { - color: #eaeaea; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-builtin-name, -.hljs-type { - color: #eaeaea; -} - -.hljs-params { - color: #da0000; -} - -.hljs-literal, -.hljs-number, -.hljs-name { - color: #ff0000; - font-weight: bolder; -} - -.hljs-comment { - color: #969896; -} - -.hljs-selector-id, -.hljs-quote { - color: #00ffff; -} - -.hljs-template-variable, -.hljs-variable, -.hljs-title { - color: #00ffff; - font-weight: bold; -} - -.hljs-selector-class, -.hljs-keyword, -.hljs-symbol { - color: #fff000; -} - -.hljs-string, -.hljs-bullet { - color: #00ff00; -} - -.hljs-tag, -.hljs-section { - color: #000fff; -} - -.hljs-selector-tag { - color: #000fff; - font-weight: bold; -} - -.hljs-attribute, -.hljs-built_in, -.hljs-regexp, -.hljs-link { - color: #ff00ff; -} - -.hljs-meta { - color: #fff; - font-weight: bolder; -} diff --git a/Pepiniere/ansible/Formation/revealjs/highlight/styles/zenburn.css b/Pepiniere/ansible/Formation/revealjs/highlight/styles/zenburn.css deleted file mode 100755 index 07be502..0000000 --- a/Pepiniere/ansible/Formation/revealjs/highlight/styles/zenburn.css +++ /dev/null @@ -1,80 +0,0 @@ -/* - -Zenburn style from voldmar.ru (c) Vladimir Epifanov -based on dark.css by Ivan Sagalaev - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #3f3f3f; - color: #dcdcdc; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-tag { - color: #e3ceab; -} - -.hljs-template-tag { - color: #dcdcdc; -} - -.hljs-number { - color: #8cd0d3; -} - -.hljs-variable, -.hljs-template-variable, -.hljs-attribute { - color: #efdcbc; -} - -.hljs-literal { - color: #efefaf; -} - -.hljs-subst { - color: #8f8f8f; -} - -.hljs-title, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class, -.hljs-section, -.hljs-type { - color: #efef8f; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-link { - color: #dca3a3; -} - -.hljs-deletion, -.hljs-string, -.hljs-built_in, -.hljs-builtin-name { - color: #cc9393; -} - -.hljs-addition, -.hljs-comment, -.hljs-quote, -.hljs-meta { - color: #7f9f7f; -} - - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/Pepiniere/ansible/Formation/revealjs/images/favicon-logo-sii.png b/Pepiniere/ansible/Formation/revealjs/images/favicon-logo-sii.png deleted file mode 100644 index 2365c7b6423789b5770d5d7b38fd21af32d6a8fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5531 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 y7hB~MlCYG#X!qQX9l7IiNG diff --git a/Pepiniere/ansible/Formation/revealjs/images/header-sii.png b/Pepiniere/ansible/Formation/revealjs/images/header-sii.png deleted file mode 100644 index 1ed6ad3668ce922ec3e48d322754e562b6a1e3d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmeAS@N?(olHy`uVBq!ia0y~yV4VkK^K&o($=6-J9YBgL$=lt9;Xep2*t>i(P=vF< zBeIx*fm;}a85w5HkpK#^mw5WRvOi>%;O8~CvTAlT0|S$er;B4q#jUqD_T~vY3NSp7 zK3*g=VS}i^g#hJ)!cR;qq^-Q}wTN|2cMu8LB4To(foWnAXOD@9=bX*8|8_no-gN1E z=(V};%gSx6<9us=+O2Eg`}5aS?vITy`wOS{FOL87kXRtBu3rATy8RJDwE2mXFTTvS za1j5Mf3IGY^~IqN-{*gPUH*t6w&L5X%TGRR21?o0RVZ>?XjT9IUUq-2Cf|kDc>+L} zGd#U?3q)}(+sX)}M0~QDft1FKYivL&z+f#ekXn!sB@Lt;4sJ06QVmU+xj>46^)fb% z5%o9b$JF#J`@OSZb)D+!Uz-DW2W+pf{a1Z&=c~}!{!5OQ6iHvcw~1GL%2xg3Z1x{d zF+RT+ZmR0Br91ku(Ic~ee7f%UtZk)jZEqFo9hr7`OJeMcqRi=!Q^Ev8pZ)nNeX3zi z>bp-RbMNKG#>Y`u5aip>j{RetuOXDju!6{*cJd4fRFeHlE-Mu79|6 z`vZB6u%o*}&({1Yxba$6CpslLvAfMtdHLge8E@|$y_o%XTkp$lXV2`6UaDt3t8W&s zb%kDMl3A@%`nS9*+iOn#6!cwvj{W!E=I6(^=U%#QS#bS)%4%)DxAI?J*&OflyJ)Cu o(LI0p(e!r#h5xo{d`SPrZgFv9kNCQUZJ==VboFyt=akR{09eB!*Z=?k diff --git a/Pepiniere/ansible/Formation/revealjs/images/logo-sii.svg b/Pepiniere/ansible/Formation/revealjs/images/logo-sii.svg deleted file mode 100644 index eee6478..0000000 --- a/Pepiniere/ansible/Formation/revealjs/images/logo-sii.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/Pepiniere/ansible/Formation/revealjs/index.html b/Pepiniere/ansible/Formation/revealjs/index.html deleted file mode 100644 index e609df1..0000000 --- a/Pepiniere/ansible/Formation/revealjs/index.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - SII - My presentation title - - - - - - - - - - - - - -

-
-
-
-
-
- - - - - - - - - diff --git a/Pepiniere/ansible/Formation/revealjs/js/reveal.js b/Pepiniere/ansible/Formation/revealjs/js/reveal.js deleted file mode 100644 index 6cc7671..0000000 --- a/Pepiniere/ansible/Formation/revealjs/js/reveal.js +++ /dev/null @@ -1,4744 +0,0 @@ -/*! - * reveal.js - * http://lab.hakim.se/reveal-js - * MIT licensed - * - * Copyright (C) 2016 Hakim El Hattab, http://hakim.se - */ -(function( root, factory ) { - if( typeof define === 'function' && define.amd ) { - // AMD. Register as an anonymous module. - define( function() { - root.Reveal = factory(); - return root.Reveal; - } ); - } else if( typeof exports === 'object' ) { - // Node. Does not work with strict CommonJS. - module.exports = factory(); - } else { - // Browser globals. - root.Reveal = factory(); - } -}( this, function() { - - 'use strict'; - - var Reveal; - - // The reveal.js version - var VERSION = '3.3.0'; - - var SLIDES_SELECTOR = '.slides section', - HORIZONTAL_SLIDES_SELECTOR = '.slides>section', - VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section', - HOME_SLIDE_SELECTOR = '.slides>section:first-of-type', - UA = navigator.userAgent, - - // Configuration defaults, can be overridden at initialization time - config = { - - // The "normal" size of the presentation, aspect ratio will be preserved - // when the presentation is scaled to fit different resolutions - width: 960, - height: 700, - - // Factor of the display size that should remain empty around the content - margin: 0.1, - - // Bounds for smallest/largest possible scale to apply to content - minScale: 0.2, - maxScale: 1.5, - - // Display controls in the bottom right corner - controls: true, - - // Display a presentation progress bar - progress: true, - - // Display the page number of the current slide - slideNumber: false, - - // Push each slide change to the browser history - history: false, - - // Enable keyboard shortcuts for navigation - keyboard: true, - - // Optional function that blocks keyboard events when retuning false - keyboardCondition: null, - - // Enable the slide overview mode - overview: true, - - // Vertical centering of slides - center: true, - - // Enables touch navigation on devices with touch input - touch: true, - - // Loop the presentation - loop: false, - - // Change the presentation direction to be RTL - rtl: false, - - // Randomizes the order of slides each time the presentation loads - shuffle: false, - - // Turns fragments on and off globally - fragments: true, - - // Flags if the presentation is running in an embedded mode, - // i.e. contained within a limited portion of the screen - embedded: false, - - // Flags if we should show a help overlay when the questionmark - // key is pressed - help: true, - - // Flags if it should be possible to pause the presentation (blackout) - pause: true, - - // Flags if speaker notes should be visible to all viewers - showNotes: false, - - // Number of milliseconds between automatically proceeding to the - // next slide, disabled when set to 0, this value can be overwritten - // by using a data-autoslide attribute on your slides - autoSlide: 0, - - // Stop auto-sliding after user input - autoSlideStoppable: true, - - // Use this method for navigation when auto-sliding (defaults to navigateNext) - autoSlideMethod: null, - - // Enable slide navigation via mouse wheel - mouseWheel: false, - - // Apply a 3D roll to links on hover - rollingLinks: false, - - // Hides the address bar on mobile devices - hideAddressBar: true, - - // Opens links in an iframe preview overlay - previewLinks: false, - - // Exposes the reveal.js API through window.postMessage - postMessage: true, - - // Dispatches all reveal.js events to the parent window through postMessage - postMessageEvents: false, - - // Focuses body when page changes visiblity to ensure keyboard shortcuts work - focusBodyOnPageVisibilityChange: true, - - // Transition style - transition: 'slide', // none/fade/slide/convex/concave/zoom - - // Transition speed - transitionSpeed: 'default', // default/fast/slow - - // Transition style for full page slide backgrounds - backgroundTransition: 'fade', // none/fade/slide/convex/concave/zoom - - // Parallax background image - parallaxBackgroundImage: '', // CSS syntax, e.g. "a.jpg" - - // Parallax background size - parallaxBackgroundSize: '', // CSS syntax, e.g. "3000px 2000px" - - // Amount of pixels to move the parallax background per slide step - parallaxBackgroundHorizontal: null, - parallaxBackgroundVertical: null, - - // Number of slides away from the current that are visible - viewDistance: 3, - - // Script dependencies to load - dependencies: [] - - }, - - // Flags if reveal.js is loaded (has dispatched the 'ready' event) - loaded = false, - - // Flags if the overview mode is currently active - overview = false, - - // Holds the dimensions of our overview slides, including margins - overviewSlideWidth = null, - overviewSlideHeight = null, - - // The horizontal and vertical index of the currently active slide - indexh, - indexv, - - // The previous and current slide HTML elements - previousSlide, - currentSlide, - - previousBackground, - - // Slides may hold a data-state attribute which we pick up and apply - // as a class to the body. This list contains the combined state of - // all current slides. - state = [], - - // The current scale of the presentation (see width/height config) - scale = 1, - - // CSS transform that is currently applied to the slides container, - // split into two groups - slidesTransform = { layout: '', overview: '' }, - - // Cached references to DOM elements - dom = {}, - - // Features supported by the browser, see #checkCapabilities() - features = {}, - - // Client is a mobile device, see #checkCapabilities() - isMobileDevice, - - // Client is a desktop Chrome, see #checkCapabilities() - isChrome, - - // Throttles mouse wheel navigation - lastMouseWheelStep = 0, - - // Delays updates to the URL due to a Chrome thumbnailer bug - writeURLTimeout = 0, - - // Flags if the interaction event listeners are bound - eventsAreBound = false, - - // The current auto-slide duration - autoSlide = 0, - - // Auto slide properties - autoSlidePlayer, - autoSlideTimeout = 0, - autoSlideStartTime = -1, - autoSlidePaused = false, - - // Holds information about the currently ongoing touch input - touch = { - startX: 0, - startY: 0, - startSpan: 0, - startCount: 0, - captured: false, - threshold: 40 - }, - - // Holds information about the keyboard shortcuts - keyboardShortcuts = { - 'N , SPACE': 'Next slide', - 'P': 'Previous slide', - '← , H': 'Navigate left', - '→ , L': 'Navigate right', - '↑ , K': 'Navigate up', - '↓ , J': 'Navigate down', - 'Home': 'First slide', - 'End': 'Last slide', - 'B , .': 'Pause', - 'F': 'Fullscreen', - 'ESC, O': 'Slide overview' - }; - - /** - * Starts up the presentation if the client is capable. - */ - function initialize( options ) { - - checkCapabilities(); - - if( !features.transforms2d && !features.transforms3d ) { - document.body.setAttribute( 'class', 'no-transforms' ); - - // Since JS won't be running any further, we load all lazy - // loading elements upfront - var images = toArray( document.getElementsByTagName( 'img' ) ), - iframes = toArray( document.getElementsByTagName( 'iframe' ) ); - - var lazyLoadable = images.concat( iframes ); - - for( var i = 0, len = lazyLoadable.length; i < len; i++ ) { - var element = lazyLoadable[i]; - if( element.getAttribute( 'data-src' ) ) { - element.setAttribute( 'src', element.getAttribute( 'data-src' ) ); - element.removeAttribute( 'data-src' ); - } - } - - // If the browser doesn't support core features we won't be - // using JavaScript to control the presentation - return; - } - - // Cache references to key DOM elements - dom.wrapper = document.querySelector( '.reveal' ); - dom.slides = document.querySelector( '.reveal .slides' ); - - // Force a layout when the whole page, incl fonts, has loaded - window.addEventListener( 'load', layout, false ); - - var query = Reveal.getQueryHash(); - - // Do not accept new dependencies via query config to avoid - // the potential of malicious script injection - if( typeof query['dependencies'] !== 'undefined' ) delete query['dependencies']; - - // Copy options over to our config object - extend( config, options ); - extend( config, query ); - - // Hide the address bar in mobile browsers - hideAddressBar(); - - // Loads the dependencies and continues to #start() once done - load(); - - } - - /** - * Inspect the client to see what it's capable of, this - * should only happens once per runtime. - */ - function checkCapabilities() { - - isMobileDevice = /(iphone|ipod|ipad|android)/gi.test( UA ); - isChrome = /chrome/i.test( UA ) && !/edge/i.test( UA ); - - var testElement = document.createElement( 'div' ); - - features.transforms3d = 'WebkitPerspective' in testElement.style || - 'MozPerspective' in testElement.style || - 'msPerspective' in testElement.style || - 'OPerspective' in testElement.style || - 'perspective' in testElement.style; - - features.transforms2d = 'WebkitTransform' in testElement.style || - 'MozTransform' in testElement.style || - 'msTransform' in testElement.style || - 'OTransform' in testElement.style || - 'transform' in testElement.style; - - features.requestAnimationFrameMethod = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame; - features.requestAnimationFrame = typeof features.requestAnimationFrameMethod === 'function'; - - features.canvas = !!document.createElement( 'canvas' ).getContext; - - // Transitions in the overview are disabled in desktop and - // Safari due to lag - features.overviewTransitions = !/Version\/[\d\.]+.*Safari/.test( UA ); - - // Flags if we should use zoom instead of transform to scale - // up slides. Zoom produces crisper results but has a lot of - // xbrowser quirks so we only use it in whitelsited browsers. - features.zoom = 'zoom' in testElement.style && !isMobileDevice && - ( isChrome || /Version\/[\d\.]+.*Safari/.test( UA ) ); - - } - - /** - * Loads the dependencies of reveal.js. Dependencies are - * defined via the configuration option 'dependencies' - * and will be loaded prior to starting/binding reveal.js. - * Some dependencies may have an 'async' flag, if so they - * will load after reveal.js has been started up. - */ - function load() { - - var scripts = [], - scriptsAsync = [], - scriptsToPreload = 0; - - // Called once synchronous scripts finish loading - function proceed() { - if( scriptsAsync.length ) { - // Load asynchronous scripts - head.js.apply( null, scriptsAsync ); - } - - start(); - } - - function loadScript( s ) { - head.ready( s.src.match( /([\w\d_\-]*)\.?js$|[^\\\/]*$/i )[0], function() { - // Extension may contain callback functions - if( typeof s.callback === 'function' ) { - s.callback.apply( this ); - } - - if( --scriptsToPreload === 0 ) { - proceed(); - } - }); - } - - for( var i = 0, len = config.dependencies.length; i < len; i++ ) { - var s = config.dependencies[i]; - - // Load if there's no condition or the condition is truthy - if( !s.condition || s.condition() ) { - if( s.async ) { - scriptsAsync.push( s.src ); - } - else { - scripts.push( s.src ); - } - - loadScript( s ); - } - } - - if( scripts.length ) { - scriptsToPreload = scripts.length; - - // Load synchronous scripts - head.js.apply( null, scripts ); - } - else { - proceed(); - } - - } - - /** - * Starts up reveal.js by binding input events and navigating - * to the current URL deeplink if there is one. - */ - function start() { - - // Make sure we've got all the DOM elements we need - setupDOM(); - - // Listen to messages posted to this window - setupPostMessage(); - - // Prevent the slides from being scrolled out of view - setupScrollPrevention(); - - // Resets all vertical slides so that only the first is visible - resetVerticalSlides(); - - // Updates the presentation to match the current configuration values - configure(); - - // Read the initial hash - readURL(); - - // Update all backgrounds - updateBackground( true ); - - // Notify listeners that the presentation is ready but use a 1ms - // timeout to ensure it's not fired synchronously after #initialize() - setTimeout( function() { - // Enable transitions now that we're loaded - dom.slides.classList.remove( 'no-transition' ); - - loaded = true; - - dispatchEvent( 'ready', { - 'indexh': indexh, - 'indexv': indexv, - 'currentSlide': currentSlide - } ); - }, 1 ); - - // Special setup and config is required when printing to PDF - if( isPrintingPDF() ) { - removeEventListeners(); - - // The document needs to have loaded for the PDF layout - // measurements to be accurate - if( document.readyState === 'complete' ) { - setupPDF(); - } - else { - window.addEventListener( 'load', setupPDF ); - } - } - - } - - /** - * Finds and stores references to DOM elements which are - * required by the presentation. If a required element is - * not found, it is created. - */ - function setupDOM() { - - // Prevent transitions while we're loading - dom.slides.classList.add( 'no-transition' ); - - // Background element - dom.background = createSingletonNode( dom.wrapper, 'div', 'backgrounds', null ); - - // Progress bar - dom.progress = createSingletonNode( dom.wrapper, 'div', 'progress', '' ); - dom.progressbar = dom.progress.querySelector( 'span' ); - - // Arrow controls - createSingletonNode( dom.wrapper, 'aside', 'controls', - '' + - '' + - '' + - '' ); - - // Slide number - dom.slideNumber = createSingletonNode( dom.wrapper, 'div', 'slide-number', '' ); - - // Element containing notes that are visible to the audience - dom.speakerNotes = createSingletonNode( dom.wrapper, 'div', 'speaker-notes', null ); - dom.speakerNotes.setAttribute( 'data-prevent-swipe', '' ); - - // Overlay graphic which is displayed during the paused mode - createSingletonNode( dom.wrapper, 'div', 'pause-overlay', null ); - - // Cache references to elements - dom.controls = document.querySelector( '.reveal .controls' ); - dom.theme = document.querySelector( '#theme' ); - - dom.wrapper.setAttribute( 'role', 'application' ); - - // There can be multiple instances of controls throughout the page - dom.controlsLeft = toArray( document.querySelectorAll( '.navigate-left' ) ); - dom.controlsRight = toArray( document.querySelectorAll( '.navigate-right' ) ); - dom.controlsUp = toArray( document.querySelectorAll( '.navigate-up' ) ); - dom.controlsDown = toArray( document.querySelectorAll( '.navigate-down' ) ); - dom.controlsPrev = toArray( document.querySelectorAll( '.navigate-prev' ) ); - dom.controlsNext = toArray( document.querySelectorAll( '.navigate-next' ) ); - - dom.statusDiv = createStatusDiv(); - } - - /** - * Creates a hidden div with role aria-live to announce the - * current slide content. Hide the div off-screen to make it - * available only to Assistive Technologies. - */ - function createStatusDiv() { - - var statusDiv = document.getElementById( 'aria-status-div' ); - if( !statusDiv ) { - statusDiv = document.createElement( 'div' ); - statusDiv.style.position = 'absolute'; - statusDiv.style.height = '1px'; - statusDiv.style.width = '1px'; - statusDiv.style.overflow ='hidden'; - statusDiv.style.clip = 'rect( 1px, 1px, 1px, 1px )'; - statusDiv.setAttribute( 'id', 'aria-status-div' ); - statusDiv.setAttribute( 'aria-live', 'polite' ); - statusDiv.setAttribute( 'aria-atomic','true' ); - dom.wrapper.appendChild( statusDiv ); - } - return statusDiv; - - } - - /** - * Configures the presentation for printing to a static - * PDF. - */ - function setupPDF() { - - var slideSize = getComputedSlideSize( window.innerWidth, window.innerHeight ); - - // Dimensions of the PDF pages - var pageWidth = Math.floor( slideSize.width * ( 1 + config.margin ) ), - pageHeight = Math.floor( slideSize.height * ( 1 + config.margin ) ); - - // Dimensions of slides within the pages - var slideWidth = slideSize.width, - slideHeight = slideSize.height; - - // Let the browser know what page size we want to print - injectStyleSheet( '@page{size:'+ pageWidth +'px '+ pageHeight +'px; margin: 0;}' ); - - // Limit the size of certain elements to the dimensions of the slide - injectStyleSheet( '.reveal section>img, .reveal section>video, .reveal section>iframe{max-width: '+ slideWidth +'px; max-height:'+ slideHeight +'px}' ); - - document.body.classList.add( 'print-pdf' ); - document.body.style.width = pageWidth + 'px'; - document.body.style.height = pageHeight + 'px'; - - // Add each slide's index as attributes on itself, we need these - // indices to generate slide numbers below - toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).forEach( function( hslide, h ) { - hslide.setAttribute( 'data-index-h', h ); - - if( hslide.classList.contains( 'stack' ) ) { - toArray( hslide.querySelectorAll( 'section' ) ).forEach( function( vslide, v ) { - vslide.setAttribute( 'data-index-h', h ); - vslide.setAttribute( 'data-index-v', v ); - } ); - } - } ); - - // Slide and slide background layout - toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { - - // Vertical stacks are not centred since their section - // children will be - if( slide.classList.contains( 'stack' ) === false ) { - // Center the slide inside of the page, giving the slide some margin - var left = ( pageWidth - slideWidth ) / 2, - top = ( pageHeight - slideHeight ) / 2; - - var contentHeight = getAbsoluteHeight( slide ); - var numberOfPages = Math.max( Math.ceil( contentHeight / pageHeight ), 1 ); - - // Center slides vertically - if( numberOfPages === 1 && config.center || slide.classList.contains( 'center' ) ) { - top = Math.max( ( pageHeight - contentHeight ) / 2, 0 ); - } - - // Position the slide inside of the page - slide.style.left = left + 'px'; - slide.style.top = top + 'px'; - slide.style.width = slideWidth + 'px'; - - // TODO Backgrounds need to be multiplied when the slide - // stretches over multiple pages - var background = slide.querySelector( '.slide-background' ); - if( background ) { - background.style.width = pageWidth + 'px'; - background.style.height = ( pageHeight * numberOfPages ) + 'px'; - background.style.top = -top + 'px'; - background.style.left = -left + 'px'; - } - - // Inject notes if `showNotes` is enabled - if( config.showNotes ) { - var notes = getSlideNotes( slide ); - if( notes ) { - var notesSpacing = 8; - var notesElement = document.createElement( 'div' ); - notesElement.classList.add( 'speaker-notes' ); - notesElement.classList.add( 'speaker-notes-pdf' ); - notesElement.innerHTML = notes; - notesElement.style.left = ( notesSpacing - left ) + 'px'; - notesElement.style.bottom = ( notesSpacing - top ) + 'px'; - notesElement.style.width = ( pageWidth - notesSpacing*2 ) + 'px'; - slide.appendChild( notesElement ); - } - } - - // Inject slide numbers if `slideNumbers` are enabled - if( config.slideNumber ) { - var slideNumberH = parseInt( slide.getAttribute( 'data-index-h' ), 10 ) + 1, - slideNumberV = parseInt( slide.getAttribute( 'data-index-v' ), 10 ) + 1; - - var numberElement = document.createElement( 'div' ); - numberElement.classList.add( 'slide-number' ); - numberElement.classList.add( 'slide-number-pdf' ); - numberElement.innerHTML = formatSlideNumber( slideNumberH, '.', slideNumberV ); - background.appendChild( numberElement ); - } - } - - } ); - - // Show all fragments - toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' .fragment' ) ).forEach( function( fragment ) { - fragment.classList.add( 'visible' ); - } ); - - } - - /** - * This is an unfortunate necessity. Some actions – such as - * an input field being focused in an iframe or using the - * keyboard to expand text selection beyond the bounds of - * a slide – can trigger our content to be pushed out of view. - * This scrolling can not be prevented by hiding overflow in - * CSS (we already do) so we have to resort to repeatedly - * checking if the slides have been offset :( - */ - function setupScrollPrevention() { - - setInterval( function() { - if( dom.wrapper.scrollTop !== 0 || dom.wrapper.scrollLeft !== 0 ) { - dom.wrapper.scrollTop = 0; - dom.wrapper.scrollLeft = 0; - } - }, 1000 ); - - } - - /** - * Creates an HTML element and returns a reference to it. - * If the element already exists the existing instance will - * be returned. - */ - function createSingletonNode( container, tagname, classname, innerHTML ) { - - // Find all nodes matching the description - var nodes = container.querySelectorAll( '.' + classname ); - - // Check all matches to find one which is a direct child of - // the specified container - for( var i = 0; i < nodes.length; i++ ) { - var testNode = nodes[i]; - if( testNode.parentNode === container ) { - return testNode; - } - } - - // If no node was found, create it now - var node = document.createElement( tagname ); - node.classList.add( classname ); - if( typeof innerHTML === 'string' ) { - node.innerHTML = innerHTML; - } - container.appendChild( node ); - - return node; - - } - - /** - * Creates the slide background elements and appends them - * to the background container. One element is created per - * slide no matter if the given slide has visible background. - */ - function createBackgrounds() { - - var printMode = isPrintingPDF(); - - // Clear prior backgrounds - dom.background.innerHTML = ''; - dom.background.classList.add( 'no-transition' ); - - // Iterate over all horizontal slides - toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).forEach( function( slideh ) { - - var backgroundStack; - - if( printMode ) { - backgroundStack = createBackground( slideh, slideh ); - } - else { - backgroundStack = createBackground( slideh, dom.background ); - } - - // Iterate over all vertical slides - toArray( slideh.querySelectorAll( 'section' ) ).forEach( function( slidev ) { - - if( printMode ) { - createBackground( slidev, slidev ); - } - else { - createBackground( slidev, backgroundStack ); - } - - backgroundStack.classList.add( 'stack' ); - - } ); - - } ); - - // Add parallax background if specified - if( config.parallaxBackgroundImage ) { - - dom.background.style.backgroundImage = 'url("' + config.parallaxBackgroundImage + '")'; - dom.background.style.backgroundSize = config.parallaxBackgroundSize; - - // Make sure the below properties are set on the element - these properties are - // needed for proper transitions to be set on the element via CSS. To remove - // annoying background slide-in effect when the presentation starts, apply - // these properties after short time delay - setTimeout( function() { - dom.wrapper.classList.add( 'has-parallax-background' ); - }, 1 ); - - } - else { - - dom.background.style.backgroundImage = ''; - dom.wrapper.classList.remove( 'has-parallax-background' ); - - } - - } - - /** - * Creates a background for the given slide. - * - * @param {HTMLElement} slide - * @param {HTMLElement} container The element that the background - * should be appended to - */ - function createBackground( slide, container ) { - - var data = { - background: slide.getAttribute( 'data-background' ), - backgroundSize: slide.getAttribute( 'data-background-size' ), - backgroundImage: slide.getAttribute( 'data-background-image' ), - backgroundVideo: slide.getAttribute( 'data-background-video' ), - backgroundIframe: slide.getAttribute( 'data-background-iframe' ), - backgroundColor: slide.getAttribute( 'data-background-color' ), - backgroundRepeat: slide.getAttribute( 'data-background-repeat' ), - backgroundPosition: slide.getAttribute( 'data-background-position' ), - backgroundTransition: slide.getAttribute( 'data-background-transition' ) - }; - - var element = document.createElement( 'div' ); - - // Carry over custom classes from the slide to the background - element.className = 'slide-background ' + slide.className.replace( /present|past|future/, '' ); - - if( data.background ) { - // Auto-wrap image urls in url(...) - if( /^(http|file|\/\/)/gi.test( data.background ) || /\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test( data.background ) ) { - slide.setAttribute( 'data-background-image', data.background ); - } - else { - element.style.background = data.background; - } - } - - // Create a hash for this combination of background settings. - // This is used to determine when two slide backgrounds are - // the same. - if( data.background || data.backgroundColor || data.backgroundImage || data.backgroundVideo || data.backgroundIframe ) { - element.setAttribute( 'data-background-hash', data.background + - data.backgroundSize + - data.backgroundImage + - data.backgroundVideo + - data.backgroundIframe + - data.backgroundColor + - data.backgroundRepeat + - data.backgroundPosition + - data.backgroundTransition ); - } - - // Additional and optional background properties - if( data.backgroundSize ) element.style.backgroundSize = data.backgroundSize; - if( data.backgroundColor ) element.style.backgroundColor = data.backgroundColor; - if( data.backgroundRepeat ) element.style.backgroundRepeat = data.backgroundRepeat; - if( data.backgroundPosition ) element.style.backgroundPosition = data.backgroundPosition; - if( data.backgroundTransition ) element.setAttribute( 'data-background-transition', data.backgroundTransition ); - - container.appendChild( element ); - - // If backgrounds are being recreated, clear old classes - slide.classList.remove( 'has-dark-background' ); - slide.classList.remove( 'has-light-background' ); - - // If this slide has a background color, add a class that - // signals if it is light or dark. If the slide has no background - // color, no class will be set - var computedBackgroundColor = window.getComputedStyle( element ).backgroundColor; - if( computedBackgroundColor ) { - var rgb = colorToRgb( computedBackgroundColor ); - - // Ignore fully transparent backgrounds. Some browsers return - // rgba(0,0,0,0) when reading the computed background color of - // an element with no background - if( rgb && rgb.a !== 0 ) { - if( colorBrightness( computedBackgroundColor ) < 128 ) { - slide.classList.add( 'has-dark-background' ); - } - else { - slide.classList.add( 'has-light-background' ); - } - } - } - - return element; - - } - - /** - * Registers a listener to postMessage events, this makes it - * possible to call all reveal.js API methods from another - * window. For example: - * - * revealWindow.postMessage( JSON.stringify({ - * method: 'slide', - * args: [ 2 ] - * }), '*' ); - */ - function setupPostMessage() { - - if( config.postMessage ) { - window.addEventListener( 'message', function ( event ) { - var data = event.data; - - // Make sure we're dealing with JSON - if( typeof data === 'string' && data.charAt( 0 ) === '{' && data.charAt( data.length - 1 ) === '}' ) { - data = JSON.parse( data ); - - // Check if the requested method can be found - if( data.method && typeof Reveal[data.method] === 'function' ) { - Reveal[data.method].apply( Reveal, data.args ); - } - } - }, false ); - } - - } - - /** - * Applies the configuration settings from the config - * object. May be called multiple times. - */ - function configure( options ) { - - var numberOfSlides = dom.wrapper.querySelectorAll( SLIDES_SELECTOR ).length; - - dom.wrapper.classList.remove( config.transition ); - - // New config options may be passed when this method - // is invoked through the API after initialization - if( typeof options === 'object' ) extend( config, options ); - - // Force linear transition based on browser capabilities - if( features.transforms3d === false ) config.transition = 'linear'; - - dom.wrapper.classList.add( config.transition ); - - dom.wrapper.setAttribute( 'data-transition-speed', config.transitionSpeed ); - dom.wrapper.setAttribute( 'data-background-transition', config.backgroundTransition ); - - dom.controls.style.display = config.controls ? 'block' : 'none'; - dom.progress.style.display = config.progress ? 'block' : 'none'; - dom.slideNumber.style.display = config.slideNumber && !isPrintingPDF() ? 'block' : 'none'; - - if( config.shuffle ) { - shuffle(); - } - - if( config.rtl ) { - dom.wrapper.classList.add( 'rtl' ); - } - else { - dom.wrapper.classList.remove( 'rtl' ); - } - - if( config.center ) { - dom.wrapper.classList.add( 'center' ); - } - else { - dom.wrapper.classList.remove( 'center' ); - } - - // Exit the paused mode if it was configured off - if( config.pause === false ) { - resume(); - } - - if( config.showNotes ) { - dom.speakerNotes.classList.add( 'visible' ); - } - else { - dom.speakerNotes.classList.remove( 'visible' ); - } - - if( config.mouseWheel ) { - document.addEventListener( 'DOMMouseScroll', onDocumentMouseScroll, false ); // FF - document.addEventListener( 'mousewheel', onDocumentMouseScroll, false ); - } - else { - document.removeEventListener( 'DOMMouseScroll', onDocumentMouseScroll, false ); // FF - document.removeEventListener( 'mousewheel', onDocumentMouseScroll, false ); - } - - // Rolling 3D links - if( config.rollingLinks ) { - enableRollingLinks(); - } - else { - disableRollingLinks(); - } - - // Iframe link previews - if( config.previewLinks ) { - enablePreviewLinks(); - } - else { - disablePreviewLinks(); - enablePreviewLinks( '[data-preview-link]' ); - } - - // Remove existing auto-slide controls - if( autoSlidePlayer ) { - autoSlidePlayer.destroy(); - autoSlidePlayer = null; - } - - // Generate auto-slide controls if needed - if( numberOfSlides > 1 && config.autoSlide && config.autoSlideStoppable && features.canvas && features.requestAnimationFrame ) { - autoSlidePlayer = new Playback( dom.wrapper, function() { - return Math.min( Math.max( ( Date.now() - autoSlideStartTime ) / autoSlide, 0 ), 1 ); - } ); - - autoSlidePlayer.on( 'click', onAutoSlidePlayerClick ); - autoSlidePaused = false; - } - - // When fragments are turned off they should be visible - if( config.fragments === false ) { - toArray( dom.slides.querySelectorAll( '.fragment' ) ).forEach( function( element ) { - element.classList.add( 'visible' ); - element.classList.remove( 'current-fragment' ); - } ); - } - - sync(); - - } - - /** - * Binds all event listeners. - */ - function addEventListeners() { - - eventsAreBound = true; - - window.addEventListener( 'hashchange', onWindowHashChange, false ); - window.addEventListener( 'resize', onWindowResize, false ); - - if( config.touch ) { - dom.wrapper.addEventListener( 'touchstart', onTouchStart, false ); - dom.wrapper.addEventListener( 'touchmove', onTouchMove, false ); - dom.wrapper.addEventListener( 'touchend', onTouchEnd, false ); - - // Support pointer-style touch interaction as well - if( window.navigator.pointerEnabled ) { - // IE 11 uses un-prefixed version of pointer events - dom.wrapper.addEventListener( 'pointerdown', onPointerDown, false ); - dom.wrapper.addEventListener( 'pointermove', onPointerMove, false ); - dom.wrapper.addEventListener( 'pointerup', onPointerUp, false ); - } - else if( window.navigator.msPointerEnabled ) { - // IE 10 uses prefixed version of pointer events - dom.wrapper.addEventListener( 'MSPointerDown', onPointerDown, false ); - dom.wrapper.addEventListener( 'MSPointerMove', onPointerMove, false ); - dom.wrapper.addEventListener( 'MSPointerUp', onPointerUp, false ); - } - } - - if( config.keyboard ) { - document.addEventListener( 'keydown', onDocumentKeyDown, false ); - document.addEventListener( 'keypress', onDocumentKeyPress, false ); - } - - if( config.progress && dom.progress ) { - dom.progress.addEventListener( 'click', onProgressClicked, false ); - } - - if( config.focusBodyOnPageVisibilityChange ) { - var visibilityChange; - - if( 'hidden' in document ) { - visibilityChange = 'visibilitychange'; - } - else if( 'msHidden' in document ) { - visibilityChange = 'msvisibilitychange'; - } - else if( 'webkitHidden' in document ) { - visibilityChange = 'webkitvisibilitychange'; - } - - if( visibilityChange ) { - document.addEventListener( visibilityChange, onPageVisibilityChange, false ); - } - } - - // Listen to both touch and click events, in case the device - // supports both - var pointerEvents = [ 'touchstart', 'click' ]; - - // Only support touch for Android, fixes double navigations in - // stock browser - if( UA.match( /android/gi ) ) { - pointerEvents = [ 'touchstart' ]; - } - - pointerEvents.forEach( function( eventName ) { - dom.controlsLeft.forEach( function( el ) { el.addEventListener( eventName, onNavigateLeftClicked, false ); } ); - dom.controlsRight.forEach( function( el ) { el.addEventListener( eventName, onNavigateRightClicked, false ); } ); - dom.controlsUp.forEach( function( el ) { el.addEventListener( eventName, onNavigateUpClicked, false ); } ); - dom.controlsDown.forEach( function( el ) { el.addEventListener( eventName, onNavigateDownClicked, false ); } ); - dom.controlsPrev.forEach( function( el ) { el.addEventListener( eventName, onNavigatePrevClicked, false ); } ); - dom.controlsNext.forEach( function( el ) { el.addEventListener( eventName, onNavigateNextClicked, false ); } ); - } ); - - } - - /** - * Unbinds all event listeners. - */ - function removeEventListeners() { - - eventsAreBound = false; - - document.removeEventListener( 'keydown', onDocumentKeyDown, false ); - document.removeEventListener( 'keypress', onDocumentKeyPress, false ); - window.removeEventListener( 'hashchange', onWindowHashChange, false ); - window.removeEventListener( 'resize', onWindowResize, false ); - - dom.wrapper.removeEventListener( 'touchstart', onTouchStart, false ); - dom.wrapper.removeEventListener( 'touchmove', onTouchMove, false ); - dom.wrapper.removeEventListener( 'touchend', onTouchEnd, false ); - - // IE11 - if( window.navigator.pointerEnabled ) { - dom.wrapper.removeEventListener( 'pointerdown', onPointerDown, false ); - dom.wrapper.removeEventListener( 'pointermove', onPointerMove, false ); - dom.wrapper.removeEventListener( 'pointerup', onPointerUp, false ); - } - // IE10 - else if( window.navigator.msPointerEnabled ) { - dom.wrapper.removeEventListener( 'MSPointerDown', onPointerDown, false ); - dom.wrapper.removeEventListener( 'MSPointerMove', onPointerMove, false ); - dom.wrapper.removeEventListener( 'MSPointerUp', onPointerUp, false ); - } - - if ( config.progress && dom.progress ) { - dom.progress.removeEventListener( 'click', onProgressClicked, false ); - } - - [ 'touchstart', 'click' ].forEach( function( eventName ) { - dom.controlsLeft.forEach( function( el ) { el.removeEventListener( eventName, onNavigateLeftClicked, false ); } ); - dom.controlsRight.forEach( function( el ) { el.removeEventListener( eventName, onNavigateRightClicked, false ); } ); - dom.controlsUp.forEach( function( el ) { el.removeEventListener( eventName, onNavigateUpClicked, false ); } ); - dom.controlsDown.forEach( function( el ) { el.removeEventListener( eventName, onNavigateDownClicked, false ); } ); - dom.controlsPrev.forEach( function( el ) { el.removeEventListener( eventName, onNavigatePrevClicked, false ); } ); - dom.controlsNext.forEach( function( el ) { el.removeEventListener( eventName, onNavigateNextClicked, false ); } ); - } ); - - } - - /** - * Extend object a with the properties of object b. - * If there's a conflict, object b takes precedence. - */ - function extend( a, b ) { - - for( var i in b ) { - a[ i ] = b[ i ]; - } - - } - - /** - * Converts the target object to an array. - */ - function toArray( o ) { - - return Array.prototype.slice.call( o ); - - } - - /** - * Utility for deserializing a value. - */ - function deserialize( value ) { - - if( typeof value === 'string' ) { - if( value === 'null' ) return null; - else if( value === 'true' ) return true; - else if( value === 'false' ) return false; - else if( value.match( /^\d+$/ ) ) return parseFloat( value ); - } - - return value; - - } - - /** - * Measures the distance in pixels between point a - * and point b. - * - * @param {Object} a point with x/y properties - * @param {Object} b point with x/y properties - */ - function distanceBetween( a, b ) { - - var dx = a.x - b.x, - dy = a.y - b.y; - - return Math.sqrt( dx*dx + dy*dy ); - - } - - /** - * Applies a CSS transform to the target element. - */ - function transformElement( element, transform ) { - - element.style.WebkitTransform = transform; - element.style.MozTransform = transform; - element.style.msTransform = transform; - element.style.transform = transform; - - } - - /** - * Applies CSS transforms to the slides container. The container - * is transformed from two separate sources: layout and the overview - * mode. - */ - function transformSlides( transforms ) { - - // Pick up new transforms from arguments - if( typeof transforms.layout === 'string' ) slidesTransform.layout = transforms.layout; - if( typeof transforms.overview === 'string' ) slidesTransform.overview = transforms.overview; - - // Apply the transforms to the slides container - if( slidesTransform.layout ) { - transformElement( dom.slides, slidesTransform.layout + ' ' + slidesTransform.overview ); - } - else { - transformElement( dom.slides, slidesTransform.overview ); - } - - } - - /** - * Injects the given CSS styles into the DOM. - */ - function injectStyleSheet( value ) { - - var tag = document.createElement( 'style' ); - tag.type = 'text/css'; - if( tag.styleSheet ) { - tag.styleSheet.cssText = value; - } - else { - tag.appendChild( document.createTextNode( value ) ); - } - document.getElementsByTagName( 'head' )[0].appendChild( tag ); - - } - - /** - * Converts various color input formats to an {r:0,g:0,b:0} object. - * - * @param {String} color The string representation of a color, - * the following formats are supported: - * - #000 - * - #000000 - * - rgb(0,0,0) - */ - function colorToRgb( color ) { - - var hex3 = color.match( /^#([0-9a-f]{3})$/i ); - if( hex3 && hex3[1] ) { - hex3 = hex3[1]; - return { - r: parseInt( hex3.charAt( 0 ), 16 ) * 0x11, - g: parseInt( hex3.charAt( 1 ), 16 ) * 0x11, - b: parseInt( hex3.charAt( 2 ), 16 ) * 0x11 - }; - } - - var hex6 = color.match( /^#([0-9a-f]{6})$/i ); - if( hex6 && hex6[1] ) { - hex6 = hex6[1]; - return { - r: parseInt( hex6.substr( 0, 2 ), 16 ), - g: parseInt( hex6.substr( 2, 2 ), 16 ), - b: parseInt( hex6.substr( 4, 2 ), 16 ) - }; - } - - var rgb = color.match( /^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i ); - if( rgb ) { - return { - r: parseInt( rgb[1], 10 ), - g: parseInt( rgb[2], 10 ), - b: parseInt( rgb[3], 10 ) - }; - } - - var rgba = color.match( /^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i ); - if( rgba ) { - return { - r: parseInt( rgba[1], 10 ), - g: parseInt( rgba[2], 10 ), - b: parseInt( rgba[3], 10 ), - a: parseFloat( rgba[4] ) - }; - } - - return null; - - } - - /** - * Calculates brightness on a scale of 0-255. - * - * @param color See colorStringToRgb for supported formats. - */ - function colorBrightness( color ) { - - if( typeof color === 'string' ) color = colorToRgb( color ); - - if( color ) { - return ( color.r * 299 + color.g * 587 + color.b * 114 ) / 1000; - } - - return null; - - } - - /** - * Retrieves the height of the given element by looking - * at the position and height of its immediate children. - */ - function getAbsoluteHeight( element ) { - - var height = 0; - - if( element ) { - var absoluteChildren = 0; - - toArray( element.childNodes ).forEach( function( child ) { - - if( typeof child.offsetTop === 'number' && child.style ) { - // Count # of abs children - if( window.getComputedStyle( child ).position === 'absolute' ) { - absoluteChildren += 1; - } - - height = Math.max( height, child.offsetTop + child.offsetHeight ); - } - - } ); - - // If there are no absolute children, use offsetHeight - if( absoluteChildren === 0 ) { - height = element.offsetHeight; - } - - } - - return height; - - } - - /** - * Returns the remaining height within the parent of the - * target element. - * - * remaining height = [ configured parent height ] - [ current parent height ] - */ - function getRemainingHeight( element, height ) { - - height = height || 0; - - if( element ) { - var newHeight, oldHeight = element.style.height; - - // Change the .stretch element height to 0 in order find the height of all - // the other elements - element.style.height = '0px'; - newHeight = height - element.parentNode.offsetHeight; - - // Restore the old height, just in case - element.style.height = oldHeight + 'px'; - - return newHeight; - } - - return height; - - } - - /** - * Checks if this instance is being used to print a PDF. - */ - function isPrintingPDF() { - - return ( /print-pdf/gi ).test( window.location.search ); - - } - - /** - * Hides the address bar if we're on a mobile device. - */ - function hideAddressBar() { - - if( config.hideAddressBar && isMobileDevice ) { - // Events that should trigger the address bar to hide - window.addEventListener( 'load', removeAddressBar, false ); - window.addEventListener( 'orientationchange', removeAddressBar, false ); - } - - } - - /** - * Causes the address bar to hide on mobile devices, - * more vertical space ftw. - */ - function removeAddressBar() { - - setTimeout( function() { - window.scrollTo( 0, 1 ); - }, 10 ); - - } - - /** - * Dispatches an event of the specified type from the - * reveal DOM element. - */ - function dispatchEvent( type, args ) { - - var event = document.createEvent( 'HTMLEvents', 1, 2 ); - event.initEvent( type, true, true ); - extend( event, args ); - dom.wrapper.dispatchEvent( event ); - - // If we're in an iframe, post each reveal.js event to the - // parent window. Used by the notes plugin - if( config.postMessageEvents && window.parent !== window.self ) { - window.parent.postMessage( JSON.stringify({ namespace: 'reveal', eventName: type, state: getState() }), '*' ); - } - - } - - /** - * Wrap all links in 3D goodness. - */ - function enableRollingLinks() { - - if( features.transforms3d && !( 'msPerspective' in document.body.style ) ) { - var anchors = dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' a' ); - - for( var i = 0, len = anchors.length; i < len; i++ ) { - var anchor = anchors[i]; - - if( anchor.textContent && !anchor.querySelector( '*' ) && ( !anchor.className || !anchor.classList.contains( anchor, 'roll' ) ) ) { - var span = document.createElement('span'); - span.setAttribute('data-title', anchor.text); - span.innerHTML = anchor.innerHTML; - - anchor.classList.add( 'roll' ); - anchor.innerHTML = ''; - anchor.appendChild(span); - } - } - } - - } - - /** - * Unwrap all 3D links. - */ - function disableRollingLinks() { - - var anchors = dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' a.roll' ); - - for( var i = 0, len = anchors.length; i < len; i++ ) { - var anchor = anchors[i]; - var span = anchor.querySelector( 'span' ); - - if( span ) { - anchor.classList.remove( 'roll' ); - anchor.innerHTML = span.innerHTML; - } - } - - } - - /** - * Bind preview frame links. - */ - function enablePreviewLinks( selector ) { - - var anchors = toArray( document.querySelectorAll( selector ? selector : 'a' ) ); - - anchors.forEach( function( element ) { - if( /^(http|www)/gi.test( element.getAttribute( 'href' ) ) ) { - element.addEventListener( 'click', onPreviewLinkClicked, false ); - } - } ); - - } - - /** - * Unbind preview frame links. - */ - function disablePreviewLinks() { - - var anchors = toArray( document.querySelectorAll( 'a' ) ); - - anchors.forEach( function( element ) { - if( /^(http|www)/gi.test( element.getAttribute( 'href' ) ) ) { - element.removeEventListener( 'click', onPreviewLinkClicked, false ); - } - } ); - - } - - /** - * Opens a preview window for the target URL. - */ - function showPreview( url ) { - - closeOverlay(); - - dom.overlay = document.createElement( 'div' ); - dom.overlay.classList.add( 'overlay' ); - dom.overlay.classList.add( 'overlay-preview' ); - dom.wrapper.appendChild( dom.overlay ); - - dom.overlay.innerHTML = [ - '
', - '
', - '
', - '', - '
' - ].join(''); - - dom.overlay.querySelector( 'iframe' ).addEventListener( 'load', function( event ) { - dom.overlay.classList.add( 'loaded' ); - }, false ); - - dom.overlay.querySelector( '.close' ).addEventListener( 'click', function( event ) { - closeOverlay(); - event.preventDefault(); - }, false ); - - dom.overlay.querySelector( '.external' ).addEventListener( 'click', function( event ) { - closeOverlay(); - }, false ); - - setTimeout( function() { - dom.overlay.classList.add( 'visible' ); - }, 1 ); - - } - - /** - * Opens a overlay window with help material. - */ - function showHelp() { - - if( config.help ) { - - closeOverlay(); - - dom.overlay = document.createElement( 'div' ); - dom.overlay.classList.add( 'overlay' ); - dom.overlay.classList.add( 'overlay-help' ); - dom.wrapper.appendChild( dom.overlay ); - - var html = '

Keyboard Shortcuts


'; - - html += ''; - for( var key in keyboardShortcuts ) { - html += ''; - } - - html += '
KEYACTION
' + key + '' + keyboardShortcuts[ key ] + '
'; - - dom.overlay.innerHTML = [ - '
', - '', - '
', - '
', - '
'+ html +'
', - '
' - ].join(''); - - dom.overlay.querySelector( '.close' ).addEventListener( 'click', function( event ) { - closeOverlay(); - event.preventDefault(); - }, false ); - - setTimeout( function() { - dom.overlay.classList.add( 'visible' ); - }, 1 ); - - } - - } - - /** - * Closes any currently open overlay. - */ - function closeOverlay() { - - if( dom.overlay ) { - dom.overlay.parentNode.removeChild( dom.overlay ); - dom.overlay = null; - } - - } - - /** - * Applies JavaScript-controlled layout rules to the - * presentation. - */ - function layout() { - - if( dom.wrapper && !isPrintingPDF() ) { - - var size = getComputedSlideSize(); - - var slidePadding = 20; // TODO Dig this out of DOM - - // Layout the contents of the slides - layoutSlideContents( config.width, config.height, slidePadding ); - - dom.slides.style.width = size.width + 'px'; - dom.slides.style.height = size.height + 'px'; - - // Determine scale of content to fit within available space - scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height ); - - // Respect max/min scale settings - scale = Math.max( scale, config.minScale ); - scale = Math.min( scale, config.maxScale ); - - // Don't apply any scaling styles if scale is 1 - if( scale === 1 ) { - dom.slides.style.zoom = ''; - dom.slides.style.left = ''; - dom.slides.style.top = ''; - dom.slides.style.bottom = ''; - dom.slides.style.right = ''; - transformSlides( { layout: '' } ); - } - else { - // Prefer zoom for scaling up so that content remains crisp. - // Don't use zoom to scale down since that can lead to shifts - // in text layout/line breaks. - if( scale > 1 && features.zoom ) { - dom.slides.style.zoom = scale; - dom.slides.style.left = ''; - dom.slides.style.top = ''; - dom.slides.style.bottom = ''; - dom.slides.style.right = ''; - transformSlides( { layout: '' } ); - } - // Apply scale transform as a fallback - else { - dom.slides.style.zoom = ''; - dom.slides.style.left = '50%'; - dom.slides.style.top = '50%'; - dom.slides.style.bottom = 'auto'; - dom.slides.style.right = 'auto'; - transformSlides( { layout: 'translate(-50%, -50%) scale('+ scale +')' } ); - } - } - - // Select all slides, vertical and horizontal - var slides = toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ); - - for( var i = 0, len = slides.length; i < len; i++ ) { - var slide = slides[ i ]; - - // Don't bother updating invisible slides - if( slide.style.display === 'none' ) { - continue; - } - - if( config.center || slide.classList.contains( 'center' ) ) { - // Vertical stacks are not centred since their section - // children will be - if( slide.classList.contains( 'stack' ) ) { - slide.style.top = 0; - } - else { - slide.style.top = Math.max( ( ( size.height - getAbsoluteHeight( slide ) ) / 2 ) - slidePadding, 0 ) + 'px'; - } - } - else { - slide.style.top = ''; - } - - } - - updateProgress(); - updateParallax(); - - } - - } - - /** - * Applies layout logic to the contents of all slides in - * the presentation. - */ - function layoutSlideContents( width, height, padding ) { - - // Handle sizing of elements with the 'stretch' class - toArray( dom.slides.querySelectorAll( 'section > .stretch' ) ).forEach( function( element ) { - - // Determine how much vertical space we can use - var remainingHeight = getRemainingHeight( element, height ); - - // Consider the aspect ratio of media elements - if( /(img|video)/gi.test( element.nodeName ) ) { - var nw = element.naturalWidth || element.videoWidth, - nh = element.naturalHeight || element.videoHeight; - - var es = Math.min( width / nw, remainingHeight / nh ); - - element.style.width = ( nw * es ) + 'px'; - element.style.height = ( nh * es ) + 'px'; - - } - else { - element.style.width = width + 'px'; - element.style.height = remainingHeight + 'px'; - } - - } ); - - } - - /** - * Calculates the computed pixel size of our slides. These - * values are based on the width and height configuration - * options. - */ - function getComputedSlideSize( presentationWidth, presentationHeight ) { - - var size = { - // Slide size - width: config.width, - height: config.height, - - // Presentation size - presentationWidth: presentationWidth || dom.wrapper.offsetWidth, - presentationHeight: presentationHeight || dom.wrapper.offsetHeight - }; - - // Reduce available space by margin - size.presentationWidth -= ( size.presentationWidth * config.margin ); - size.presentationHeight -= ( size.presentationHeight * config.margin ); - - // Slide width may be a percentage of available width - if( typeof size.width === 'string' && /%$/.test( size.width ) ) { - size.width = parseInt( size.width, 10 ) / 100 * size.presentationWidth; - } - - // Slide height may be a percentage of available height - if( typeof size.height === 'string' && /%$/.test( size.height ) ) { - size.height = parseInt( size.height, 10 ) / 100 * size.presentationHeight; - } - - return size; - - } - - /** - * Stores the vertical index of a stack so that the same - * vertical slide can be selected when navigating to and - * from the stack. - * - * @param {HTMLElement} stack The vertical stack element - * @param {int} v Index to memorize - */ - function setPreviousVerticalIndex( stack, v ) { - - if( typeof stack === 'object' && typeof stack.setAttribute === 'function' ) { - stack.setAttribute( 'data-previous-indexv', v || 0 ); - } - - } - - /** - * Retrieves the vertical index which was stored using - * #setPreviousVerticalIndex() or 0 if no previous index - * exists. - * - * @param {HTMLElement} stack The vertical stack element - */ - function getPreviousVerticalIndex( stack ) { - - if( typeof stack === 'object' && typeof stack.setAttribute === 'function' && stack.classList.contains( 'stack' ) ) { - // Prefer manually defined start-indexv - var attributeName = stack.hasAttribute( 'data-start-indexv' ) ? 'data-start-indexv' : 'data-previous-indexv'; - - return parseInt( stack.getAttribute( attributeName ) || 0, 10 ); - } - - return 0; - - } - - /** - * Displays the overview of slides (quick nav) by scaling - * down and arranging all slide elements. - */ - function activateOverview() { - - // Only proceed if enabled in config - if( config.overview && !isOverview() ) { - - overview = true; - - dom.wrapper.classList.add( 'overview' ); - dom.wrapper.classList.remove( 'overview-deactivating' ); - - if( features.overviewTransitions ) { - setTimeout( function() { - dom.wrapper.classList.add( 'overview-animated' ); - }, 1 ); - } - - // Don't auto-slide while in overview mode - cancelAutoSlide(); - - // Move the backgrounds element into the slide container to - // that the same scaling is applied - dom.slides.appendChild( dom.background ); - - // Clicking on an overview slide navigates to it - toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { - if( !slide.classList.contains( 'stack' ) ) { - slide.addEventListener( 'click', onOverviewSlideClicked, true ); - } - } ); - - // Calculate slide sizes - var margin = 70; - var slideSize = getComputedSlideSize(); - overviewSlideWidth = slideSize.width + margin; - overviewSlideHeight = slideSize.height + margin; - - // Reverse in RTL mode - if( config.rtl ) { - overviewSlideWidth = -overviewSlideWidth; - } - - updateSlidesVisibility(); - layoutOverview(); - updateOverview(); - - layout(); - - // Notify observers of the overview showing - dispatchEvent( 'overviewshown', { - 'indexh': indexh, - 'indexv': indexv, - 'currentSlide': currentSlide - } ); - - } - - } - - /** - * Uses CSS transforms to position all slides in a grid for - * display inside of the overview mode. - */ - function layoutOverview() { - - // Layout slides - toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).forEach( function( hslide, h ) { - hslide.setAttribute( 'data-index-h', h ); - transformElement( hslide, 'translate3d(' + ( h * overviewSlideWidth ) + 'px, 0, 0)' ); - - if( hslide.classList.contains( 'stack' ) ) { - - toArray( hslide.querySelectorAll( 'section' ) ).forEach( function( vslide, v ) { - vslide.setAttribute( 'data-index-h', h ); - vslide.setAttribute( 'data-index-v', v ); - - transformElement( vslide, 'translate3d(0, ' + ( v * overviewSlideHeight ) + 'px, 0)' ); - } ); - - } - } ); - - // Layout slide backgrounds - toArray( dom.background.childNodes ).forEach( function( hbackground, h ) { - transformElement( hbackground, 'translate3d(' + ( h * overviewSlideWidth ) + 'px, 0, 0)' ); - - toArray( hbackground.querySelectorAll( '.slide-background' ) ).forEach( function( vbackground, v ) { - transformElement( vbackground, 'translate3d(0, ' + ( v * overviewSlideHeight ) + 'px, 0)' ); - } ); - } ); - - } - - /** - * Moves the overview viewport to the current slides. - * Called each time the current slide changes. - */ - function updateOverview() { - - transformSlides( { - overview: [ - 'translateX('+ ( -indexh * overviewSlideWidth ) +'px)', - 'translateY('+ ( -indexv * overviewSlideHeight ) +'px)', - 'translateZ('+ ( window.innerWidth < 400 ? -1000 : -2500 ) +'px)' - ].join( ' ' ) - } ); - - } - - /** - * Exits the slide overview and enters the currently - * active slide. - */ - function deactivateOverview() { - - // Only proceed if enabled in config - if( config.overview ) { - - overview = false; - - dom.wrapper.classList.remove( 'overview' ); - dom.wrapper.classList.remove( 'overview-animated' ); - - // Temporarily add a class so that transitions can do different things - // depending on whether they are exiting/entering overview, or just - // moving from slide to slide - dom.wrapper.classList.add( 'overview-deactivating' ); - - setTimeout( function () { - dom.wrapper.classList.remove( 'overview-deactivating' ); - }, 1 ); - - // Move the background element back out - dom.wrapper.appendChild( dom.background ); - - // Clean up changes made to slides - toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { - transformElement( slide, '' ); - - slide.removeEventListener( 'click', onOverviewSlideClicked, true ); - } ); - - // Clean up changes made to backgrounds - toArray( dom.background.querySelectorAll( '.slide-background' ) ).forEach( function( background ) { - transformElement( background, '' ); - } ); - - transformSlides( { overview: '' } ); - - slide( indexh, indexv ); - - layout(); - - cueAutoSlide(); - - // Notify observers of the overview hiding - dispatchEvent( 'overviewhidden', { - 'indexh': indexh, - 'indexv': indexv, - 'currentSlide': currentSlide - } ); - - } - } - - /** - * Toggles the slide overview mode on and off. - * - * @param {Boolean} override Optional flag which overrides the - * toggle logic and forcibly sets the desired state. True means - * overview is open, false means it's closed. - */ - function toggleOverview( override ) { - - if( typeof override === 'boolean' ) { - override ? activateOverview() : deactivateOverview(); - } - else { - isOverview() ? deactivateOverview() : activateOverview(); - } - - } - - /** - * Checks if the overview is currently active. - * - * @return {Boolean} true if the overview is active, - * false otherwise - */ - function isOverview() { - - return overview; - - } - - /** - * Checks if the current or specified slide is vertical - * (nested within another slide). - * - * @param {HTMLElement} slide [optional] The slide to check - * orientation of - */ - function isVerticalSlide( slide ) { - - // Prefer slide argument, otherwise use current slide - slide = slide ? slide : currentSlide; - - return slide && slide.parentNode && !!slide.parentNode.nodeName.match( /section/i ); - - } - - /** - * Handling the fullscreen functionality via the fullscreen API - * - * @see http://fullscreen.spec.whatwg.org/ - * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode - */ - function enterFullscreen() { - - var element = document.body; - - // Check which implementation is available - var requestMethod = element.requestFullScreen || - element.webkitRequestFullscreen || - element.webkitRequestFullScreen || - element.mozRequestFullScreen || - element.msRequestFullscreen; - - if( requestMethod ) { - requestMethod.apply( element ); - } - - } - - /** - * Enters the paused mode which fades everything on screen to - * black. - */ - function pause() { - - if( config.pause ) { - var wasPaused = dom.wrapper.classList.contains( 'paused' ); - - cancelAutoSlide(); - dom.wrapper.classList.add( 'paused' ); - - if( wasPaused === false ) { - dispatchEvent( 'paused' ); - } - } - - } - - /** - * Exits from the paused mode. - */ - function resume() { - - var wasPaused = dom.wrapper.classList.contains( 'paused' ); - dom.wrapper.classList.remove( 'paused' ); - - cueAutoSlide(); - - if( wasPaused ) { - dispatchEvent( 'resumed' ); - } - - } - - /** - * Toggles the paused mode on and off. - */ - function togglePause( override ) { - - if( typeof override === 'boolean' ) { - override ? pause() : resume(); - } - else { - isPaused() ? resume() : pause(); - } - - } - - /** - * Checks if we are currently in the paused mode. - */ - function isPaused() { - - return dom.wrapper.classList.contains( 'paused' ); - - } - - /** - * Toggles the auto slide mode on and off. - * - * @param {Boolean} override Optional flag which sets the desired state. - * True means autoplay starts, false means it stops. - */ - - function toggleAutoSlide( override ) { - - if( typeof override === 'boolean' ) { - override ? resumeAutoSlide() : pauseAutoSlide(); - } - - else { - autoSlidePaused ? resumeAutoSlide() : pauseAutoSlide(); - } - - } - - /** - * Checks if the auto slide mode is currently on. - */ - function isAutoSliding() { - - return !!( autoSlide && !autoSlidePaused ); - - } - - /** - * Steps from the current point in the presentation to the - * slide which matches the specified horizontal and vertical - * indices. - * - * @param {int} h Horizontal index of the target slide - * @param {int} v Vertical index of the target slide - * @param {int} f Optional index of a fragment within the - * target slide to activate - * @param {int} o Optional origin for use in multimaster environments - */ - function slide( h, v, f, o ) { - - // Remember where we were at before - previousSlide = currentSlide; - - // Query all horizontal slides in the deck - var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ); - - // If no vertical index is specified and the upcoming slide is a - // stack, resume at its previous vertical index - if( v === undefined && !isOverview() ) { - v = getPreviousVerticalIndex( horizontalSlides[ h ] ); - } - - // If we were on a vertical stack, remember what vertical index - // it was on so we can resume at the same position when returning - if( previousSlide && previousSlide.parentNode && previousSlide.parentNode.classList.contains( 'stack' ) ) { - setPreviousVerticalIndex( previousSlide.parentNode, indexv ); - } - - // Remember the state before this slide - var stateBefore = state.concat(); - - // Reset the state array - state.length = 0; - - var indexhBefore = indexh || 0, - indexvBefore = indexv || 0; - - // Activate and transition to the new slide - indexh = updateSlides( HORIZONTAL_SLIDES_SELECTOR, h === undefined ? indexh : h ); - indexv = updateSlides( VERTICAL_SLIDES_SELECTOR, v === undefined ? indexv : v ); - - // Update the visibility of slides now that the indices have changed - updateSlidesVisibility(); - - layout(); - - // Apply the new state - stateLoop: for( var i = 0, len = state.length; i < len; i++ ) { - // Check if this state existed on the previous slide. If it - // did, we will avoid adding it repeatedly - for( var j = 0; j < stateBefore.length; j++ ) { - if( stateBefore[j] === state[i] ) { - stateBefore.splice( j, 1 ); - continue stateLoop; - } - } - - document.documentElement.classList.add( state[i] ); - - // Dispatch custom event matching the state's name - dispatchEvent( state[i] ); - } - - // Clean up the remains of the previous state - while( stateBefore.length ) { - document.documentElement.classList.remove( stateBefore.pop() ); - } - - // Update the overview if it's currently active - if( isOverview() ) { - updateOverview(); - } - - // Find the current horizontal slide and any possible vertical slides - // within it - var currentHorizontalSlide = horizontalSlides[ indexh ], - currentVerticalSlides = currentHorizontalSlide.querySelectorAll( 'section' ); - - // Store references to the previous and current slides - currentSlide = currentVerticalSlides[ indexv ] || currentHorizontalSlide; - - // Show fragment, if specified - if( typeof f !== 'undefined' ) { - navigateFragment( f ); - } - - // Dispatch an event if the slide changed - var slideChanged = ( indexh !== indexhBefore || indexv !== indexvBefore ); - if( slideChanged ) { - dispatchEvent( 'slidechanged', { - 'indexh': indexh, - 'indexv': indexv, - 'previousSlide': previousSlide, - 'currentSlide': currentSlide, - 'origin': o - } ); - } - else { - // Ensure that the previous slide is never the same as the current - previousSlide = null; - } - - // Solves an edge case where the previous slide maintains the - // 'present' class when navigating between adjacent vertical - // stacks - if( previousSlide ) { - previousSlide.classList.remove( 'present' ); - previousSlide.setAttribute( 'aria-hidden', 'true' ); - - // Reset all slides upon navigate to home - // Issue: #285 - if ( dom.wrapper.querySelector( HOME_SLIDE_SELECTOR ).classList.contains( 'present' ) ) { - // Launch async task - setTimeout( function () { - var slides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.stack') ), i; - for( i in slides ) { - if( slides[i] ) { - // Reset stack - setPreviousVerticalIndex( slides[i], 0 ); - } - } - }, 0 ); - } - } - - // Handle embedded content - if( slideChanged || !previousSlide ) { - stopEmbeddedContent( previousSlide ); - startEmbeddedContent( currentSlide ); - } - - // Announce the current slide contents, for screen readers - dom.statusDiv.textContent = currentSlide.textContent; - - updateControls(); - updateProgress(); - updateBackground(); - updateParallax(); - updateSlideNumber(); - updateNotes(); - - // Update the URL hash - writeURL(); - - cueAutoSlide(); - - } - - /** - * Syncs the presentation with the current DOM. Useful - * when new slides or control elements are added or when - * the configuration has changed. - */ - function sync() { - - // Subscribe to input - removeEventListeners(); - addEventListeners(); - - // Force a layout to make sure the current config is accounted for - layout(); - - // Reflect the current autoSlide value - autoSlide = config.autoSlide; - - // Start auto-sliding if it's enabled - cueAutoSlide(); - - // Re-create the slide backgrounds - createBackgrounds(); - - // Write the current hash to the URL - writeURL(); - - sortAllFragments(); - - updateControls(); - updateProgress(); - updateBackground( true ); - updateSlideNumber(); - updateSlidesVisibility(); - updateNotes(); - - formatEmbeddedContent(); - startEmbeddedContent( currentSlide ); - - if( isOverview() ) { - layoutOverview(); - } - - } - - /** - * Resets all vertical slides so that only the first - * is visible. - */ - function resetVerticalSlides() { - - var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); - horizontalSlides.forEach( function( horizontalSlide ) { - - var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); - verticalSlides.forEach( function( verticalSlide, y ) { - - if( y > 0 ) { - verticalSlide.classList.remove( 'present' ); - verticalSlide.classList.remove( 'past' ); - verticalSlide.classList.add( 'future' ); - verticalSlide.setAttribute( 'aria-hidden', 'true' ); - } - - } ); - - } ); - - } - - /** - * Sorts and formats all of fragments in the - * presentation. - */ - function sortAllFragments() { - - var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); - horizontalSlides.forEach( function( horizontalSlide ) { - - var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); - verticalSlides.forEach( function( verticalSlide, y ) { - - sortFragments( verticalSlide.querySelectorAll( '.fragment' ) ); - - } ); - - if( verticalSlides.length === 0 ) sortFragments( horizontalSlide.querySelectorAll( '.fragment' ) ); - - } ); - - } - - /** - * Randomly shuffles all slides in the deck. - */ - function shuffle() { - - var slides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); - - slides.forEach( function( slide ) { - - // Insert this slide next to another random slide. This may - // cause the slide to insert before itself but that's fine. - dom.slides.insertBefore( slide, slides[ Math.floor( Math.random() * slides.length ) ] ); - - } ); - - } - - /** - * Updates one dimension of slides by showing the slide - * with the specified index. - * - * @param {String} selector A CSS selector that will fetch - * the group of slides we are working with - * @param {Number} index The index of the slide that should be - * shown - * - * @return {Number} The index of the slide that is now shown, - * might differ from the passed in index if it was out of - * bounds. - */ - function updateSlides( selector, index ) { - - // Select all slides and convert the NodeList result to - // an array - var slides = toArray( dom.wrapper.querySelectorAll( selector ) ), - slidesLength = slides.length; - - var printMode = isPrintingPDF(); - - if( slidesLength ) { - - // Should the index loop? - if( config.loop ) { - index %= slidesLength; - - if( index < 0 ) { - index = slidesLength + index; - } - } - - // Enforce max and minimum index bounds - index = Math.max( Math.min( index, slidesLength - 1 ), 0 ); - - for( var i = 0; i < slidesLength; i++ ) { - var element = slides[i]; - - var reverse = config.rtl && !isVerticalSlide( element ); - - element.classList.remove( 'past' ); - element.classList.remove( 'present' ); - element.classList.remove( 'future' ); - - // http://www.w3.org/html/wg/drafts/html/master/editing.html#the-hidden-attribute - element.setAttribute( 'hidden', '' ); - element.setAttribute( 'aria-hidden', 'true' ); - - // If this element contains vertical slides - if( element.querySelector( 'section' ) ) { - element.classList.add( 'stack' ); - } - - // If we're printing static slides, all slides are "present" - if( printMode ) { - element.classList.add( 'present' ); - continue; - } - - if( i < index ) { - // Any element previous to index is given the 'past' class - element.classList.add( reverse ? 'future' : 'past' ); - - if( config.fragments ) { - var pastFragments = toArray( element.querySelectorAll( '.fragment' ) ); - - // Show all fragments on prior slides - while( pastFragments.length ) { - var pastFragment = pastFragments.pop(); - pastFragment.classList.add( 'visible' ); - pastFragment.classList.remove( 'current-fragment' ); - } - } - } - else if( i > index ) { - // Any element subsequent to index is given the 'future' class - element.classList.add( reverse ? 'past' : 'future' ); - - if( config.fragments ) { - var futureFragments = toArray( element.querySelectorAll( '.fragment.visible' ) ); - - // No fragments in future slides should be visible ahead of time - while( futureFragments.length ) { - var futureFragment = futureFragments.pop(); - futureFragment.classList.remove( 'visible' ); - futureFragment.classList.remove( 'current-fragment' ); - } - } - } - } - - // Mark the current slide as present - slides[index].classList.add( 'present' ); - slides[index].removeAttribute( 'hidden' ); - slides[index].removeAttribute( 'aria-hidden' ); - - // If this slide has a state associated with it, add it - // onto the current state of the deck - var slideState = slides[index].getAttribute( 'data-state' ); - if( slideState ) { - state = state.concat( slideState.split( ' ' ) ); - } - - } - else { - // Since there are no slides we can't be anywhere beyond the - // zeroth index - index = 0; - } - - return index; - - } - - /** - * Optimization method; hide all slides that are far away - * from the present slide. - */ - function updateSlidesVisibility() { - - // Select all slides and convert the NodeList result to - // an array - var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ), - horizontalSlidesLength = horizontalSlides.length, - distanceX, - distanceY; - - if( horizontalSlidesLength && typeof indexh !== 'undefined' ) { - - // The number of steps away from the present slide that will - // be visible - var viewDistance = isOverview() ? 10 : config.viewDistance; - - // Limit view distance on weaker devices - if( isMobileDevice ) { - viewDistance = isOverview() ? 6 : 2; - } - - // All slides need to be visible when exporting to PDF - if( isPrintingPDF() ) { - viewDistance = Number.MAX_VALUE; - } - - for( var x = 0; x < horizontalSlidesLength; x++ ) { - var horizontalSlide = horizontalSlides[x]; - - var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ), - verticalSlidesLength = verticalSlides.length; - - // Determine how far away this slide is from the present - distanceX = Math.abs( ( indexh || 0 ) - x ) || 0; - - // If the presentation is looped, distance should measure - // 1 between the first and last slides - if( config.loop ) { - distanceX = Math.abs( ( ( indexh || 0 ) - x ) % ( horizontalSlidesLength - viewDistance ) ) || 0; - } - - // Show the horizontal slide if it's within the view distance - if( distanceX < viewDistance ) { - showSlide( horizontalSlide ); - } - else { - hideSlide( horizontalSlide ); - } - - if( verticalSlidesLength ) { - - var oy = getPreviousVerticalIndex( horizontalSlide ); - - for( var y = 0; y < verticalSlidesLength; y++ ) { - var verticalSlide = verticalSlides[y]; - - distanceY = x === ( indexh || 0 ) ? Math.abs( ( indexv || 0 ) - y ) : Math.abs( y - oy ); - - if( distanceX + distanceY < viewDistance ) { - showSlide( verticalSlide ); - } - else { - hideSlide( verticalSlide ); - } - } - - } - } - - } - - } - - /** - * Pick up notes from the current slide and display tham - * to the viewer. - * - * @see `showNotes` config value - */ - function updateNotes() { - - if( config.showNotes && dom.speakerNotes && currentSlide && !isPrintingPDF() ) { - - dom.speakerNotes.innerHTML = getSlideNotes() || ''; - - } - - } - - /** - * Updates the progress bar to reflect the current slide. - */ - function updateProgress() { - - // Update progress if enabled - if( config.progress && dom.progressbar ) { - - dom.progressbar.style.width = getProgress() * dom.wrapper.offsetWidth + 'px'; - - } - - } - - /** - * Updates the slide number div to reflect the current slide. - * - * The following slide number formats are available: - * "h.v": horizontal . vertical slide number (default) - * "h/v": horizontal / vertical slide number - * "c": flattened slide number - * "c/t": flattened slide number / total slides - */ - function updateSlideNumber() { - - // Update slide number if enabled - if( config.slideNumber && dom.slideNumber ) { - - var value = []; - var format = 'h.v'; - - // Check if a custom number format is available - if( typeof config.slideNumber === 'string' ) { - format = config.slideNumber; - } - - switch( format ) { - case 'c': - value.push( getSlidePastCount() + 1 ); - break; - case 'c/t': - value.push( getSlidePastCount() + 1, '/', getTotalSlides() ); - break; - case 'h/v': - value.push( indexh + 1 ); - if( isVerticalSlide() ) value.push( '/', indexv + 1 ); - break; - default: - value.push( indexh + 1 ); - if( isVerticalSlide() ) value.push( '.', indexv + 1 ); - } - - dom.slideNumber.innerHTML = formatSlideNumber( value[0], value[1], value[2] ); - } - - } - - /** - * Applies HTML formatting to a slide number before it's - * written to the DOM. - */ - function formatSlideNumber( a, delimiter, b ) { - - if( typeof b === 'number' && !isNaN( b ) ) { - return ''+ a +'' + - ''+ delimiter +'' + - ''+ b +''; - } - else { - return ''+ a +''; - } - - } - - /** - * Updates the state of all control/navigation arrows. - */ - function updateControls() { - - var routes = availableRoutes(); - var fragments = availableFragments(); - - // Remove the 'enabled' class from all directions - dom.controlsLeft.concat( dom.controlsRight ) - .concat( dom.controlsUp ) - .concat( dom.controlsDown ) - .concat( dom.controlsPrev ) - .concat( dom.controlsNext ).forEach( function( node ) { - node.classList.remove( 'enabled' ); - node.classList.remove( 'fragmented' ); - } ); - - // Add the 'enabled' class to the available routes - if( routes.left ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'enabled' ); } ); - if( routes.right ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'enabled' ); } ); - if( routes.up ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'enabled' ); } ); - if( routes.down ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'enabled' ); } ); - - // Prev/next buttons - if( routes.left || routes.up ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'enabled' ); } ); - if( routes.right || routes.down ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'enabled' ); } ); - - // Highlight fragment directions - if( currentSlide ) { - - // Always apply fragment decorator to prev/next buttons - if( fragments.prev ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); - if( fragments.next ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); - - // Apply fragment decorators to directional buttons based on - // what slide axis they are in - if( isVerticalSlide( currentSlide ) ) { - if( fragments.prev ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); - if( fragments.next ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); - } - else { - if( fragments.prev ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); - if( fragments.next ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); - } - - } - - } - - /** - * Updates the background elements to reflect the current - * slide. - * - * @param {Boolean} includeAll If true, the backgrounds of - * all vertical slides (not just the present) will be updated. - */ - function updateBackground( includeAll ) { - - var currentBackground = null; - - // Reverse past/future classes when in RTL mode - var horizontalPast = config.rtl ? 'future' : 'past', - horizontalFuture = config.rtl ? 'past' : 'future'; - - // Update the classes of all backgrounds to match the - // states of their slides (past/present/future) - toArray( dom.background.childNodes ).forEach( function( backgroundh, h ) { - - backgroundh.classList.remove( 'past' ); - backgroundh.classList.remove( 'present' ); - backgroundh.classList.remove( 'future' ); - - if( h < indexh ) { - backgroundh.classList.add( horizontalPast ); - } - else if ( h > indexh ) { - backgroundh.classList.add( horizontalFuture ); - } - else { - backgroundh.classList.add( 'present' ); - - // Store a reference to the current background element - currentBackground = backgroundh; - } - - if( includeAll || h === indexh ) { - toArray( backgroundh.querySelectorAll( '.slide-background' ) ).forEach( function( backgroundv, v ) { - - backgroundv.classList.remove( 'past' ); - backgroundv.classList.remove( 'present' ); - backgroundv.classList.remove( 'future' ); - - if( v < indexv ) { - backgroundv.classList.add( 'past' ); - } - else if ( v > indexv ) { - backgroundv.classList.add( 'future' ); - } - else { - backgroundv.classList.add( 'present' ); - - // Only if this is the present horizontal and vertical slide - if( h === indexh ) currentBackground = backgroundv; - } - - } ); - } - - } ); - - // Stop any currently playing video background - if( previousBackground ) { - - var previousVideo = previousBackground.querySelector( 'video' ); - if( previousVideo ) previousVideo.pause(); - - } - - if( currentBackground ) { - - // Start video playback - var currentVideo = currentBackground.querySelector( 'video' ); - if( currentVideo ) { - - var startVideo = function() { - currentVideo.currentTime = 0; - currentVideo.play(); - currentVideo.removeEventListener( 'loadeddata', startVideo ); - }; - - if( currentVideo.readyState > 1 ) { - startVideo(); - } - else { - currentVideo.addEventListener( 'loadeddata', startVideo ); - } - - } - - var backgroundImageURL = currentBackground.style.backgroundImage || ''; - - // Restart GIFs (doesn't work in Firefox) - if( /\.gif/i.test( backgroundImageURL ) ) { - currentBackground.style.backgroundImage = ''; - window.getComputedStyle( currentBackground ).opacity; - currentBackground.style.backgroundImage = backgroundImageURL; - } - - // Don't transition between identical backgrounds. This - // prevents unwanted flicker. - var previousBackgroundHash = previousBackground ? previousBackground.getAttribute( 'data-background-hash' ) : null; - var currentBackgroundHash = currentBackground.getAttribute( 'data-background-hash' ); - if( currentBackgroundHash && currentBackgroundHash === previousBackgroundHash && currentBackground !== previousBackground ) { - dom.background.classList.add( 'no-transition' ); - } - - previousBackground = currentBackground; - - } - - // If there's a background brightness flag for this slide, - // bubble it to the .reveal container - if( currentSlide ) { - [ 'has-light-background', 'has-dark-background' ].forEach( function( classToBubble ) { - if( currentSlide.classList.contains( classToBubble ) ) { - dom.wrapper.classList.add( classToBubble ); - } - else { - dom.wrapper.classList.remove( classToBubble ); - } - } ); - } - - // Allow the first background to apply without transition - setTimeout( function() { - dom.background.classList.remove( 'no-transition' ); - }, 1 ); - - } - - /** - * Updates the position of the parallax background based - * on the current slide index. - */ - function updateParallax() { - - if( config.parallaxBackgroundImage ) { - - var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ), - verticalSlides = dom.wrapper.querySelectorAll( VERTICAL_SLIDES_SELECTOR ); - - var backgroundSize = dom.background.style.backgroundSize.split( ' ' ), - backgroundWidth, backgroundHeight; - - if( backgroundSize.length === 1 ) { - backgroundWidth = backgroundHeight = parseInt( backgroundSize[0], 10 ); - } - else { - backgroundWidth = parseInt( backgroundSize[0], 10 ); - backgroundHeight = parseInt( backgroundSize[1], 10 ); - } - - var slideWidth = dom.background.offsetWidth, - horizontalSlideCount = horizontalSlides.length, - horizontalOffsetMultiplier, - horizontalOffset; - - if( typeof config.parallaxBackgroundHorizontal === 'number' ) { - horizontalOffsetMultiplier = config.parallaxBackgroundHorizontal; - } - else { - horizontalOffsetMultiplier = horizontalSlideCount > 1 ? ( backgroundWidth - slideWidth ) / ( horizontalSlideCount-1 ) : 0; - } - - horizontalOffset = horizontalOffsetMultiplier * indexh * -1; - - var slideHeight = dom.background.offsetHeight, - verticalSlideCount = verticalSlides.length, - verticalOffsetMultiplier, - verticalOffset; - - if( typeof config.parallaxBackgroundVertical === 'number' ) { - verticalOffsetMultiplier = config.parallaxBackgroundVertical; - } - else { - verticalOffsetMultiplier = ( backgroundHeight - slideHeight ) / ( verticalSlideCount-1 ); - } - - verticalOffset = verticalSlideCount > 0 ? verticalOffsetMultiplier * indexv * 1 : 0; - - dom.background.style.backgroundPosition = horizontalOffset + 'px ' + -verticalOffset + 'px'; - - } - - } - - /** - * Called when the given slide is within the configured view - * distance. Shows the slide element and loads any content - * that is set to load lazily (data-src). - */ - function showSlide( slide ) { - - // Show the slide element - slide.style.display = 'block'; - - // Media elements with data-src attributes - toArray( slide.querySelectorAll( 'img[data-src], video[data-src], audio[data-src]' ) ).forEach( function( element ) { - element.setAttribute( 'src', element.getAttribute( 'data-src' ) ); - element.removeAttribute( 'data-src' ); - } ); - - // Media elements with children - toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( media ) { - var sources = 0; - - toArray( media.querySelectorAll( 'source[data-src]' ) ).forEach( function( source ) { - source.setAttribute( 'src', source.getAttribute( 'data-src' ) ); - source.removeAttribute( 'data-src' ); - sources += 1; - } ); - - // If we rewrote sources for this video/audio element, we need - // to manually tell it to load from its new origin - if( sources > 0 ) { - media.load(); - } - } ); - - - // Show the corresponding background element - var indices = getIndices( slide ); - var background = getSlideBackground( indices.h, indices.v ); - if( background ) { - background.style.display = 'block'; - - // If the background contains media, load it - if( background.hasAttribute( 'data-loaded' ) === false ) { - background.setAttribute( 'data-loaded', 'true' ); - - var backgroundImage = slide.getAttribute( 'data-background-image' ), - backgroundVideo = slide.getAttribute( 'data-background-video' ), - backgroundVideoLoop = slide.hasAttribute( 'data-background-video-loop' ), - backgroundVideoMuted = slide.hasAttribute( 'data-background-video-muted' ), - backgroundIframe = slide.getAttribute( 'data-background-iframe' ); - - // Images - if( backgroundImage ) { - background.style.backgroundImage = 'url('+ backgroundImage +')'; - } - // Videos - else if ( backgroundVideo && !isSpeakerNotes() ) { - var video = document.createElement( 'video' ); - - if( backgroundVideoLoop ) { - video.setAttribute( 'loop', '' ); - } - - if( backgroundVideoMuted ) { - video.muted = true; - } - - // Support comma separated lists of video sources - backgroundVideo.split( ',' ).forEach( function( source ) { - video.innerHTML += ''; - } ); - - background.appendChild( video ); - } - // Iframes - else if( backgroundIframe ) { - var iframe = document.createElement( 'iframe' ); - iframe.setAttribute( 'src', backgroundIframe ); - iframe.style.width = '100%'; - iframe.style.height = '100%'; - iframe.style.maxHeight = '100%'; - iframe.style.maxWidth = '100%'; - - background.appendChild( iframe ); - } - } - } - - } - - /** - * Called when the given slide is moved outside of the - * configured view distance. - */ - function hideSlide( slide ) { - - // Hide the slide element - slide.style.display = 'none'; - - // Hide the corresponding background element - var indices = getIndices( slide ); - var background = getSlideBackground( indices.h, indices.v ); - if( background ) { - background.style.display = 'none'; - } - - } - - /** - * Determine what available routes there are for navigation. - * - * @return {Object} containing four booleans: left/right/up/down - */ - function availableRoutes() { - - var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ), - verticalSlides = dom.wrapper.querySelectorAll( VERTICAL_SLIDES_SELECTOR ); - - var routes = { - left: indexh > 0 || config.loop, - right: indexh < horizontalSlides.length - 1 || config.loop, - up: indexv > 0, - down: indexv < verticalSlides.length - 1 - }; - - // reverse horizontal controls for rtl - if( config.rtl ) { - var left = routes.left; - routes.left = routes.right; - routes.right = left; - } - - return routes; - - } - - /** - * Returns an object describing the available fragment - * directions. - * - * @return {Object} two boolean properties: prev/next - */ - function availableFragments() { - - if( currentSlide && config.fragments ) { - var fragments = currentSlide.querySelectorAll( '.fragment' ); - var hiddenFragments = currentSlide.querySelectorAll( '.fragment:not(.visible)' ); - - return { - prev: fragments.length - hiddenFragments.length > 0, - next: !!hiddenFragments.length - }; - } - else { - return { prev: false, next: false }; - } - - } - - /** - * Enforces origin-specific format rules for embedded media. - */ - function formatEmbeddedContent() { - - var _appendParamToIframeSource = function( sourceAttribute, sourceURL, param ) { - toArray( dom.slides.querySelectorAll( 'iframe['+ sourceAttribute +'*="'+ sourceURL +'"]' ) ).forEach( function( el ) { - var src = el.getAttribute( sourceAttribute ); - if( src && src.indexOf( param ) === -1 ) { - el.setAttribute( sourceAttribute, src + ( !/\?/.test( src ) ? '?' : '&' ) + param ); - } - }); - }; - - // YouTube frames must include "?enablejsapi=1" - _appendParamToIframeSource( 'src', 'youtube.com/embed/', 'enablejsapi=1' ); - _appendParamToIframeSource( 'data-src', 'youtube.com/embed/', 'enablejsapi=1' ); - - // Vimeo frames must include "?api=1" - _appendParamToIframeSource( 'src', 'player.vimeo.com/', 'api=1' ); - _appendParamToIframeSource( 'data-src', 'player.vimeo.com/', 'api=1' ); - - } - - /** - * Start playback of any embedded content inside of - * the targeted slide. - */ - function startEmbeddedContent( slide ) { - - if( slide && !isSpeakerNotes() ) { - // Restart GIFs - toArray( slide.querySelectorAll( 'img[src$=".gif"]' ) ).forEach( function( el ) { - // Setting the same unchanged source like this was confirmed - // to work in Chrome, FF & Safari - el.setAttribute( 'src', el.getAttribute( 'src' ) ); - } ); - - // HTML5 media elements - toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { - if( el.hasAttribute( 'data-autoplay' ) && typeof el.play === 'function' ) { - el.play(); - } - } ); - - // Normal iframes - toArray( slide.querySelectorAll( 'iframe[src]' ) ).forEach( function( el ) { - startEmbeddedIframe( { target: el } ); - } ); - - // Lazy loading iframes - toArray( slide.querySelectorAll( 'iframe[data-src]' ) ).forEach( function( el ) { - if( el.getAttribute( 'src' ) !== el.getAttribute( 'data-src' ) ) { - el.removeEventListener( 'load', startEmbeddedIframe ); // remove first to avoid dupes - el.addEventListener( 'load', startEmbeddedIframe ); - el.setAttribute( 'src', el.getAttribute( 'data-src' ) ); - } - } ); - } - - } - - /** - * "Starts" the content of an embedded iframe using the - * postmessage API. - */ - function startEmbeddedIframe( event ) { - - var iframe = event.target; - - // YouTube postMessage API - if( /youtube\.com\/embed\//.test( iframe.getAttribute( 'src' ) ) && iframe.hasAttribute( 'data-autoplay' ) ) { - iframe.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', '*' ); - } - // Vimeo postMessage API - else if( /player\.vimeo\.com\//.test( iframe.getAttribute( 'src' ) ) && iframe.hasAttribute( 'data-autoplay' ) ) { - iframe.contentWindow.postMessage( '{"method":"play"}', '*' ); - } - // Generic postMessage API - else { - iframe.contentWindow.postMessage( 'slide:start', '*' ); - } - - } - - /** - * Stop playback of any embedded content inside of - * the targeted slide. - */ - function stopEmbeddedContent( slide ) { - - if( slide && slide.parentNode ) { - // HTML5 media elements - toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { - if( !el.hasAttribute( 'data-ignore' ) && typeof el.pause === 'function' ) { - el.pause(); - } - } ); - - // Generic postMessage API for non-lazy loaded iframes - toArray( slide.querySelectorAll( 'iframe' ) ).forEach( function( el ) { - el.contentWindow.postMessage( 'slide:stop', '*' ); - el.removeEventListener( 'load', startEmbeddedIframe ); - }); - - // YouTube postMessage API - toArray( slide.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) { - if( !el.hasAttribute( 'data-ignore' ) && typeof el.contentWindow.postMessage === 'function' ) { - el.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', '*' ); - } - }); - - // Vimeo postMessage API - toArray( slide.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { - if( !el.hasAttribute( 'data-ignore' ) && typeof el.contentWindow.postMessage === 'function' ) { - el.contentWindow.postMessage( '{"method":"pause"}', '*' ); - } - }); - - // Lazy loading iframes - toArray( slide.querySelectorAll( 'iframe[data-src]' ) ).forEach( function( el ) { - // Only removing the src doesn't actually unload the frame - // in all browsers (Firefox) so we set it to blank first - el.setAttribute( 'src', 'about:blank' ); - el.removeAttribute( 'src' ); - } ); - } - - } - - /** - * Returns the number of past slides. This can be used as a global - * flattened index for slides. - */ - function getSlidePastCount() { - - var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); - - // The number of past slides - var pastCount = 0; - - // Step through all slides and count the past ones - mainLoop: for( var i = 0; i < horizontalSlides.length; i++ ) { - - var horizontalSlide = horizontalSlides[i]; - var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); - - for( var j = 0; j < verticalSlides.length; j++ ) { - - // Stop as soon as we arrive at the present - if( verticalSlides[j].classList.contains( 'present' ) ) { - break mainLoop; - } - - pastCount++; - - } - - // Stop as soon as we arrive at the present - if( horizontalSlide.classList.contains( 'present' ) ) { - break; - } - - // Don't count the wrapping section for vertical slides - if( horizontalSlide.classList.contains( 'stack' ) === false ) { - pastCount++; - } - - } - - return pastCount; - - } - - /** - * Returns a value ranging from 0-1 that represents - * how far into the presentation we have navigated. - */ - function getProgress() { - - // The number of past and total slides - var totalCount = getTotalSlides(); - var pastCount = getSlidePastCount(); - - if( currentSlide ) { - - var allFragments = currentSlide.querySelectorAll( '.fragment' ); - - // If there are fragments in the current slide those should be - // accounted for in the progress. - if( allFragments.length > 0 ) { - var visibleFragments = currentSlide.querySelectorAll( '.fragment.visible' ); - - // This value represents how big a portion of the slide progress - // that is made up by its fragments (0-1) - var fragmentWeight = 0.9; - - // Add fragment progress to the past slide count - pastCount += ( visibleFragments.length / allFragments.length ) * fragmentWeight; - } - - } - - return pastCount / ( totalCount - 1 ); - - } - - /** - * Checks if this presentation is running inside of the - * speaker notes window. - */ - function isSpeakerNotes() { - - return !!window.location.search.match( /receiver/gi ); - - } - - /** - * Reads the current URL (hash) and navigates accordingly. - */ - function readURL() { - - var hash = window.location.hash; - - // Attempt to parse the hash as either an index or name - var bits = hash.slice( 2 ).split( '/' ), - name = hash.replace( /#|\//gi, '' ); - - // If the first bit is invalid and there is a name we can - // assume that this is a named link - if( isNaN( parseInt( bits[0], 10 ) ) && name.length ) { - var element; - - // Ensure the named link is a valid HTML ID attribute - if( /^[a-zA-Z][\w:.-]*$/.test( name ) ) { - // Find the slide with the specified ID - element = document.getElementById( name ); - } - - if( element ) { - // Find the position of the named slide and navigate to it - var indices = Reveal.getIndices( element ); - slide( indices.h, indices.v ); - } - // If the slide doesn't exist, navigate to the current slide - else { - slide( indexh || 0, indexv || 0 ); - } - } - else { - // Read the index components of the hash - var h = parseInt( bits[0], 10 ) || 0, - v = parseInt( bits[1], 10 ) || 0; - - if( h !== indexh || v !== indexv ) { - slide( h, v ); - } - } - - } - - /** - * Updates the page URL (hash) to reflect the current - * state. - * - * @param {Number} delay The time in ms to wait before - * writing the hash - */ - function writeURL( delay ) { - - if( config.history ) { - - // Make sure there's never more than one timeout running - clearTimeout( writeURLTimeout ); - - // If a delay is specified, timeout this call - if( typeof delay === 'number' ) { - writeURLTimeout = setTimeout( writeURL, delay ); - } - else if( currentSlide ) { - var url = '/'; - - // Attempt to create a named link based on the slide's ID - var id = currentSlide.getAttribute( 'id' ); - if( id ) { - id = id.replace( /[^a-zA-Z0-9\-\_\:\.]/g, '' ); - } - - // If the current slide has an ID, use that as a named link - if( typeof id === 'string' && id.length ) { - url = '/' + id; - } - // Otherwise use the /h/v index - else { - if( indexh > 0 || indexv > 0 ) url += indexh; - if( indexv > 0 ) url += '/' + indexv; - } - - window.location.hash = url; - } - } - - } - - /** - * Retrieves the h/v location of the current, or specified, - * slide. - * - * @param {HTMLElement} slide If specified, the returned - * index will be for this slide rather than the currently - * active one - * - * @return {Object} { h: , v: , f: } - */ - function getIndices( slide ) { - - // By default, return the current indices - var h = indexh, - v = indexv, - f; - - // If a slide is specified, return the indices of that slide - if( slide ) { - var isVertical = isVerticalSlide( slide ); - var slideh = isVertical ? slide.parentNode : slide; - - // Select all horizontal slides - var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); - - // Now that we know which the horizontal slide is, get its index - h = Math.max( horizontalSlides.indexOf( slideh ), 0 ); - - // Assume we're not vertical - v = undefined; - - // If this is a vertical slide, grab the vertical index - if( isVertical ) { - v = Math.max( toArray( slide.parentNode.querySelectorAll( 'section' ) ).indexOf( slide ), 0 ); - } - } - - if( !slide && currentSlide ) { - var hasFragments = currentSlide.querySelectorAll( '.fragment' ).length > 0; - if( hasFragments ) { - var currentFragment = currentSlide.querySelector( '.current-fragment' ); - if( currentFragment && currentFragment.hasAttribute( 'data-fragment-index' ) ) { - f = parseInt( currentFragment.getAttribute( 'data-fragment-index' ), 10 ); - } - else { - f = currentSlide.querySelectorAll( '.fragment.visible' ).length - 1; - } - } - } - - return { h: h, v: v, f: f }; - - } - - /** - * Retrieves the total number of slides in this presentation. - */ - function getTotalSlides() { - - return dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ':not(.stack)' ).length; - - } - - /** - * Returns the slide element matching the specified index. - */ - function getSlide( x, y ) { - - var horizontalSlide = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR )[ x ]; - var verticalSlides = horizontalSlide && horizontalSlide.querySelectorAll( 'section' ); - - if( verticalSlides && verticalSlides.length && typeof y === 'number' ) { - return verticalSlides ? verticalSlides[ y ] : undefined; - } - - return horizontalSlide; - - } - - /** - * Returns the background element for the given slide. - * All slides, even the ones with no background properties - * defined, have a background element so as long as the - * index is valid an element will be returned. - */ - function getSlideBackground( x, y ) { - - // When printing to PDF the slide backgrounds are nested - // inside of the slides - if( isPrintingPDF() ) { - var slide = getSlide( x, y ); - if( slide ) { - var background = slide.querySelector( '.slide-background' ); - if( background && background.parentNode === slide ) { - return background; - } - } - - return undefined; - } - - var horizontalBackground = dom.wrapper.querySelectorAll( '.backgrounds>.slide-background' )[ x ]; - var verticalBackgrounds = horizontalBackground && horizontalBackground.querySelectorAll( '.slide-background' ); - - if( verticalBackgrounds && verticalBackgrounds.length && typeof y === 'number' ) { - return verticalBackgrounds ? verticalBackgrounds[ y ] : undefined; - } - - return horizontalBackground; - - } - - /** - * Retrieves the speaker notes from a slide. Notes can be - * defined in two ways: - * 1. As a data-notes attribute on the slide
- * 2. As an
', - '', - '', - '

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 diff --git a/Pepiniere/ansible/Formation/images/ci-vs-cd-devops-difference.jpg b/Pepiniere/ansible/Formation/images/ci-vs-cd-devops-difference.jpg deleted file mode 100644 index a0e903450ed46c77dbbcf8f9097a272208768c08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138002 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