j1-template 2021.0.16 → 2021.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/footer/boxes/legal_statements.proc +4 -0
  3. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +1 -1
  4. data/_includes/themes/j1/modules/connectors/ads +1 -1
  5. data/_includes/themes/j1/modules/connectors/analytic/google-analytics-legacy.html +36 -0
  6. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +1 -1
  7. data/_includes/themes/j1/modules/connectors/analytics +2 -3
  8. data/_includes/themes/j1/modules/connectors/comment/disqus.html +1 -1
  9. data/_layouts/default.html +11 -1
  10. data/assets/data/galleries.json +2 -2
  11. data/assets/data/gallery_customizer.html +2 -2
  12. data/assets/themes/j1/adapter/js/asciidoctor.js +166 -0
  13. data/assets/themes/j1/adapter/js/carousel.js +24 -0
  14. data/assets/themes/j1/adapter/js/fam.js +0 -12
  15. data/assets/themes/j1/adapter/js/j1.js +36 -21
  16. data/assets/themes/j1/adapter/js/{jf_gallery.js → justifiedGallery.js} +9 -9
  17. data/assets/themes/j1/adapter/js/{gallery_customizer.js → justifiedGalleryCustomizer.js} +11 -11
  18. data/assets/themes/j1/adapter/js/logger.js +35 -23
  19. data/assets/themes/j1/adapter/js/navigator.js +0 -12
  20. data/assets/themes/j1/core/css/vendor.css +14 -2
  21. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  22. data/assets/themes/j1/core/js/template.js +8 -2
  23. data/assets/themes/j1/core/js/template.js.map +1 -1
  24. data/assets/themes/j1/core/js/template.min.js +8 -2
  25. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  26. data/assets/themes/j1/modules/log4javascript/docs/backwardsincompatibilities.html +90 -0
  27. data/assets/themes/j1/modules/log4javascript/docs/distribution.html +87 -0
  28. data/assets/themes/j1/modules/log4javascript/docs/index.html +190 -0
  29. data/assets/themes/j1/modules/log4javascript/docs/lite.html +182 -0
  30. data/assets/themes/j1/modules/log4javascript/docs/manual.html +3217 -0
  31. data/assets/themes/j1/modules/log4javascript/docs/manual_lite.html +383 -0
  32. data/assets/themes/j1/modules/log4javascript/docs/quickstart.html +230 -0
  33. data/assets/themes/j1/modules/log4javascript/docs/whatsnew.html +86 -0
  34. data/assets/themes/j1/modules/log4javascript/js/log4javascript.js +5826 -0
  35. data/assets/themes/j1/modules/{util/js/log4javascript.js → log4javascript/js/log4javascript.min.js} +17 -0
  36. data/exe/j1 +1 -1
  37. data/lib/j1/commands/generate.rb +32 -9
  38. data/lib/{patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6 → j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.7}/fastfilereaderext.so +0 -0
  39. data/lib/{patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6 → j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.7}/rubyeventmachine.so +0 -0
  40. data/lib/j1/patches/rubygems/execjs-2.7.0/lib/execjs/external_runtime.rb +246 -0
  41. data/lib/j1/version.rb +1 -1
  42. data/lib/j1_app.rb +1 -1
  43. data/lib/j1_app/j1_auth_manager/auth_manager.rb +8 -2
  44. data/lib/j1_app/j1_site_manager/static_site.no-cross-origin.rb +94 -0
  45. data/lib/j1_app/j1_site_manager/static_site.rb +13 -11
  46. data/lib/starter_web/Gemfile +20 -14
  47. data/lib/starter_web/_config.yml +6 -47
  48. data/lib/starter_web/_data/_defaults/j1_config.yml +460 -0
  49. data/lib/starter_web/_data/{private.yml@localhost → _defaults/private.yml} +8 -51
  50. data/lib/starter_web/_data/_defaults/resources.yml +626 -325
  51. data/lib/starter_web/_data/apps/defaults/{justified_gallery.yml → justifiedGallery.yml} +2 -2
  52. data/lib/starter_web/_data/apps/defaults/{gallery_customizer.yml → justifiedGalleryCustomizer.yml} +0 -0
  53. data/lib/starter_web/_data/apps/defaults/{light_gallery.yml → lightGallery.yml} +0 -0
  54. data/lib/starter_web/_data/apps/{justified_gallery.yml → justifiedGallery.yml} +7 -7
  55. data/lib/starter_web/_data/apps/{gallery_customizer.yml → justifiedGalleryCustomizer.yml} +0 -0
  56. data/lib/starter_web/_data/apps/{light_gallery.yml → lightGallery.yml} +0 -0
  57. data/lib/starter_web/_data/blocks/banner.yml +18 -30
  58. data/lib/starter_web/_data/blocks/footer.yml +15 -3
  59. data/lib/starter_web/_data/blocks/panel.yml +4 -6
  60. data/lib/starter_web/_data/j1_config.yml +8 -7
  61. data/lib/starter_web/_data/modules/authentication.yml +11 -100
  62. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +37 -40
  63. data/lib/starter_web/_data/modules/defaults/quicksearch.yml +2 -0
  64. data/lib/starter_web/_data/modules/log4javascript.yml +11 -83
  65. data/lib/starter_web/_data/modules/navigator_menu.yml +25 -6
  66. data/lib/starter_web/_data/modules/quicksearch.yml +2 -0
  67. data/lib/starter_web/_data/plugins/defaults/paginator.yml +15 -12
  68. data/lib/starter_web/_data/plugins/paginator.yml +5 -3
  69. data/lib/starter_web/_data/private.yml +29 -57
  70. data/lib/starter_web/_data/private@default.yml +119 -0
  71. data/lib/starter_web/_data/private@localhost.yml +156 -0
  72. data/lib/starter_web/_data/resources.yml +33 -16
  73. data/lib/starter_web/_data/utilities/defaults/util_srv.yml +49 -3
  74. data/lib/starter_web/_data/utilities/util_srv.yml +8 -65
  75. data/lib/starter_web/_includes/attributes.asciidoc +9 -6
  76. data/lib/starter_web/_plugins/asciidoctor-extensions/callout.rb +47 -5
  77. data/lib/starter_web/_plugins/asciidoctor-extensions/conum.rb +28 -1
  78. data/lib/starter_web/_plugins/lunr_index.rb +17 -2
  79. data/lib/starter_web/assets/images/collections/blog/featured/dynamic-web-access.png +0 -0
  80. data/lib/starter_web/assets/images/collections/blog/featured/jamstack-generators.gif +0 -0
  81. data/lib/starter_web/assets/images/collections/blog/featured/jamstack-generators.jpg +0 -0
  82. data/lib/starter_web/assets/images/collections/blog/featured/static-web-access.png +0 -0
  83. data/lib/starter_web/assets/images/modules/attics/leon-1920x1280.jpg +0 -0
  84. data/lib/starter_web/assets/images/modules/attics/machine-generator-1920x1280.jpg +0 -0
  85. data/lib/starter_web/assets/images/modules/icons/j1/j1-256x256.gif +0 -0
  86. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +44 -45
  87. data/lib/starter_web/collections/posts/public/featured/_posts/{2020-06-01-about-cookies.adoc → 2020-01-01-about-cookies.adoc} +43 -41
  88. data/lib/starter_web/collections/posts/public/featured/_posts/{2020-05-01-top-site-generators.adoc → 2021-03-01-site-generators.adoc} +57 -30
  89. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +125 -0
  90. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +4 -0
  91. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +1 -1
  92. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +1 -1
  93. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +1 -1
  94. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +1 -1
  95. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +1 -1
  96. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +1 -1
  97. data/lib/starter_web/dot.gitattributes +1 -1
  98. data/lib/starter_web/dot.gitignore +5 -1
  99. data/lib/starter_web/package.json +3 -2
  100. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/gallery.asciidoc +1 -1
  101. data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +1 -1
  102. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +1 -1
  103. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +1 -1
  104. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  105. data/lib/starter_web/pages/public/blog/navigator/archive.html +1 -1
  106. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
  107. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +2 -2
  108. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
  109. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  110. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +44 -47
  111. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +20 -19
  112. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +5 -1
  113. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +38 -34
  114. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +37 -35
  115. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +15 -13
  116. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +10 -8
  117. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +29 -26
  118. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +49 -48
  119. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +1 -1
  120. data/lib/starter_web/pages/public/learn/where_to_go.adoc +43 -16
  121. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +114 -0
  122. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +81 -0
  123. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +70 -48
  124. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +121 -0
  125. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +78 -70
  126. data/lib/starter_web/pages/public/previewer/justified_gallery.html +2 -2
  127. data/lib/starter_web/pages/public/previewer/md_color_palette.adoc +0 -1939
  128. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +6 -8
  129. data/lib/starter_web/utilsrv/_defaults/package.json +13 -9
  130. data/lib/starter_web/utilsrv/package.json +6 -2
  131. data/lib/starter_web/utilsrv/server.js +228 -55
  132. metadata +45 -214
  133. data/assets/data/menu.1.html +0 -505
  134. data/lib/starter_web/_data/_defaults/j1_light_gallery.yml +0 -110
  135. data/lib/starter_web/_data/_defaults/template_settings.yml +0 -258
  136. data/lib/starter_web/_data/plugins/defaults/notebooks.yml +0 -61
  137. data/lib/starter_web/_data/plugins/notebooks.yml +0 -70
  138. data/lib/starter_web/assets/images/collections/blog/featured/staticgen.jpg +0 -0
  139. data/lib/starter_web/assets/images/modules/attics/aditya-joshi-1920x1280.jpg +0 -0
  140. data/lib/starter_web/assets/images/modules/attics/alex-holyoake-1920x1280.jpg +0 -0
  141. data/lib/starter_web/assets/images/modules/attics/anaya-katlego-1920x1280.jpg +0 -0
  142. data/lib/starter_web/assets/images/modules/attics/antonella-lombardi-1920x1280.jpg +0 -0
  143. data/lib/starter_web/assets/images/modules/attics/antonino-visalli-1920x1280.jpg +0 -0
  144. data/lib/starter_web/assets/images/modules/attics/banner/docker-1280x600-bw.jpg +0 -0
  145. data/lib/starter_web/assets/images/modules/attics/banner/jekyll.1200x600-bw.jpg +0 -0
  146. data/lib/starter_web/assets/images/modules/attics/banner/signpost-1920x800-bw.jpg +0 -0
  147. data/lib/starter_web/assets/images/modules/attics/banner/water-journal-1280x600.jpg +0 -0
  148. data/lib/starter_web/assets/images/modules/attics/banner/write-1280x600-bw.jpg +0 -0
  149. data/lib/starter_web/assets/images/modules/attics/brandon-mowinkel-1920x1280.jpg +0 -0
  150. data/lib/starter_web/assets/images/modules/attics/daniel-jensen-1920x1280.jpg +0 -0
  151. data/lib/starter_web/assets/images/modules/attics/florian-olivo-1920x1280.jpg +0 -0
  152. data/lib/starter_web/assets/images/modules/attics/giammarco-boscaro-1920x1280.jpg +0 -0
  153. data/lib/starter_web/assets/images/modules/attics/go-up-1920x1280-bw.jpg +0 -0
  154. data/lib/starter_web/assets/images/modules/attics/ian-schneider-1920x1280.jpg +0 -0
  155. data/lib/starter_web/assets/images/modules/attics/jason-rosewell-1920x1280.jpg +0 -0
  156. data/lib/starter_web/assets/images/modules/attics/joel-filipe-1920x1280.jpg +0 -0
  157. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  158. data/lib/starter_web/assets/images/modules/attics/library-1920x1280-bw.jpg +0 -0
  159. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280-v.jpg +0 -0
  160. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280.jpg +0 -0
  161. data/lib/starter_web/assets/images/modules/attics/markus-spiske-1920x1280.jpg +0 -0
  162. data/lib/starter_web/assets/images/modules/attics/markus-spiske.jpg +0 -0
  163. data/lib/starter_web/assets/images/modules/attics/markus-spiske3-1920x1280.jpg +0 -0
  164. data/lib/starter_web/assets/images/modules/attics/modules-apps-1920x1280.jpg +0 -0
  165. data/lib/starter_web/assets/images/modules/attics/nicola-styles-1920x1280.jpg +0 -0
  166. data/lib/starter_web/assets/images/modules/attics/no-time-1920x1280.jpg +0 -0
  167. data/lib/starter_web/assets/images/modules/attics/nousnou-iwasaki-1920x1280.jpg +0 -0
  168. data/lib/starter_web/assets/images/modules/attics/premium-1920x1280-bw.jpg +0 -0
  169. data/lib/starter_web/assets/images/modules/attics/responsive-text-1920x1280.jpg +0 -0
  170. data/lib/starter_web/assets/images/modules/attics/robert-v-ruggiero-1920x1280.jpg +0 -0
  171. data/lib/starter_web/assets/images/modules/attics/romain-vignes-1920x1280.jpg +0 -0
  172. data/lib/starter_web/assets/images/modules/attics/spider-web-1920x1200-bw.jpg +0 -0
  173. data/lib/starter_web/assets/images/modules/attics/the-place-1920x1280.jpg +0 -0
  174. data/lib/starter_web/assets/images/modules/icons/algolia/search-by-algolia.png +0 -0
  175. data/lib/starter_web/assets/images/modules/icons/d1/d1-256x256.png +0 -0
  176. data/lib/starter_web/assets/images/modules/icons/d1/d1-32x32.ico +0 -0
  177. data/lib/starter_web/assets/images/modules/icons/d1/d1-512x512.png +0 -0
  178. data/lib/starter_web/assets/images/modules/icons/d1/d1-64x64.png +0 -0
  179. data/lib/starter_web/assets/images/modules/icons/d1/d1.ico +0 -0
  180. data/lib/starter_web/assets/images/modules/icons/d1/favicon.ico +0 -0
  181. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +0 -2025
  182. data/lib/starter_web/assets/images/modules/icons/netlify/nf-logo.png +0 -0
  183. data/lib/starter_web/assets/images/modules/icons/p1/favicon.ico +0 -0
  184. data/lib/starter_web/assets/images/modules/icons/p1/p1-256x256.png +0 -0
  185. data/lib/starter_web/assets/images/modules/icons/p1/p1-32x32.ico +0 -0
  186. data/lib/starter_web/assets/images/modules/icons/p1/p1-512x512.png +0 -0
  187. data/lib/starter_web/assets/images/modules/icons/p1/p1-64x64.png +0 -0
  188. data/lib/starter_web/assets/images/modules/icons/p1/p1.ico +0 -0
  189. data/lib/starter_web/assets/images/modules/icons/p1/scalable/p1.svg +0 -2020
  190. data/lib/starter_web/assets/images/modules/icons/patreon/favicon-16x16.png +0 -0
  191. data/lib/starter_web/assets/images/modules/icons/patreon/favicon-32x32.png +0 -0
  192. data/lib/starter_web/assets/images/pages/j1_webhooks/000_browser_console-1280x600.jpg +0 -0
  193. data/lib/starter_web/assets/images/pages/j1_webhooks/001_smee_channel-1280x400.jpg +0 -0
  194. data/lib/starter_web/assets/images/pages/j1_webhooks/002_gh_repo_settings-1280x800.jpg +0 -0
  195. data/lib/starter_web/assets/images/pages/j1_webhooks/003_gh_webhook_settings-1280x1000.jpg +0 -0
  196. data/lib/starter_web/assets/images/pages/j1_webhooks/004_gh_webhook_settings-post-1280x600.jpg +0 -0
  197. data/lib/starter_web/assets/images/pages/j1_webhooks/005_smee_channel_ping_receive-1280x800.jpg +0 -0
  198. data/lib/starter_web/assets/images/pages/j1_webhooks/006_gh_redeliver_payload-1280x900.jpg +0 -0
  199. data/lib/starter_web/assets/images/pages/j1_webhooks/007_receive_redelivered_payload-1280x800.jpg +0 -0
  200. data/lib/starter_web/assets/images/pages/j1_webhooks/base/000_browser_console.jpg +0 -0
  201. data/lib/starter_web/assets/images/pages/j1_webhooks/base/000_smee_channel.jpg +0 -0
  202. data/lib/starter_web/assets/images/pages/j1_webhooks/base/002_gh_repo-settings.jpg +0 -0
  203. data/lib/starter_web/assets/images/pages/j1_webhooks/base/003_gh_webhook_settings.jpg +0 -0
  204. data/lib/starter_web/assets/images/pages/j1_webhooks/base/004_gh_webhook_settings-post.jpg +0 -0
  205. data/lib/starter_web/assets/images/pages/j1_webhooks/base/005_smee_channel_ping_received.jpg +0 -0
  206. data/lib/starter_web/assets/images/pages/j1_webhooks/base/006_gh_redeliver_payload.jpg +0 -0
  207. data/lib/starter_web/assets/images/pages/j1_webhooks/base/007_receive_redelivered_payload.jpg +0 -0
  208. data/lib/starter_web/assets/images/pages/j1_webhooks/base/webhook_flow.jpg +0 -0
  209. data/lib/starter_web/assets/images/pages/j1_webhooks/flows/webhook_flow-1920x1280.jpg +0 -0
  210. data/lib/starter_web/assets/images/pages/j1_webhooks/scaleable/webhook_flow.svg +0 -432
  211. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/auth_mgmr_signin_request_flow.uxf +0 -632
  212. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/webhook_flow.uxf +0 -648
  213. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/get-started-1920x1280-bw.jpg +0 -0
  214. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/130_layout_inheritance.png +0 -0
  215. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/content_inheritance.png +0 -0
  216. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/content_inheritance_thumb.png +0 -0
  217. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/html_layout.png +0 -0
  218. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/j1-quickstart-windows.png +0 -0
  219. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/j1-template-theme.jpg +0 -0
  220. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/j1_layout.png +0 -0
  221. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/jekyll-minima-theme.png +0 -0
  222. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/lane_inheritance.png +0 -0
  223. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/layout_inheritance.png +0 -0
  224. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/preparations/msys_installation.jpg +0 -0
  225. data/lib/starter_web/assets/images/pages/log4j/apache-log4j-logo.png +0 -0
  226. data/lib/starter_web/assets/images/pages/log4r/code-1920x600.jpg +0 -0
  227. data/lib/starter_web/assets/images/pages/log4r/log4r-logo.png +0 -0
  228. data/lib/starter_web/assets/images/pages/log_expert/image_000.png +0 -0
  229. data/lib/starter_web/assets/images/pages/log_expert/image_001.png +0 -0
  230. data/lib/starter_web/assets/images/pages/log_expert/image_002.png +0 -0
  231. data/lib/starter_web/assets/images/pages/log_expert/image_003.png +0 -0
  232. data/lib/starter_web/assets/images/pages/log_expert/image_004.png +0 -0
  233. data/lib/starter_web/assets/images/pages/log_expert/image_005.png +0 -0
  234. data/lib/starter_web/assets/images/pages/log_expert/image_006.png +0 -0
  235. data/lib/starter_web/assets/images/pages/log_expert/image_007.png +0 -0
  236. data/lib/starter_web/assets/images/pages/log_expert/image_008.png +0 -0
  237. data/lib/starter_web/assets/images/pages/log_expert/image_009.png +0 -0
  238. data/lib/starter_web/assets/images/pages/log_expert/image_010.png +0 -0
  239. data/lib/starter_web/assets/images/pages/log_expert/image_011.png +0 -0
  240. data/lib/starter_web/assets/images/pages/log_expert/image_012.png +0 -0
  241. data/lib/starter_web/assets/images/pages/log_expert/image_013.png +0 -0
  242. data/lib/starter_web/assets/images/pages/log_expert/image_014.png +0 -0
  243. data/lib/starter_web/assets/images/pages/log_expert/image_015.png +0 -0
  244. data/lib/starter_web/assets/images/pages/log_expert/image_016.png +0 -0
  245. data/lib/starter_web/assets/images/pages/log_expert/image_017.png +0 -0
  246. data/lib/starter_web/assets/images/pages/log_expert/image_018.png +0 -0
  247. data/lib/starter_web/assets/images/pages/log_expert/image_019.png +0 -0
  248. data/lib/starter_web/assets/images/pages/log_expert/image_020.png +0 -0
  249. data/lib/starter_web/assets/images/pages/log_expert/image_021.png +0 -0
  250. data/lib/starter_web/assets/images/pages/log_expert/image_022.png +0 -0
  251. data/lib/starter_web/assets/images/pages/log_expert/image_023.png +0 -0
  252. data/lib/starter_web/assets/images/pages/log_expert/image_024.png +0 -0
  253. data/lib/starter_web/assets/images/pages/log_expert/image_025.png +0 -0
  254. data/lib/starter_web/assets/images/pages/log_expert/image_026.png +0 -0
  255. data/lib/starter_web/assets/images/pages/log_expert/image_027.png +0 -0
  256. data/lib/starter_web/assets/images/pages/log_expert/image_028.png +0 -0
  257. data/lib/starter_web/assets/images/pages/log_expert/image_029.png +0 -0
  258. data/lib/starter_web/assets/images/pages/log_expert/image_030.png +0 -0
  259. data/lib/starter_web/assets/images/pages/log_expert/image_031.png +0 -0
  260. data/lib/starter_web/assets/images/pages/log_expert/image_032.png +0 -0
  261. data/lib/starter_web/assets/images/pages/log_expert/image_033.png +0 -0
  262. data/lib/starter_web/assets/images/pages/log_expert/image_034.png +0 -0
  263. data/lib/starter_web/assets/images/pages/log_expert/image_035.png +0 -0
  264. data/lib/starter_web/assets/images/pages/log_expert/image_036.png +0 -0
  265. data/lib/starter_web/assets/images/pages/log_expert/image_037.png +0 -0
  266. data/lib/starter_web/assets/images/pages/log_expert/image_038.png +0 -0
  267. data/lib/starter_web/assets/images/pages/log_expert/image_039.png +0 -0
  268. data/lib/starter_web/assets/images/pages/log_expert/image_040.png +0 -0
  269. data/lib/starter_web/assets/images/pages/log_expert/image_041.png +0 -0
  270. data/lib/starter_web/assets/images/pages/log_expert/image_042.png +0 -0
  271. data/lib/starter_web/assets/images/pages/log_expert/image_043.png +0 -0
  272. data/lib/starter_web/assets/images/pages/log_expert/image_044.png +0 -0
  273. data/lib/starter_web/assets/images/pages/log_expert/image_045.png +0 -0
  274. data/lib/starter_web/assets/images/pages/log_expert/image_046.png +0 -0
  275. data/lib/starter_web/assets/images/pages/log_expert/image_047.png +0 -0
  276. data/lib/starter_web/assets/images/pages/log_expert/image_048.png +0 -0
  277. data/lib/starter_web/assets/images/pages/log_expert/image_049.png +0 -0
  278. data/lib/starter_web/assets/images/pages/log_expert/image_050.png +0 -0
  279. data/lib/starter_web/assets/images/pages/log_expert/image_051.png +0 -0
  280. data/lib/starter_web/assets/images/pages/log_expert/image_052.png +0 -0
  281. data/lib/starter_web/assets/images/pages/log_expert/image_053.png +0 -0
  282. data/lib/starter_web/assets/images/pages/log_expert/image_054.png +0 -0
  283. data/lib/starter_web/assets/images/pages/log_expert/image_055.png +0 -0
  284. data/lib/starter_web/assets/images/pages/log_expert/image_056.png +0 -0
  285. data/lib/starter_web/assets/images/pages/log_expert/image_057.png +0 -0
  286. data/lib/starter_web/assets/images/pages/material/apple-touch-icon.png +0 -0
  287. data/lib/starter_web/assets/images/pages/pen/jquery/jQuery-logo.png +0 -0
  288. data/lib/starter_web/assets/images/pages/pen/jquery/jquery-banner-1280x600.jpg +0 -0
  289. data/lib/starter_web/assets/images/pages/pen/jquery/jquery-banner-1920x800.jpg +0 -0
  290. data/lib/starter_web/assets/images/pages/pen/jquery/src/JQuery-Logo.svg +0 -122
  291. data/lib/starter_web/assets/images/pages/pen/jquery/src/banner.psd +0 -0
  292. data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
  293. data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
  294. data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
  295. data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
  296. data/lib/starter_web/assets/images/pages/writers_guide/1280px-PDCA_Process.png +0 -0
  297. data/lib/starter_web/assets/images/pages/writers_guide/annie-spratt-1920x1280.jpg +0 -0
  298. data/lib/starter_web/assets/images/pages/writers_guide/deming-cycle.png +0 -0
  299. data/lib/starter_web/assets/images/pages/writers_guide/humble-lamb-1920x1280.jpg +0 -0
  300. data/lib/starter_web/assets/images/pages/writers_guide/john-schnobrich-1920x1280.jpg +0 -0
  301. data/lib/starter_web/assets/images/pages/writers_guide/sigmund-1920x1280.jpg +0 -0
  302. data/lib/starter_web/pages/protected/site_search.adoc +0 -180
  303. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.pdf +1 -5439
  304. data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +0 -93
  305. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +0 -55
  306. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +0 -53
  307. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +0 -50
@@ -6,7 +6,7 @@ regenerate: true
6
6
 
7
7
  {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/justified_gallery.js
9
+ # ~/assets/themes/j1/adapter/js/justifiedGallery.js
10
10
  # Liquid template to create the J1 Adapter for Justified Gallery
11
11
  #
12
12
  # Product/Info:
@@ -37,8 +37,8 @@ regenerate: true
37
37
 
38
38
  {% comment %} Set config data
39
39
  -------------------------------------------------------------------------------- {% endcomment %}
40
- {% assign jf_gallery_defaults = apps.defaults.justified_gallery.defaults %}
41
- {% assign jf_gallery_settings = apps.justified_gallery.settings %}
40
+ {% assign jf_gallery_defaults = apps.defaults.justifiedGallery.defaults %}
41
+ {% assign jf_gallery_settings = apps.justifiedGallery.settings %}
42
42
 
43
43
  {% comment %} Set config options
44
44
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -51,7 +51,7 @@ regenerate: true
51
51
 
52
52
  /*
53
53
  # -----------------------------------------------------------------------------
54
- # ~/assets/themes/j1/adapter/js/justified_gallery.js
54
+ # ~/assets/themes/j1/adapter/js/justifiedGallery.js
55
55
  # JS Adapter for JustifiedGallery
56
56
  #
57
57
  # Product/Info:
@@ -79,7 +79,7 @@ regenerate: true
79
79
 
80
80
  {% comment %} Main
81
81
  -------------------------------------------------------------------------------- {% endcomment %}
82
- j1.adapter['jf_gallery'] = (function (j1, window) {
82
+ j1.adapter['justifiedGallery'] = (function (j1, window) {
83
83
 
84
84
  {% comment %} Global variables
85
85
  ------------------------------------------------------------------------------ {% endcomment %}
@@ -105,8 +105,8 @@ j1.adapter['jf_gallery'] = (function (j1, window) {
105
105
 
106
106
  {% comment %} Set global variables
107
107
  -------------------------------------------------------------------------- {% endcomment %}
108
- _this = j1.adapter.jf_gallery;
109
- logger = log4javascript.getLogger('j1.adapter.jf_gallery');
108
+ _this = j1.adapter.justifiedGallery;
109
+ logger = log4javascript.getLogger('j1.adapter.justifiedGallery');
110
110
 
111
111
  // initialize state flag
112
112
  _this.setState('started');
@@ -117,7 +117,7 @@ j1.adapter['jf_gallery'] = (function (j1, window) {
117
117
  // Default module settings
118
118
  // -----------------------------------------------------------------------
119
119
  var settings = $.extend({
120
- module_name: 'j1.adapter.jf_gallery',
120
+ module_name: 'j1.adapter.justifiedGallery',
121
121
  generated: '{{site.time}}'
122
122
  }, options);
123
123
 
@@ -144,7 +144,7 @@ j1.adapter['jf_gallery'] = (function (j1, window) {
144
144
  // Load AJAX data and initialize the jg gallery
145
145
  // -----------------------------------------------------------------------
146
146
  initialize: function (options) {
147
- logger = log4javascript.getLogger('j1.adapter.jf_gallery.init');
147
+ logger = log4javascript.getLogger('j1.adapter.justifiedGallery');
148
148
 
149
149
  _this.setState('running');
150
150
  logger.info('state: ' + _this.getState());
@@ -6,7 +6,7 @@ regenerate: true
6
6
 
7
7
  {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/gallery_customizer.js
9
+ # ~/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js
10
10
  # Liquid template to adapt Gallery Customizer JS functions
11
11
  #
12
12
  # Product/Info:
@@ -55,10 +55,10 @@ regenerate: true
55
55
 
56
56
  {% comment %} Set config data
57
57
  -------------------------------------------------------------------------------- {% endcomment %}
58
- {% assign jf_gallery_defaults = apps.defaults.justified_gallery.defaults %}
59
- {% assign jf_gallery_settings = apps.justified_gallery.settings %}
60
- {% assign gallery_customizer_defaults = site.data.apps.defaults.gallery_customizer.defaults %}
61
- {% assign gallery_customizer_settings = site.data.apps.gallery_customizer.settings %}
58
+ {% assign jf_gallery_defaults = apps.defaults.justifiedGallery.defaults %}
59
+ {% assign jf_gallery_settings = apps.justifiedGallery.settings %}
60
+ {% assign gallery_customizer_defaults = site.data.apps.defaults.justifiedGalleryCustomizer.defaults %}
61
+ {% assign gallery_customizer_settings = site.data.apps.justifiedGalleryCustomizer.settings %}
62
62
 
63
63
  {% comment %} Set config options
64
64
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -77,7 +77,7 @@ regenerate: true
77
77
 
78
78
  /*
79
79
  # -----------------------------------------------------------------------------
80
- # ~/assets/themes/j1/adapter/js/gallery_customizer.js
80
+ # ~/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js
81
81
  # J1 Adapter for Gallery Customizer
82
82
  #
83
83
  # Product/Info:
@@ -101,7 +101,7 @@ regenerate: true
101
101
 
102
102
  {% comment %} Main
103
103
  -------------------------------------------------------------------------------- {% endcomment %}
104
- j1.adapter['gallery_customizer'] = (function (j1, window) {
104
+ j1.adapter['justifiedGalleryCustomizer'] = (function (j1, window) {
105
105
 
106
106
  {% comment %} Set global variables
107
107
  ------------------------------------------------------------------------------ {% endcomment %}
@@ -125,8 +125,8 @@ j1.adapter['gallery_customizer'] = (function (j1, window) {
125
125
  // -----------------------------------------------------------------------
126
126
  // globals
127
127
  // -----------------------------------------------------------------------
128
- _this = j1.adapter.gallery_customizer;
129
- logger = log4javascript.getLogger('j1.adapter.gallery_customizer');
128
+ _this = j1.adapter.justifiedGalleryCustomizer;
129
+ logger = log4javascript.getLogger('j1.adapter.justifiedGalleryCustomizer');
130
130
 
131
131
  // initialize state flag
132
132
  _this.setState('started');
@@ -137,7 +137,7 @@ j1.adapter['gallery_customizer'] = (function (j1, window) {
137
137
  // Default module settings
138
138
  // -----------------------------------------------------------------------
139
139
  var settings = $.extend({
140
- module_name: 'j1.adapter.gallery_customizer',
140
+ module_name: 'j1.adapter.justifiedGalleryCustomizer',
141
141
  generated: '{{site.time}}'
142
142
  }, options);
143
143
 
@@ -174,7 +174,7 @@ j1.adapter['gallery_customizer'] = (function (j1, window) {
174
174
 
175
175
  // -------------------------------------------------------------------
176
176
  // load gallery data
177
- j1.adapter.jf_gallery.initialize(galleryOptions);
177
+ j1.adapter.justifiedGallery.initialize(galleryOptions);
178
178
 
179
179
  logger.info('initialize customizer ui|forms');
180
180
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- regenerate: false
2
+ regenerate: true
3
3
  ---
4
4
 
5
5
  {% capture cache %}
@@ -36,17 +36,21 @@ regenerate: false
36
36
 
37
37
  {% comment %} Set config files
38
38
  -------------------------------------------------------------------------------- {% endcomment %}
39
- {% assign template_config = site.data.j1_config %}
40
- {% assign modules = site.data.modules %}
39
+ {% assign template_config = site.data.j1_config %}
40
+ {% assign modules = site.data.modules %}
41
+ {% assign utilities = site.data.utilities %}
41
42
 
42
43
  {% comment %} Set config data
43
44
  -------------------------------------------------------------------------------- {% endcomment %}
44
- {% assign logger_defaults = modules.defaults.log4javascript.defaults %}
45
- {% assign logger_settings = modules.log4javascript.settings %}
45
+ {% assign util_server_defaults = utilities.defaults.util_srv.defaults %}
46
+ {% assign util_server_settings = utilities.util_srv.settings %}
47
+ {% assign logger_defaults = modules.defaults.log4javascript.defaults %}
48
+ {% assign logger_settings = modules.log4javascript.settings %}
46
49
 
47
50
  {% comment %} Set config options
48
51
  -------------------------------------------------------------------------------- {% endcomment %}
49
- {% assign logger_options = logger_defaults | merge: logger_settings %}
52
+ {% assign logger_options = logger_defaults | merge: logger_settings %}
53
+ {% assign util_server_options = util_server_defaults | merge: util_server_settings %}
50
54
 
51
55
  {% assign production = false %}
52
56
  {% if environment == 'prod' or environment == 'production' %}
@@ -83,16 +87,16 @@ j1.adapter['logger'] = (function (j1, window) {
83
87
  // globals
84
88
  // ---------------------------------------------------------------------------
85
89
  var environment = '{{environment}}';
86
- var page_id = j1.generateId(12);
90
+ var page_id = j1.generateId(11);
87
91
  var cookie_names = j1.getCookieNames();
88
92
  var loggerRequestCallback = false;
89
93
  var loggerOptions = {};
94
+ var utilServerOptions = {};
90
95
  var ajaxAppenderOptions = {};
91
96
  var user_session;
92
97
  var appDetected;
93
98
  var _this;
94
99
  var logger;
95
- var log2disk;
96
100
  var ajaxAppender;
97
101
  var consoleAppender;
98
102
  var jsonLayout;
@@ -107,7 +111,7 @@ j1.adapter['logger'] = (function (j1, window) {
107
111
 
108
112
  // ---------------------------------------------------------------------------
109
113
  // helper functions
110
- // ---------------------------------------------------------------------------
114
+ //
111
115
 
112
116
  // ---------------------------------------------------------------------------
113
117
  // getCustomData
@@ -162,7 +166,7 @@ j1.adapter['logger'] = (function (j1, window) {
162
166
 
163
167
  // ---------------------------------------------------------------------------
164
168
  // main object
165
- // ---------------------------------------------------------------------------
169
+ //
166
170
  return {
167
171
 
168
172
  // -------------------------------------------------------------------------
@@ -175,15 +179,15 @@ j1.adapter['logger'] = (function (j1, window) {
175
179
  // load module DEFAULTS|CONFIG to js object
176
180
  /* eslint-disable */
177
181
  loggerOptions = $.extend({}, {{logger_options | replace: '=>', ':' | replace: 'nil', '""'}});
182
+ utilServerOptions = $.extend({}, {{util_server_options | replace: '=>', ':' | replace: 'nil', '""'}});
178
183
  /* eslint-enable */
179
184
  ajaxAppenderOptions = loggerOptions.appenders[1].appender;
180
185
 
181
186
  // -----------------------------------------------------------------------
182
187
  // setup logger instances
183
- // -----------------------------------------------------------------------
188
+ //
184
189
  _this = j1.adapter.logger;
185
190
  logger = log4javascript.getLogger('j1.adapter.logger');
186
- log2disk = log4javascript.getLogger('j1.adapter.log2disk');
187
191
 
188
192
  // wait until user_session.mode is detected by j1.init()
189
193
  //
@@ -200,32 +204,37 @@ j1.adapter['logger'] = (function (j1, window) {
200
204
  } else {
201
205
  payloadURL = ajaxAppenderOptions.payload_url_web;
202
206
  }
207
+ payloadURL = 'http://localhost:' + utilServerOptions.port + '/log2disk?request=write';
203
208
 
204
209
  // -------------------------------------------------------------------
205
210
  // setup appenders
206
211
  // -------------------------------------------------------------------
207
212
 
208
213
  // consoleAppender (browser console)
214
+ //
209
215
  consoleAppender = new log4javascript.BrowserConsoleAppender();
210
216
  consoleAppender.setThreshold(log4javascript.Level.DEBUG);
211
217
 
212
218
  // ajaxAppender (XHR)
213
219
  // HTTP POST log data on the utility server (write log to disk)
220
+ //
214
221
  ajaxAppender = new log4javascript.AjaxAppender(payloadURL);
215
222
  ajaxAppender.setThreshold(log4javascript.Level.DEBUG);
216
223
  ajaxAppender.setWaitForResponse(true);
217
224
  ajaxAppender.setSendAllOnUnload(true);
218
225
  ajaxAppender.addHeader('X-Page-ID', page_id);
226
+ ajaxAppender.addHeader('X-TZ-Offset', loggerOptions.tz_offset);
219
227
 
220
228
  // success callback for testing (disabled for default)
229
+ //
221
230
  if (loggerRequestCallback) {
222
231
  ajaxAppender.setRequestSuccessCallback(requestCallback);
223
232
  }
224
233
 
225
- // -------------------------------------------------------------------
234
+ // -----------------------------------------------------------------------
226
235
  // setup layouts
227
- // -------------------------------------------------------------------
228
- patternLayout = new log4javascript.PatternLayout('[%d{HH:mm:ss.SSS}] [%f{4}] [%-5p] [%-40c] [%f{1}:%f{2}] %m%n[%f{3}]');
236
+ //
237
+ patternLayout = new log4javascript.PatternLayout('[%d{HH:mm:ss.SSS}] [%f{4}] [%-5p] [%-60c] [%f{1}:%f{2}] %m%n[%f{3}]');
229
238
  httpPostDataLayout = new log4javascript.HttpPostDataLayout();
230
239
  xmlLayout = new log4javascript.XmlLayout();
231
240
  jsonLayout = new log4javascript.JsonLayout();
@@ -233,6 +242,7 @@ j1.adapter['logger'] = (function (j1, window) {
233
242
  simpleLayout = new log4javascript.SimpleLayout();
234
243
 
235
244
  // Use the method getLineNumber() as the value for the 0th custom field
245
+ //
236
246
  patternLayout.setCustomField('file', getCustomData);
237
247
  patternLayout.setCustomField('line', getCustomData);
238
248
  patternLayout.setCustomField('path', getCustomData);
@@ -242,9 +252,9 @@ j1.adapter['logger'] = (function (j1, window) {
242
252
  consoleAppender.setLayout(patternLayout);
243
253
  ajaxAppender.setLayout(httpPostDataLayout);
244
254
 
245
- // -------------------------------------------------------------------
255
+ // -----------------------------------------------------------------------
246
256
  // setup log levels
247
- // -------------------------------------------------------------------
257
+ //
248
258
  if (environment == 'production') {
249
259
  log4javascript.getLogger('j1').setLevel(log4javascript.Level.WARN);
250
260
  }
@@ -255,16 +265,19 @@ j1.adapter['logger'] = (function (j1, window) {
255
265
  log4javascript.getLogger('j1').setLevel(log4javascript.Level.WARN);
256
266
  }
257
267
 
258
- // -------------------------------------------------------------------
268
+ // -----------------------------------------------------------------------
259
269
  // setup (root) loggers
260
- // -------------------------------------------------------------------
270
+ //
261
271
  log4javascript.getRootLogger().addAppender(consoleAppender);
262
272
 
273
+ // to use the ajaxAppender (write logs to disk), the utility server
274
+ // needs to be enabled (util_srv.yml) as well
275
+ //
263
276
  if (ajaxAppenderOptions.enabled) {
264
277
  log4javascript.getRootLogger().addAppender(ajaxAppender);
265
- logger.info('ajax appender detected as: enabled');
278
+ logger.info('ajax appender/util server detected as: enabled');
266
279
  } else {
267
- logger.info('ajax appender detected as: disabled');
280
+ logger.info('ajax appender/util server detected as: disabled');
268
281
  }
269
282
 
270
283
  _this.setState('finished');
@@ -274,7 +287,6 @@ j1.adapter['logger'] = (function (j1, window) {
274
287
  return true;
275
288
  }
276
289
  }, 25); // END 'mode detected'
277
-
278
290
  }, // END init
279
291
 
280
292
  // -------------------------------------------------------------------------
@@ -289,7 +301,7 @@ j1.adapter['logger'] = (function (j1, window) {
289
301
 
290
302
  // -----------------------------------------------------------------------
291
303
  // process commands|actions
292
- // -----------------------------------------------------------------------
304
+ //
293
305
  if (message.type === 'command' && message.action === 'module_initialized') {
294
306
  //
295
307
  // place handling of command|action here
@@ -863,11 +863,6 @@ j1.adapter['navigator'] = (function (j1, window) {
863
863
  }; // END return
864
864
  })(j1, window);
865
865
 
866
- {% comment %} process adapter COMPRESSED for production DISABLED
867
- NOTE: for unknown reason, minifyJS detect JS/ES6 code
868
- SyntaxError: Unexpected token: punc ())
869
- --------------------------------------------------------------------------------
870
- {% assign production = true %}
871
866
  {% endcapture %}
872
867
  {% if production %}
873
868
  {{ cache | minifyJS }}
@@ -875,10 +870,3 @@ NOTE: for unknown reason, minifyJS detect JS/ES6 code
875
870
  {{ cache | strip_empty_lines }}
876
871
  {% endif %}
877
872
  {% assign cache = nil %}
878
- -------------------------------------------------------------------------------- {% endcomment %}
879
-
880
- {% comment %} process adapter UNCOMPRESSED
881
- -------------------------------------------------------------------------------- {% endcomment %}
882
- {% endcapture %}
883
- {{ cache | strip_empty_lines }}
884
- {% assign cache = nil %}
@@ -476,7 +476,7 @@ div.admonitionblock.warning, div.admonitionblock.caution {
476
476
 
477
477
  .admonitionblock td.icon .icon-answer:before {
478
478
  content: "\f0a4";
479
- color: #2196f3; }
479
+ color: #4caf50; }
480
480
 
481
481
  .exampleblock {
482
482
  margin-bottom: 1.25rem;
@@ -553,7 +553,7 @@ span.footnoteref a:active {
553
553
  .mono {
554
554
  font-family: "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; }
555
555
 
556
- div.unbreakable {
556
+ .unbreakable {
557
557
  page-break-inside: avoid; }
558
558
 
559
559
  .big {
@@ -562,6 +562,12 @@ div.unbreakable {
562
562
  .small {
563
563
  font-size: smaller; }
564
564
 
565
+ .bold {
566
+ font-weight: bold; }
567
+
568
+ .italic {
569
+ font-style: italic; }
570
+
565
571
  .underline {
566
572
  text-decoration: underline; }
567
573
 
@@ -601,6 +607,12 @@ div.unbreakable {
601
607
  .gray-background {
602
608
  background-color: #7d7d7d; }
603
609
 
610
+ .grey {
611
+ color: #606060; }
612
+
613
+ .grey-background {
614
+ background-color: #7d7d7d; }
615
+
604
616
  .green {
605
617
  color: #006000; }
606
618
 
@@ -1 +1 @@
1
- .note{padding:0!important;border-left:0!important;border-radius:2px!important}code{word-break:break-word;padding:.125em .275em!important;border-radius:2px;background-color:#e0e0e0!important}.h2,h2{font-size:200%!important}.h2,.h3,h2,h3{font-weight:500}.h3,h3{font-size:175%!important}.h4,.h5,h4,h5{font-size:150%!important;font-weight:400}div .paragraph p span.scaled img{width:auto;height:auto;max-height:100%;max-width:100%}#preamble div.sectionbody div.paragraph.turnoff{display:none}div.paragraph #preamble div.sectionbody div.paragraph.turnoff{display:block}b,optgroup,strong{font-weight:600}address,cite,dfn,em,var{font-style:italic;font-weight:400}table{border-collapse:collapse;border-spacing:0;font-size:85%;background:#fff;margin-bottom:1.25em;border:1px solid #9e9e9e;width:-webkit-fill-available}table tfoot,table thead{background:#eee;font-weight:700}table tfoot tr td,table tfoot tr th,table thead tr td,table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8)!important;text-align:left}table tr td,table tr th{padding:.5rem 1rem;font-size:inherit;color:rgba(0,0,0,.8)!important;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}table tr.alt,table tr.even,table tr:nth-of-type(2n){background:#f5f5f5}table tbody tr td,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.6}table.full-width{width:100%}table.tableblock{max-width:100%;border-collapse:separate}table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock td>p:last-child,table.tableblock th>p:last-child{margin-bottom:0}table.spread{width:100%}table.grid-all td.tableblock,table.grid-all th.tableblock{border-width:0 1px 1px 0}table.grid-all tfoot>tr>td.tableblock,table.grid-all tfoot>tr>th.tableblock{border-width:1px 1px 0 0}table.grid-cols td.tableblock,table.grid-cols th.tableblock{border-width:0 1px 0 0}table.grid-rows td.tableblock,table.grid-rows th.tableblock{border-width:0 0 1px}table.grid-all tbody>td:last-child>th.tableblock{border-bottom-width:1px}table.grid-rows tfoot>tr>td.tableblock,table.grid-rows tfoot>tr>th.tableblock{border-width:1px 0 0}table.frame-all{border-width:1px}table.frame-sides{border-width:0 1px}table.frame-topbot{border-width:1px 0}td.halign-left,th.halign-left{text-align:left}td.halign-right,th.halign-right{text-align:right}td.halign-center,th.halign-center{text-align:center}td.valign-top,th.valign-top{vertical-align:top}td.valign-bottom,th.valign-bottom{vertical-align:bottom}td.valign-middle,th.valign-middle{vertical-align:middle}table tfoot th,table thead th{font-weight:700}tbody tr th{display:table-cell;line-height:1.6;background:#f5f5f5}tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}p.tableblock>code:only-child{background:none;padding:0}p.tableblock{font-size:1em;margin-top:1.5em}.quoteblock{margin-right:1em;margin-bottom:1.25em;margin-left:1.5em;display:table}.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.8);line-height:1.3;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.quoteblock blockquote{margin:0;padding:0;border:0}.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.1em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#0d47a1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}.quoteblock .quoteblock blockquote:before{display:none}.imageblock img{max-width:100%;height:auto}span.icon>.fa{cursor:default}.audioblock>.title,.dlist>.title,.exampleblock>.title,.hdlist>.title,.literalblock>.title,.olist>.title,.openblock>.title,.paragraph>.title,.qlist>.title,.quoteblock>.title,.stemblock>.title,.ulist>.title,.verseblock>.title,.videoblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-top:.5em;margin-bottom:.75em}.admonitionblock td.content>.title{margin-bottom:.5em}.admonitionblock td.content>.title,table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500}table.tableblock>.title{margin:0!important;border-top:1px solid #9e9e9e}.imageblock>.title,.listingblock>.title{color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.listingblock pre{display:block;line-height:1.25rem!important;word-break:break-all;word-wrap:break-word;padding:.75rem;margin:0 0 1.5rem;border:1px solid #bdbdbd}.admonitionblock>table td.icon{text-align:center;width:130px;border-right:0!important;border-bottom:0}.admonitionblock>table td.icon img{max-width:none}.admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.125em;border-right:1px;border-left:1px dotted #9e9e9e;font-size:inherit;color:rgba(0,0,0,.8);text-align:justify;border-bottom:0;min-width:20em}.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.icon-note{color:#2196f3}.icon-tip{color:#4caf50}.icon-important{color:#ff9800}.icon-warning{color:#fdd835}.icon-caution{color:#f44336}.admonitionblock td.icon [class^="fa icon-"]{font-size:5rem;cursor:default}.admonitionblock td.icon .icon-note:before{content:"\f05a"}.admonitionblock td.icon .icon-tip:before{content:"\f0eb"}.admonitionblock td.icon .icon-important:before{content:"\f06a"}.admonitionblock td.icon .icon-warning:before{content:"\f071"}.admonitionblock td.icon .icon-caution:before{content:"\f06d"}.admonitionblock td.icon .icon-question:before{content:"\f128";color:#ffc107}.admonitionblock td.icon .icon-answer:before{content:"\f0a4";color:#2196f3}.exampleblock{margin-bottom:1.25rem;border-radius:2px;color:rgba(0,0,0,.8);background:#fafafa}.exampleblock>.content>:first-child{margin-top:0}.exampleblock>.content>:last-child{margin-bottom:0;margin-bottom:1.25em}.exampleblock.result{display:none}a.view-result{float:right;font-weight:400;text-decoration:none;font-size:85%;line-height:.9}span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}span.footnote a,span.footnoteref a{text-decoration:none}span.footnote a:active,span.footnoteref a:active{text-decoration:underline}#footnotes{padding:.75em 0;margin-top:-.625em}#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}#footnotes .footnote{line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em;padding:0 .375em}#footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none}#footnotes .footnote:last-of-type{margin-bottom:0}.gist .file-data>table{border:0;background:#000;width:100%;margin-bottom:0}.gist .file-data>table td.line-data{width:99%}.mono{font-family:Droid Sans Mono,DejaVu Sans Mono,"Monospace",monospace}div.unbreakable{page-break-inside:avoid}.big{font-size:larger}.small{font-size:smaller}.underline{text-decoration:underline}.overline{text-decoration:overline}.line-through{text-decoration:line-through}.aqua{color:#00bfbf}.aqua-background{background-color:#00fafa}.black{color:#000}.black-background{background-color:#000}.blue{color:#0000bf}.blue-background{background-color:#0000fa}.fuchsia{color:#bf00bf}.fuchsia-background{background-color:#fa00fa}.gray{color:#606060}.gray-background{background-color:#7d7d7d}.green{color:#006000}.green-background{background-color:#007d00}.lime{color:#00bf00}.lime-background{background-color:#00fa00}.maroon{color:#600000}.maroon-background{background-color:#7d0000}.navy{color:#000060}.navy-background{background-color:#00007d}.olive{color:#606000}.olive-background{background-color:#7d7d00}.purple{color:#600060}.purple-background{background-color:#7d007d}.red{color:#bf0000}.red-background{background-color:#fa0000}.silver{color:#909090}.silver-background{background-color:#bcbcbc}.teal{color:#006060}.teal-background{background-color:#007d7d}.white{color:#bfbfbf}.white-background{background-color:#fafafa}.yellow{color:#bfbf00}.yellow-background{background-color:#fafa00}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;margin-right:.25rem}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}.colist>table,.hdlist>table{border-collapse:separate;border:0;background:none}.colist>table tr td,.colist>table tr th{border-right:0;border-bottom:0}.colist>table>tbody>tr,.hdlist>table>tbody>tr{background:none}td.hdlist1{padding-right:.75em;font-weight:700}td.hdlist1,td.hdlist2{vertical-align:top}.listingblock+.colist,.literalblock+.colist{margin-top:-.5em}.colist>table tr>td:first-of-type{padding:0 .5rem;line-height:1}.colist>table tr>td:last-of-type{padding:.25rem 0}.conum[data-value]{display:inline-block;background-color:#2196f3;-webkit-border-radius:100px;border-radius:100px;text-align:center;width:1.67em;height:1.67em;font-size:85%;line-height:1.67em;font-family:Roboto,sans-serif;font-style:normal;font-weight:600}.conum[data-value],.conum[data-value] *{color:#fafafa!important}.conum[data-value]+b{display:none}.conum[data-value]:after{content:attr(data-value)}pre .conum[data-value]{position:relative;top:-.125em}b.conum *{color:inherit!important}.conum:not([data-value]):empty{display:none}kbd{font-family:monospace,serif;font-size:1em}.keyseq{color:rgba(51,51,51,.8)}kbd:not(.keyseq){display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;background-color:#e0e0e0;border:1px solid #bdbdbd;-webkit-border-radius:3px;border-radius:3px;margin:-.15em .15em 0;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}.keyseq kbd:first-child{margin-left:0}.keyseq kbd:last-child{margin-right:0}.qanda>ol>li>p>em:only-child{color:#455a64}.olist>ol>li>p,.ulist>ul>li>p{margin:0 0 .1em!important}ul.circle li ul,ul.disc li ul,ul.square li ul{list-style:inherit}ul.square{list-style-type:square}ul.circle{list-style-type:circle}ul.disc{list-style-type:disc}.fa.fa-square-o{font-weight:400!important}.fa-square-o:before{content:"\f0c8"}.fa.fa-check-square-o{font-weight:400!important}.fa-check-square-o:before{content:"\f14a"}.ulist.checklist>ul>li>p>input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0;position:relative;z-index:1;display:inline-block;width:1.125rem;height:1.125rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}@media only screen and (max-width:576px){.admonitionblock>table td.content{border-left:0}}@media only screen and (max-width:768px) and (max-width:992px){.admonitionblock>table td.content{border-left:0}.admonitionblock table,.admonitionblock tbody,.admonitionblock td,.admonitionblock tr{display:block}.admonitionblock>table td.icon{width:unset}.admonitionblock td.icon{padding-left:unset!important}.admonitionblock td{border:none;border-top:1px dotted #bdbdbd;position:relative;white-space:normal}.admonitionblock td:before{position:absolute;top:6px;left:6px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700}}.tooltip-inner{background-color:#607d8b;border-radius:.125rem}.tooltip.in{opacity:1}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{border-top-color:#263238}.btn-viewer{position:absolute;top:2.6rem;right:.5rem;z-index:3;display:block;padding:.25rem .75rem;font-size:.75rem;font-style:normal;font-weight:300;color:#212121;cursor:pointer;text-transform:uppercase;background-color:transparent;border-radius:.25rem}.btn-viewer:hover{color:#fff;background-color:#607d8b}.btn-viewer+.tooltip>.tooltip-inner{background-color:red}.j1-viewer{position:relative;display:block;float:right}.j1-tooltip+.tooltip>.tooltip-arrow,.j1-tooltip+.tooltip>.tooltip-inner{background-color:red}@media screen and (min-width:320px) and (max-width:767px){.j1-viewer{display:none}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff) format("woff");font-weight:700}
1
+ .note{padding:0!important;border-left:0!important;border-radius:2px!important}code{word-break:break-word;padding:.125em .275em!important;border-radius:2px;background-color:#e0e0e0!important}.h2,h2{font-size:200%!important}.h2,.h3,h2,h3{font-weight:500}.h3,h3{font-size:175%!important}.h4,.h5,h4,h5{font-size:150%!important;font-weight:400}div .paragraph p span.scaled img{width:auto;height:auto;max-height:100%;max-width:100%}#preamble div.sectionbody div.paragraph.turnoff{display:none}div.paragraph #preamble div.sectionbody div.paragraph.turnoff{display:block}b,optgroup,strong{font-weight:600}address,cite,dfn,em,var{font-style:italic;font-weight:400}table{border-collapse:collapse;border-spacing:0;font-size:85%;background:#fff;margin-bottom:1.25em;border:1px solid #9e9e9e;width:-webkit-fill-available}table tfoot,table thead{background:#eee;font-weight:700}table tfoot tr td,table tfoot tr th,table thead tr td,table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8)!important;text-align:left}table tr td,table tr th{padding:.5rem 1rem;font-size:inherit;color:rgba(0,0,0,.8)!important;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}table tr.alt,table tr.even,table tr:nth-of-type(2n){background:#f5f5f5}table tbody tr td,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.6}table.full-width{width:100%}table.tableblock{max-width:100%;border-collapse:separate}table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock td>p:last-child,table.tableblock th>p:last-child{margin-bottom:0}table.spread{width:100%}table.grid-all td.tableblock,table.grid-all th.tableblock{border-width:0 1px 1px 0}table.grid-all tfoot>tr>td.tableblock,table.grid-all tfoot>tr>th.tableblock{border-width:1px 1px 0 0}table.grid-cols td.tableblock,table.grid-cols th.tableblock{border-width:0 1px 0 0}table.grid-rows td.tableblock,table.grid-rows th.tableblock{border-width:0 0 1px}table.grid-all tbody>td:last-child>th.tableblock{border-bottom-width:1px}table.grid-rows tfoot>tr>td.tableblock,table.grid-rows tfoot>tr>th.tableblock{border-width:1px 0 0}table.frame-all{border-width:1px}table.frame-sides{border-width:0 1px}table.frame-topbot{border-width:1px 0}td.halign-left,th.halign-left{text-align:left}td.halign-right,th.halign-right{text-align:right}td.halign-center,th.halign-center{text-align:center}td.valign-top,th.valign-top{vertical-align:top}td.valign-bottom,th.valign-bottom{vertical-align:bottom}td.valign-middle,th.valign-middle{vertical-align:middle}table tfoot th,table thead th{font-weight:700}tbody tr th{display:table-cell;line-height:1.6;background:#f5f5f5}tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}p.tableblock>code:only-child{background:none;padding:0}p.tableblock{font-size:1em;margin-top:1.5em}.quoteblock{margin-right:1em;margin-bottom:1.25em;margin-left:1.5em;display:table}.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.8);line-height:1.3;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.quoteblock blockquote{margin:0;padding:0;border:0}.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.1em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#0d47a1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}.quoteblock .quoteblock blockquote:before{display:none}.imageblock img{max-width:100%;height:auto}span.icon>.fa{cursor:default}.audioblock>.title,.dlist>.title,.exampleblock>.title,.hdlist>.title,.literalblock>.title,.olist>.title,.openblock>.title,.paragraph>.title,.qlist>.title,.quoteblock>.title,.stemblock>.title,.ulist>.title,.verseblock>.title,.videoblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-top:.5em;margin-bottom:.75em}.admonitionblock td.content>.title{margin-bottom:.5em}.admonitionblock td.content>.title,table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500}table.tableblock>.title{margin:0!important;border-top:1px solid #9e9e9e}.imageblock>.title,.listingblock>.title{color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.listingblock pre{display:block;line-height:1.25rem!important;word-break:break-all;word-wrap:break-word;padding:.75rem;margin:0 0 1.5rem;border:1px solid #bdbdbd}.admonitionblock>table td.icon{text-align:center;width:130px;border-right:0!important;border-bottom:0}.admonitionblock>table td.icon img{max-width:none}.admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.125em;border-right:1px;border-left:1px dotted #9e9e9e;font-size:inherit;color:rgba(0,0,0,.8);text-align:justify;border-bottom:0;min-width:20em}.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.icon-note{color:#2196f3}.icon-tip{color:#4caf50}.icon-important{color:#ff9800}.icon-warning{color:#fdd835}.icon-caution{color:#f44336}.admonitionblock td.icon [class^="fa icon-"]{font-size:5rem;cursor:default}.admonitionblock td.icon .icon-note:before{content:"\f05a"}.admonitionblock td.icon .icon-tip:before{content:"\f0eb"}.admonitionblock td.icon .icon-important:before{content:"\f06a"}.admonitionblock td.icon .icon-warning:before{content:"\f071"}.admonitionblock td.icon .icon-caution:before{content:"\f06d"}.admonitionblock td.icon .icon-question:before{content:"\f128";color:#ffc107}.admonitionblock td.icon .icon-answer:before{content:"\f0a4";color:#4caf50}.exampleblock{margin-bottom:1.25rem;border-radius:2px;color:rgba(0,0,0,.8);background:#fafafa}.exampleblock>.content>:first-child{margin-top:0}.exampleblock>.content>:last-child{margin-bottom:0;margin-bottom:1.25em}.exampleblock.result{display:none}a.view-result{float:right;font-weight:400;text-decoration:none;font-size:85%;line-height:.9}span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}span.footnote a,span.footnoteref a{text-decoration:none}span.footnote a:active,span.footnoteref a:active{text-decoration:underline}#footnotes{padding:.75em 0;margin-top:-.625em}#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}#footnotes .footnote{line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em;padding:0 .375em}#footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none}#footnotes .footnote:last-of-type{margin-bottom:0}.gist .file-data>table{border:0;background:#000;width:100%;margin-bottom:0}.gist .file-data>table td.line-data{width:99%}.mono{font-family:Droid Sans Mono,DejaVu Sans Mono,"Monospace",monospace}.unbreakable{page-break-inside:avoid}.big{font-size:larger}.small{font-size:smaller}.bold{font-weight:700}.italic{font-style:italic}.underline{text-decoration:underline}.overline{text-decoration:overline}.line-through{text-decoration:line-through}.aqua{color:#00bfbf}.aqua-background{background-color:#00fafa}.black{color:#000}.black-background{background-color:#000}.blue{color:#0000bf}.blue-background{background-color:#0000fa}.fuchsia{color:#bf00bf}.fuchsia-background{background-color:#fa00fa}.gray{color:#606060}.gray-background{background-color:#7d7d7d}.grey{color:#606060}.grey-background{background-color:#7d7d7d}.green{color:#006000}.green-background{background-color:#007d00}.lime{color:#00bf00}.lime-background{background-color:#00fa00}.maroon{color:#600000}.maroon-background{background-color:#7d0000}.navy{color:#000060}.navy-background{background-color:#00007d}.olive{color:#606000}.olive-background{background-color:#7d7d00}.purple{color:#600060}.purple-background{background-color:#7d007d}.red{color:#bf0000}.red-background{background-color:#fa0000}.silver{color:#909090}.silver-background{background-color:#bcbcbc}.teal{color:#006060}.teal-background{background-color:#007d7d}.white{color:#bfbfbf}.white-background{background-color:#fafafa}.yellow{color:#bfbf00}.yellow-background{background-color:#fafa00}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;margin-right:.25rem}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}.colist>table,.hdlist>table{border-collapse:separate;border:0;background:none}.colist>table tr td,.colist>table tr th{border-right:0;border-bottom:0}.colist>table>tbody>tr,.hdlist>table>tbody>tr{background:none}td.hdlist1{padding-right:.75em;font-weight:700}td.hdlist1,td.hdlist2{vertical-align:top}.listingblock+.colist,.literalblock+.colist{margin-top:-.5em}.colist>table tr>td:first-of-type{padding:0 .5rem;line-height:1}.colist>table tr>td:last-of-type{padding:.25rem 0}.conum[data-value]{display:inline-block;background-color:#2196f3;-webkit-border-radius:100px;border-radius:100px;text-align:center;width:1.67em;height:1.67em;font-size:85%;line-height:1.67em;font-family:Roboto,sans-serif;font-style:normal;font-weight:600}.conum[data-value],.conum[data-value] *{color:#fafafa!important}.conum[data-value]+b{display:none}.conum[data-value]:after{content:attr(data-value)}pre .conum[data-value]{position:relative;top:-.125em}b.conum *{color:inherit!important}.conum:not([data-value]):empty{display:none}kbd{font-family:monospace,serif;font-size:1em}.keyseq{color:rgba(51,51,51,.8)}kbd:not(.keyseq){display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;background-color:#e0e0e0;border:1px solid #bdbdbd;-webkit-border-radius:3px;border-radius:3px;margin:-.15em .15em 0;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}.keyseq kbd:first-child{margin-left:0}.keyseq kbd:last-child{margin-right:0}.qanda>ol>li>p>em:only-child{color:#455a64}.olist>ol>li>p,.ulist>ul>li>p{margin:0 0 .1em!important}ul.circle li ul,ul.disc li ul,ul.square li ul{list-style:inherit}ul.square{list-style-type:square}ul.circle{list-style-type:circle}ul.disc{list-style-type:disc}.fa.fa-square-o{font-weight:400!important}.fa-square-o:before{content:"\f0c8"}.fa.fa-check-square-o{font-weight:400!important}.fa-check-square-o:before{content:"\f14a"}.ulist.checklist>ul>li>p>input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0;position:relative;z-index:1;display:inline-block;width:1.125rem;height:1.125rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}@media only screen and (max-width:576px){.admonitionblock>table td.content{border-left:0}}@media only screen and (max-width:768px) and (max-width:992px){.admonitionblock>table td.content{border-left:0}.admonitionblock table,.admonitionblock tbody,.admonitionblock td,.admonitionblock tr{display:block}.admonitionblock>table td.icon{width:unset}.admonitionblock td.icon{padding-left:unset!important}.admonitionblock td{border:none;border-top:1px dotted #bdbdbd;position:relative;white-space:normal}.admonitionblock td:before{position:absolute;top:6px;left:6px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700}}.tooltip-inner{background-color:#607d8b;border-radius:.125rem}.tooltip.in{opacity:1}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{border-top-color:#263238}.btn-viewer{position:absolute;top:2.6rem;right:.5rem;z-index:3;display:block;padding:.25rem .75rem;font-size:.75rem;font-style:normal;font-weight:300;color:#212121;cursor:pointer;text-transform:uppercase;background-color:transparent;border-radius:.25rem}.btn-viewer:hover{color:#fff;background-color:#607d8b}.btn-viewer+.tooltip>.tooltip-inner{background-color:red}.j1-viewer{position:relative;display:block;float:right}.j1-tooltip+.tooltip>.tooltip-arrow,.j1-tooltip+.tooltip>.tooltip-inner{background-color:red}@media screen and (min-width:320px) and (max-width:767px){.j1-viewer{display:none}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff) format("woff");font-weight:700}
@@ -1,4 +1,4 @@
1
- !function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/assets/themes/j1/core/js",t(t.s=0)}([function(e,n,t){window.j1.adapter=t(1),window.j1.core=t(2),window.j1.core.navigator=t(3),window.j1.core.cookiebar=t(4),window.j1.core.scrollSmooth=t(5),window.j1.anime=t(6);t(7),t(14)},function(e,n,t){"use strict";
1
+ !function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/assets/themes/j1/core/js",t(t.s=0)}([function(e,n,t){window.j1.adapter=t(1),window.j1.core=t(2),window.j1.core.navigator=t(3),window.j1.core.cookiebar=t(4),window.j1.core.asciidoctor=t(5),window.j1.core.scrollSmooth=t(6),window.j1.anime=t(7);t(8),t(15)},function(e,n,t){"use strict";
2
2
  /*!
3
3
  * J1 Adapter
4
4
  * Copyright (C) 2021 Juergen Adams
@@ -14,5 +14,11 @@
14
14
  * Copyright (C) 2021 Juergen Adams
15
15
  * Licensed under MIT License.
16
16
  */
17
- e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.cookiebar"),o=j1.getCookieNames().user_state,r={},a={renewOnVisit:!1,forceShow:!1,domain:String(window.location.hostname),referrer:String(document.referrer)},i=(e=$.extend(a,n),setInterval((function(e){"finished"==j1.getState()&&(user_state_detected=j1.existsCookie(o),user_state_detected?(t.info("User state cookie found"),r=j1.readCookie(o)):t.error("User state NOT cookie found"),"accepted"==r.cookies_accepted&&$("#quickLinksCookieButton").css("display","block"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted||$("#quickLinksCookieButton").css("display","none"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted&&""!=r.cookies_accepted||$("#topFullCookieConsent").modal("show"),clearInterval(i))})))},eventHandler:function(e){var n,t=log4javascript.getLogger("cookiebar.eventHandler"),o=window.location.pathname,r=document.querySelectorAll("a.btn"),a=(j1.appDetected(),e.deleteOnDecline,e.whitelistedPages),i=(a=[],e.stopScrolling),s=j1.getCookieNames(),l=s.user_state,c={},u=j1.readCookie(l);return logText="register button click events",t.debug(logText),r.forEach((function(e,r){e.addEventListener("click",(function(e){return"policyButton"===this.id?(t.debug("user clicked policyButton"),$("#cookiePolicyInfo").toggle("fast",(function(){$("#modal-footer").toggleClass("modal-footer-hidden modal-footer-show")})),!1):"acceptButton"===this.id?(t.debug("user clicked acceptButton"),(u=j1.readCookie(l)).cookies_accepted="accepted",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","block"),!1):"declineButton"===this.id?(t.debug("user clicked declineButton"),u.cookies_accepted="declined",o=window.location.pathname,n=a.indexOf(o)>-1,t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),t.warn("delete all cookies"),j1.deleteCookie(l),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome(),!1):("revokeCookies"===this.id&&(t.debug("user clicked revokeCookiesButton"),o=window.location.pathname,n=a.indexOf(o)>-1,(u=j1.readCookie(l)).cookies_accepted="declined",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome()),"remainCookies"===this.id?(t.debug("user clicked remainCookiesButton"),!1):void 0)}))})),$(document).on("shown.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user opened modal: cookieRevokeCentralDanger")})),$(document).on("hide.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user closed cookieRevokeCentralDanger")})),$(document).on("shown.bs.modal","#topFullCookieConsent",(function(){i&&$("body").addClass("stop-scrolling")})),$(document).on("hide.bs.modal","#topFullCookieConsent",(function(){t.debug("user closed modal: topFullCookieConsent"),$("body").removeClass("stop-scrolling")})),logText="events registered",t.debug(logText),!0}})},function(e,n,t){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,n){var t,o;o="run module scrollSmooth",(t=log4javascript.getLogger("j1.scrollSmooth.core")).info(o);var r=n.duration,a=n.offset;this.scrollTo(e,{duration:r,offset:a,callback:null}),o="scrollSmooth finished",t.info(o)},scrollTo:function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}}}(jQuery)},function(e,n,t){"use strict";var o={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},r={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,n,t){return Math.min(Math.max(e,n),t)}function l(e,n){return e.indexOf(n)>-1}function c(e,n){return e.apply(null,n)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!o.hasOwnProperty(e)&&!r.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var n=/\(([^)]+)\)/.exec(e);return n?n[1].split(",").map((function(e){return parseFloat(e)})):[]}function f(e,n){var t=d(e),o=s(u.und(t[0])?1:t[0],.1,100),r=s(u.und(t[1])?100:t[1],.1,100),a=s(u.und(t[2])?10:t[2],.1,100),l=s(u.und(t[3])?0:t[3],.1,100),c=Math.sqrt(r/o),f=a/(2*Math.sqrt(r*o)),p=f<1?c*Math.sqrt(1-f*f):0,m=f<1?(f*c-l)/p:-l+c;function v(e){var t=n?n*e/1e3:e;return t=f<1?Math.exp(-t*f*c)*(1*Math.cos(p*t)+m*Math.sin(p*t)):(1+m*t)*Math.exp(-t*c),0===e||1===e?e:1-t}return n?v:function(){var n=i.springs[e];if(n)return n;for(var t=0,o=0;;)if(1===v(t+=1/6)){if(++o>=16)break}else o=0;var r=t*(1/6)*1e3;return i.springs[e]=r,r}}function p(e){return void 0===e&&(e=10),function(n){return Math.ceil(s(n,1e-6,1)*e)*(1/e)}}var m,v,h=function(){function e(e,n){return 1-3*n+3*e}function n(e,n){return 3*n-6*e}function t(e){return 3*e}function o(o,r,a){return((e(r,a)*o+n(r,a))*o+t(r))*o}function r(o,r,a){return 3*e(r,a)*o*o+2*n(r,a)*o+t(r)}return function(e,n,t,a){if(0<=e&&e<=1&&0<=t&&t<=1){var i=new Float32Array(11);if(e!==n||t!==a)for(var s=0;s<11;++s)i[s]=o(.1*s,e,t);return function(r){return e===n&&t===a||0===r||1===r?r:o(l(r),n,a)}}function l(n){for(var a=0,s=1;10!==s&&i[s]<=n;++s)a+=.1;--s;var l=a+.1*((n-i[s])/(i[s+1]-i[s])),c=r(l,e,t);return c>=.001?function(e,n,t,a){for(var i=0;i<4;++i){var s=r(n,t,a);if(0===s)return n;n-=(o(n,t,a)-e)/s}return n}(n,l,e,t):0===c?l:function(e,n,t,r,a){var i,s,l=0;do{(i=o(s=n+(t-n)/2,r,a)-e)>0?t=s:n=s}while(Math.abs(i)>1e-7&&++l<10);return s}(n,a,a+.1,e,t)}}}(),g=(m={linear:function(){return function(e){return e}}},v={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var n,t=4;e<((n=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((3*n-2)/22-e,2)}},Elastic:function(e,n){void 0===e&&(e=1),void 0===n&&(n=.5);var t=s(e,1,10),o=s(n,.1,2);return function(e){return 0===e||1===e?e:-t*Math.pow(2,10*(e-1))*Math.sin((e-1-o/(2*Math.PI)*Math.asin(1/t))*(2*Math.PI)/o)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,n){v[e]=function(){return function(e){return Math.pow(e,n+2)}}})),Object.keys(v).forEach((function(e){var n=v[e];m["easeIn"+e]=n,m["easeOut"+e]=function(e,t){return function(o){return 1-n(e,t)(1-o)}},m["easeInOut"+e]=function(e,t){return function(o){return o<.5?n(e,t)(2*o)/2:1-n(e,t)(-2*o+2)/2}}})),m);function b(e,n){if(u.fnc(e))return e;var t=e.split("(")[0],o=g[t],r=d(e);switch(t){case"spring":return f(e,n);case"cubicBezier":return c(h,r);case"steps":return c(p,r);default:return c(o,r)}}function w(e){try{return document.querySelectorAll(e)}catch(e){return}}function C(e,n){for(var t=e.length,o=arguments.length>=2?arguments[1]:void 0,r=[],a=0;a<t;a++)if(a in e){var i=e[a];n.call(o,i,a,e)&&r.push(i)}return r}function y(e){return e.reduce((function(e,n){return e.concat(u.arr(n)?y(n):n)}),[])}function k(e){return u.arr(e)?e:(u.str(e)&&(e=w(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function $(e,n){return e.some((function(e){return e===n}))}function x(e){var n={};for(var t in e)n[t]=e[t];return n}function S(e,n){var t=x(e);for(var o in e)t[o]=n.hasOwnProperty(o)?n[o]:e[o];return t}function _(e,n){var t=x(e);for(var o in n)t[o]=u.und(e[o])?n[o]:e[o];return t}function j(e){return u.rgb(e)?(t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n=e))?"rgba("+t[1]+",1)":n:u.hex(e)?function(e){var n=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,n,t,o){return n+n+t+t+o+o})),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return"rgba("+parseInt(t[1],16)+","+parseInt(t[2],16)+","+parseInt(t[3],16)+",1)"}(e):u.hsl(e)?function(e){var n,t,o,r=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(r[1],10)/360,i=parseInt(r[2],10)/100,s=parseInt(r[3],10)/100,l=r[4]||1;function c(e,n,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(n-e)*t:t<.5?n:t<2/3?e+(n-e)*(2/3-t)*6:e}if(0==i)n=t=o=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;n=c(d,u,a+1/3),t=c(d,u,a),o=c(d,u,a-1/3)}return"rgba("+255*n+","+255*t+","+255*o+","+l+")"}(e):void 0;var n,t}function T(e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(n)return n[1]}function L(e,n){return u.fnc(e)?e(n.target,n.id,n.total):e}function O(e,n){return e.getAttribute(n)}function q(e,n,t){if($([t,"deg","rad","turn"],T(n)))return n;var o=i.CSS[n+t];if(!u.und(o))return o;var r=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(r),r.style.position="absolute",r.style.width=100+t;var s=100/r.offsetWidth;a.removeChild(r);var l=s*parseFloat(n);return i.CSS[n+t]=l,l}function M(e,n,t){if(n in e.style){var o=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=e.style[n]||getComputedStyle(e).getPropertyValue(o)||"0";return t?q(e,r,t):r}}function N(e,n){return u.dom(e)&&!u.inp(e)&&(O(e,n)||u.svg(e)&&e[n])?"attribute":u.dom(e)&&$(a,n)?"transform":u.dom(e)&&"transform"!==n&&M(e,n)?"css":null!=e[n]?"object":void 0}function E(e){if(u.dom(e)){for(var n,t=e.style.transform||"",o=/(\w+)\(([^)]*)\)/g,r=new Map;n=o.exec(t);)r.set(n[1],n[2]);return r}}function I(e,n,t,o){var r=l(n,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(n),a=E(e).get(n)||r;return t&&(t.transforms.list.set(n,a),t.transforms.last=n),o?q(e,a,o):a}function D(e,n,t,o){switch(N(e,n)){case"transform":return I(e,n,o,t);case"css":return M(e,n,t);case"attribute":return O(e,n);default:return e[n]||0}}function A(e,n){var t=/^(\*=|\+=|-=)/.exec(e);if(!t)return e;var o=T(e)||0,r=parseFloat(n),a=parseFloat(e.replace(t[0],""));switch(t[0][0]){case"+":return r+a+o;case"-":return r-a+o;case"*":return r*a+o}}function B(e,n){if(u.col(e))return j(e);if(/\s/g.test(e))return e;var t=T(e),o=t?e.substr(0,e.length-t.length):e;return n?o+n:o}function P(e,n){return Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2))}function F(e){for(var n,t=e.points,o=0,r=0;r<t.numberOfItems;r++){var a=t.getItem(r);r>0&&(o+=P(n,a)),n=a}return o}function H(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*O(e,"r")}(e);case"rect":return function(e){return 2*O(e,"width")+2*O(e,"height")}(e);case"line":return function(e){return P({x:O(e,"x1"),y:O(e,"y1")},{x:O(e,"x2"),y:O(e,"y2")})}(e);case"polyline":return F(e);case"polygon":return function(e){var n=e.points;return F(e)+P(n.getItem(n.numberOfItems-1),n.getItem(0))}(e)}}function z(e,n){var t=n||{},o=t.el||function(e){for(var n=e.parentNode;u.svg(n)&&u.svg(n.parentNode);)n=n.parentNode;return n}(e),r=o.getBoundingClientRect(),a=O(o,"viewBox"),i=r.width,s=r.height,l=t.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:o,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function R(e,n){function t(t){void 0===t&&(t=0);var o=n+t>=1?n+t:0;return e.el.getPointAtLength(o)}var o=z(e.el,e.svg),r=t(),a=t(-1),i=t(1);switch(e.property){case"x":return(r.x-o.x)*o.w;case"y":return(r.y-o.y)*o.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function Q(e,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,o=B(u.pth(e)?e.totalLength:e,n)+"";return{original:o,numbers:o.match(t)?o.match(t).map(Number):[0],strings:u.str(e)||n?o.split(t):[]}}function V(e){return C(e?y(u.arr(e)?e.map(k):k(e)):[],(function(e,n,t){return t.indexOf(e)===n}))}function Y(e){var n=V(e);return n.map((function(e,t){return{target:e,id:t,total:n.length,transforms:{list:E(e)}}}))}function U(e,n){var t=x(n);if(/^spring/.test(t.easing)&&(t.duration=f(t.easing)),u.arr(e)){var o=e.length;2===o&&!u.obj(e[0])?e={value:e}:u.fnc(n.duration)||(t.duration=n.duration/o)}var r=u.arr(e)?e:[e];return r.map((function(e,t){var o=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(o.delay)&&(o.delay=t?0:n.delay),u.und(o.endDelay)&&(o.endDelay=t===r.length-1?n.endDelay:0),o})).map((function(e){return _(e,t)}))}function X(e,n){var t=[],o=n.keyframes;for(var r in o&&(n=_(function(e){for(var n=C(y(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,n){return e.indexOf(n)<0&&e.push(n),e}),[]),t={},o=function(o){var r=n[o];t[r]=e.map((function(e){var n={};for(var t in e)u.key(t)?t==r&&(n.value=e[t]):n[t]=e[t];return n}))},r=0;r<n.length;r++)o(r);return t}(o),n)),n)u.key(r)&&t.push({name:r,tweens:U(n[r],e)});return t}function Z(e,n){var t;return e.tweens.map((function(o){var r=function(e,n){var t={};for(var o in e){var r=L(e[o],n);u.arr(r)&&1===(r=r.map((function(e){return L(e,n)}))).length&&(r=r[0]),t[o]=r}return t.duration=parseFloat(t.duration),t.delay=parseFloat(t.delay),t}(o,n),a=r.value,i=u.arr(a)?a[1]:a,s=T(i),l=D(n.target,e.name,s,n),c=t?t.to.original:l,d=u.arr(a)?a[0]:c,f=T(d)||T(l),p=s||f;return u.und(i)&&(i=c),r.from=Q(d,p),r.to=Q(A(i,d),p),r.start=t?t.end:0,r.end=r.start+r.delay+r.duration+r.endDelay,r.easing=b(r.easing,r.duration),r.isPath=u.pth(a),r.isColor=u.col(r.from.original),r.isColor&&(r.round=1),t=r,r}))}var W={css:function(e,n,t){return e.style[n]=t},attribute:function(e,n,t){return e.setAttribute(n,t)},object:function(e,n,t){return e[n]=t},transform:function(e,n,t,o,r){if(o.list.set(n,t),n===o.last||r){var a="";o.list.forEach((function(e,n){a+=n+"("+e+") "})),e.style.transform=a}}};function J(e,n){Y(e).forEach((function(e){for(var t in n){var o=L(n[t],e),r=e.target,a=T(o),i=D(r,t,a,e),s=A(B(o,a||T(i)),i),l=N(r,t);W[l](r,t,s,e.transforms,!0)}}))}function G(e,n){return C(y(e.map((function(e){return n.map((function(n){return function(e,n){var t=N(e.target,n.name);if(t){var o=Z(n,e),r=o[o.length-1];return{type:t,property:n.name,animatable:e,tweens:o,duration:r.end,delay:o[0].delay,endDelay:r.endDelay}}}(e,n)}))}))),(function(e){return!u.und(e)}))}function K(e,n){var t=e.length,o=function(e){return e.timelineOffset?e.timelineOffset:0},r={};return r.duration=t?Math.max.apply(Math,e.map((function(e){return o(e)+e.duration}))):n.duration,r.delay=t?Math.min.apply(Math,e.map((function(e){return o(e)+e.delay}))):n.delay,r.endDelay=t?r.duration-Math.max.apply(Math,e.map((function(e){return o(e)+e.duration-e.endDelay}))):n.endDelay,r}var ee=0;var ne,te=[],oe=[],re=function(){function e(){ne=requestAnimationFrame(n)}function n(n){var t=te.length;if(t){for(var o=0;o<t;){var r=te[o];if(r.paused){var a=te.indexOf(r);a>-1&&(te.splice(a,1),t=te.length)}else r.tick(n);o++}e()}else ne=cancelAnimationFrame(ne)}return e}();function ae(e){void 0===e&&(e={});var n,t=0,a=0,i=0,l=0,c=null;function u(e){var n=window.Promise&&new Promise((function(e){return c=e}));return e.finished=n,n}var d=function(e){var n=S(o,e),t=S(r,e),a=X(t,e),i=Y(e.targets),s=G(i,a),l=K(s,t),c=ee;return ee++,_(n,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function f(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,n.forEach((function(e){return e.reversed=d.reversed}))}function p(e){return d.reversed?d.duration-e:e}function m(){t=0,a=p(d.currentTime)*(1/ae.speed)}function v(e,n){n&&n.seek(e-n.timelineOffset)}function h(e){for(var n=0,t=d.animations,o=t.length;n<o;){var r=t[n],a=r.animatable,i=r.tweens,l=i.length-1,c=i[l];l&&(c=C(i,(function(n){return e<n.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,f=isNaN(u)?1:c.easing(u),p=c.to.strings,m=c.round,v=[],h=c.to.numbers.length,g=void 0,b=0;b<h;b++){var w=void 0,y=c.to.numbers[b],k=c.from.numbers[b]||0;w=c.isPath?R(c.value,f*y):k+f*(y-k),m&&(c.isColor&&b>2||(w=Math.round(w*m)/m)),v.push(w)}var $=p.length;if($){g=p[0];for(var x=0;x<$;x++){p[x];var S=p[x+1],_=v[x];isNaN(_)||(g+=S?_+S:_+" ")}}else g=v[0];W[r.type](a.target,r.property,g,a.transforms),r.currentValue=g,n++}}function g(e){d[e]&&!d.passThrough&&d[e](d)}function b(e){var o=d.duration,r=d.delay,m=o-d.endDelay,b=p(e);d.progress=s(b/o*100,0,100),d.reversePlayback=b<d.currentTime,n&&function(e){if(d.reversePlayback)for(var t=l;t--;)v(e,n[t]);else for(var o=0;o<l;o++)v(e,n[o])}(b),!d.began&&d.currentTime>0&&(d.began=!0,g("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,g("loopBegin")),b<=r&&0!==d.currentTime&&h(0),(b>=m&&d.currentTime!==o||!o)&&h(o),b>r&&b<m?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,g("changeBegin")),g("change"),h(b)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,g("changeComplete")),d.currentTime=s(b,0,o),d.began&&g("update"),e>=o&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(t=i,g("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&f()):(d.paused=!0,d.completed||(d.completed=!0,g("loopComplete"),g("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,n=d.children;for(var t=l=n.length;t--;)d.children[t].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,h(d.reversed?d.duration:0)},d.set=function(e,n){return J(e,n),d},d.tick=function(e){i=e,t||(t=i),b((i+(a-t))*ae.speed)},d.seek=function(e){b(p(e))},d.pause=function(){d.paused=!0,m()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,te.push(d),m(),ne||re())},d.reverse=function(){f(),d.completed=!d.reversed,m()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,n){for(var t=n.length;t--;)$(e,n[t].animatable.target)&&n.splice(t,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(te.forEach((function(e){return e.pause()})),oe=te.slice(0),ae.running=te=[]):oe.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=te,ae.remove=function(e){for(var n=V(e),t=te.length;t--;){var o=te[t],r=o.animations,a=o.children;ie(n,r);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(n,l),l.length||s.children.length||a.splice(i,1)}r.length||a.length||o.pause()}},ae.get=D,ae.set=J,ae.convertPx=q,ae.path=function(e,n){var t=u.str(e)?w(e)[0]:e,o=n||100;return function(e){return{property:e,el:t,svg:z(t),totalLength:H(t)*(o/100)}}},ae.setDashoffset=function(e){var n=H(e);return e.setAttribute("stroke-dasharray",n),n},ae.stagger=function(e,n){void 0===n&&(n={});var t=n.direction||"normal",o=n.easing?b(n.easing):null,r=n.grid,a=n.axis,i=n.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),f=d?parseFloat(e[0]):parseFloat(e),p=d?parseFloat(e[1]):0,m=T(d?e[1]:e)||0,v=n.start||0+(d?f:0),h=[],g=0;return function(e,n,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!h.length){for(var b=0;b<u;b++){if(r){var w=l?(r[0]-1)/2:i%r[0],C=l?(r[1]-1)/2:Math.floor(i/r[0]),y=w-b%r[0],k=C-Math.floor(b/r[0]),$=Math.sqrt(y*y+k*k);"x"===a&&($=-y),"y"===a&&($=-k),h.push($)}else h.push(Math.abs(i-b));g=Math.max.apply(Math,h)}o&&(h=h.map((function(e){return o(e/g)*g}))),"reverse"===t&&(h=h.map((function(e){return a?e<0?-1*e:-e:Math.abs(g-e)})))}return v+(d?(p-f)/g:f)*(Math.round(100*h[n])/100)+m}},ae.timeline=function(e){void 0===e&&(e={});var n=ae(e);return n.duration=0,n.add=function(t,o){var a=te.indexOf(n),i=n.children;function s(e){e.passThrough=!0}a>-1&&te.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=_(t,S(r,e));c.targets=c.targets||e.targets;var d=n.duration;c.autoplay=!1,c.direction=n.direction,c.timelineOffset=u.und(o)?d:A(o,d),s(n),n.seek(c.timelineOffset);var f=ae(c);s(f),i.push(f);var p=K(i,e);return n.delay=p.delay,n.endDelay=p.endDelay,n.duration=p.duration,n.seek(0),n.reset(),n.autoplay&&n.play(),n},n},ae.easing=b,ae.penner=g,ae.random=function(e,n){return Math.floor(Math.random()*(n-e+1))+e},e.exports=ae},function(e,n,t){(function(o){var r,a,i,s;s=void 0!==o?o:this.window||this.global,a=[],r=function(e){"use strict";var n,o,r,a=t(9),i={},s={},l=t(10),c=t(11),u=t(12),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var f=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),n&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),n&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},n=0;n<arguments.length;n++){var t=arguments[n];for(var o in t)f.call(t,o)&&(e[o]=t[o])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=t(13).initSmoothScrolling(i)),n=l(i),o=c(i),this._buildHtml=n,this._parseContent=o,s.destroy(),null!==(r=o.selectHeadings(i.contentSelector,i.headingSelector)))){var m=o.nestHeadingsArray(r).nest;i.skipRendering||n.render(i.tocSelector,m),this._scrollListener=p((function(e){n.updateToc(r),!i.disableTocScrollSync&&u(i);var t=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||t)&&(n.updateToc(r),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var v=null;return this._clickListener=p((function(e){i.scrollSmooth&&n.disableTocAnimation(e),n.updateToc(r),v&&clearTimeout(v),v=setTimeout((function(){n.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function p(e,n,t){var o,r;return n||(n=250),function(){var a=t||this,i=+new Date,s=arguments;o&&i<o+n?(clearTimeout(r),r=setTimeout((function(){o=i,e.apply(a,s)}),n)):(o=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof r?r.apply(n,a):r)||(e.exports=i)}).call(this,t(8))},function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,n){e.exports=function(e){var n=[].forEach,t=[].some,o=document.body,r=!0;function a(t,o){var r=o.appendChild(function(t){var o=document.createElement("li"),r=document.createElement("a");e.listItemClass&&o.setAttribute("class",e.listItemClass);e.onClick&&(r.onclick=e.onClick);e.includeHtml&&t.childNodes.length?n.call(t.childNodes,(function(e){r.appendChild(e.cloneNode(!0))})):r.textContent=t.textContent;return r.setAttribute("href",e.basePath+"#"+t.id),r.setAttribute("class",e.linkClass+" node-name--"+t.nodeName+" "+e.extraLinkClasses),o.appendChild(r),o}(t));if(t.children.length){var s=i(t.isCollapsed);t.children.forEach((function(e){a(e,s)})),r.appendChild(s)}}function i(n){var t=e.orderedList?"ol":"ul",o=document.createElement(t),r=e.listClass+" "+e.extraListClasses;return n&&(r+=" "+e.collapsibleClass,r+=" "+e.isCollapsedClass),o.setAttribute("class",r),o}return{enableTocAnimation:function(){r=!0},disableTocAnimation:function(n){var t=n.target||n.srcElement;"string"==typeof t.className&&-1!==t.className.indexOf(e.linkClass)&&(r=!1)},render:function(e,n){var t=i(!1);n.forEach((function(e){a(e,t)}));var o=document.querySelector(e);if(null!==o)return o.firstChild&&o.removeChild(o.firstChild),0===n.length?o:o.appendChild(t)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop,e.positionFixedSelector&&function(){var n;n=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop;var t=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),n>e.fixedSidebarOffset?-1===t.className.indexOf(e.positionFixedClass)&&(t.className+=" "+e.positionFixedClass):t.className=t.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(r&&null!==document.querySelector(e.tocSelector)&&l.length>0){t.call(l,(function(n,t){return function n(t){var o=0;return t!==document.querySelector(e.contentSelector&&null!=t)&&(o=t.offsetTop,e.hasInnerContainers&&(o+=n(t.offsetParent))),o}(n)>i+e.headingsOffset+10?(s=l[t],!0):t===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);n.call(c,(function(n){n.className=n.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);n.call(u,(function(n){n.className=n.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var f=d.parentNode;f&&-1===f.className.indexOf(e.activeListItemClass)&&(f.className+=" "+e.activeListItemClass);var p=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);n.call(p,(function(n){-1===n.className.indexOf(e.isCollapsedClass)&&(n.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function n(t){if(-1!==t.className.indexOf(e.collapsibleClass)&&-1!==t.className.indexOf(e.isCollapsedClass))return t.className=t.className.split(" "+e.isCollapsedClass).join(""),n(t.parentNode.parentNode);return t}(d.parentNode.parentNode)}}}}},function(e,n){e.exports=function(e){var n=[].reduce;function t(e){return e[e.length-1]}function o(e){return+e.nodeName.split("H").join("")}function r(n){if(!(n instanceof window.HTMLElement))return n;if(e.ignoreHiddenElements&&(!n.offsetHeight||!n.offsetParent))return null;var t={id:n.id,children:[],nodeName:n.nodeName,headingLevel:o(n),textContent:e.headingLabelCallback?String(e.headingLabelCallback(n.textContent)):n.textContent.trim()};return e.includeHtml&&(t.childNodes=n.childNodes),e.headingObjectCallback?e.headingObjectCallback(t,n):t}return{nestHeadingsArray:function(o){return n.call(o,(function(n,o){var a=r(o);return a&&function(n,o){for(var a=r(n),i=a.headingLevel,s=o,l=t(s),c=i-(l?l.headingLevel:0);c>0;)(l=t(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,n.nest),n}),{nest:[]})},selectHeadings:function(n,t){var o=t;e.ignoreSelector&&(o=t.split(",").map((function(n){return n.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(n).querySelectorAll(o)}catch(e){return console.warn("Element not found: "+n),null}}}}},function(e,n){e.exports=function(e){var n=document.querySelector(e.tocSelector);if(n&&n.scrollHeight>n.clientHeight){var t=n.querySelector("."+e.activeListItemClass);t&&(n.scrollTop=t.offsetTop)}}},function(e,n){n.initSmoothScrolling=function(e){document.documentElement.style;var n=e.duration,t=e.offset,o=location.hash?r(location.href):location.href;function r(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||r(i.href)!==o&&r(i.href)+"#"!==o||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}(a.target.hash,{duration:n,offset:t,callback:function(){var e,n;e=a.target.hash,(n=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(n.tagName)||(n.tabIndex=-1),n.focus())}})}),!1)}},function(e,n){$((function(){$(".result").each((function(e,n){var t=$(n),o=t.prev().find(".title"),r=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');o.append(r),r.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(t)}))}))}))}]);
17
+ e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.core.cookiebar"),o=j1.getCookieNames().user_state,r={},a={renewOnVisit:!1,forceShow:!1,domain:String(window.location.hostname),referrer:String(document.referrer)},i=(e=$.extend(a,n),setInterval((function(e){"finished"==j1.getState()&&(user_state_detected=j1.existsCookie(o),user_state_detected?(t.info("user state cookie found"),r=j1.readCookie(o)):t.error("user state NOT cookie found"),"accepted"==r.cookies_accepted&&$("#quickLinksCookieButton").css("display","block"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted||$("#quickLinksCookieButton").css("display","none"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted&&""!=r.cookies_accepted||$("#topFullCookieConsent").modal("show"),clearInterval(i))})))},eventHandler:function(e){var n,t=log4javascript.getLogger("j1.core.cookiebar.eventHandler"),o=window.location.pathname,r=document.querySelectorAll("a.btn"),a=(j1.appDetected(),e.deleteOnDecline,e.whitelistedPages),i=(a=[],e.stopScrolling),s=j1.getCookieNames(),l=s.user_state,c={},u=j1.readCookie(l);return logText="register button click events",t.debug(logText),r.forEach((function(e,r){e.addEventListener("click",(function(e){return"policyButton"===this.id?(t.debug("user clicked policyButton"),$("#cookiePolicyInfo").toggle("fast",(function(){$("#modal-footer").toggleClass("modal-footer-hidden modal-footer-show")})),!1):"acceptButton"===this.id?(t.debug("user clicked acceptButton"),(u=j1.readCookie(l)).cookies_accepted="accepted",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","block"),!1):"declineButton"===this.id?(t.debug("user clicked declineButton"),u.cookies_accepted="declined",o=window.location.pathname,n=a.indexOf(o)>-1,t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),t.warn("delete all cookies"),j1.deleteCookie(l),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome(),!1):("revokeCookies"===this.id&&(t.debug("user clicked revokeCookiesButton"),o=window.location.pathname,n=a.indexOf(o)>-1,(u=j1.readCookie(l)).cookies_accepted="declined",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome()),"remainCookies"===this.id?(t.debug("user clicked remainCookiesButton"),!1):void 0)}))})),$(document).on("shown.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user opened modal: cookieRevokeCentralDanger")})),$(document).on("hide.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user closed cookieRevokeCentralDanger")})),$(document).on("shown.bs.modal","#topFullCookieConsent",(function(){i&&$("body").addClass("stop-scrolling")})),$(document).on("hide.bs.modal","#topFullCookieConsent",(function(){t.debug("user closed modal: topFullCookieConsent"),$("body").removeClass("stop-scrolling")})),logText="events registered",t.debug(logText),!0}})},function(e,n){
18
+ /*!
19
+ * J1 Asciidoctor
20
+ * Copyright (C) 2021 Juergen Adams
21
+ * Licensed under MIT License.
22
+ */
23
+ e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.core.asciidoctor");e=$.extend({dummyOption:!1},n),logText="J1 Asciidoctor is being initialized",t.info(logText),this.callouts()},callouts:function(e){var n="";0==$(".colist > table > colgroup").length&&(n+="\x3c!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] --\x3e\n",n+='<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>',$(".colist > table").prepend(n))},conums:function(e){var n=setInterval((function(){"finished"==j1.getState()&&0==$(".colist > table > colgroup").length&&($(".colist > table").prepend('<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>'),clearInterval(n))}))}})},function(e,n,t){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,n){var t,o;o="run module scrollSmooth",(t=log4javascript.getLogger("j1.core.scrollSmooth")).info(o);var r=n.duration,a=n.offset;this.scrollTo(e,{duration:r,offset:a,callback:null}),o="scrollSmooth finished",t.info(o)},scrollTo:function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}}}(jQuery)},function(e,n,t){"use strict";var o={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},r={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,n,t){return Math.min(Math.max(e,n),t)}function l(e,n){return e.indexOf(n)>-1}function c(e,n){return e.apply(null,n)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!o.hasOwnProperty(e)&&!r.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var n=/\(([^)]+)\)/.exec(e);return n?n[1].split(",").map((function(e){return parseFloat(e)})):[]}function f(e,n){var t=d(e),o=s(u.und(t[0])?1:t[0],.1,100),r=s(u.und(t[1])?100:t[1],.1,100),a=s(u.und(t[2])?10:t[2],.1,100),l=s(u.und(t[3])?0:t[3],.1,100),c=Math.sqrt(r/o),f=a/(2*Math.sqrt(r*o)),p=f<1?c*Math.sqrt(1-f*f):0,m=f<1?(f*c-l)/p:-l+c;function v(e){var t=n?n*e/1e3:e;return t=f<1?Math.exp(-t*f*c)*(1*Math.cos(p*t)+m*Math.sin(p*t)):(1+m*t)*Math.exp(-t*c),0===e||1===e?e:1-t}return n?v:function(){var n=i.springs[e];if(n)return n;for(var t=0,o=0;;)if(1===v(t+=1/6)){if(++o>=16)break}else o=0;var r=t*(1/6)*1e3;return i.springs[e]=r,r}}function p(e){return void 0===e&&(e=10),function(n){return Math.ceil(s(n,1e-6,1)*e)*(1/e)}}var m,v,h=function(){function e(e,n){return 1-3*n+3*e}function n(e,n){return 3*n-6*e}function t(e){return 3*e}function o(o,r,a){return((e(r,a)*o+n(r,a))*o+t(r))*o}function r(o,r,a){return 3*e(r,a)*o*o+2*n(r,a)*o+t(r)}return function(e,n,t,a){if(0<=e&&e<=1&&0<=t&&t<=1){var i=new Float32Array(11);if(e!==n||t!==a)for(var s=0;s<11;++s)i[s]=o(.1*s,e,t);return function(r){return e===n&&t===a||0===r||1===r?r:o(l(r),n,a)}}function l(n){for(var a=0,s=1;10!==s&&i[s]<=n;++s)a+=.1;--s;var l=a+.1*((n-i[s])/(i[s+1]-i[s])),c=r(l,e,t);return c>=.001?function(e,n,t,a){for(var i=0;i<4;++i){var s=r(n,t,a);if(0===s)return n;n-=(o(n,t,a)-e)/s}return n}(n,l,e,t):0===c?l:function(e,n,t,r,a){var i,s,l=0;do{(i=o(s=n+(t-n)/2,r,a)-e)>0?t=s:n=s}while(Math.abs(i)>1e-7&&++l<10);return s}(n,a,a+.1,e,t)}}}(),g=(m={linear:function(){return function(e){return e}}},v={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var n,t=4;e<((n=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((3*n-2)/22-e,2)}},Elastic:function(e,n){void 0===e&&(e=1),void 0===n&&(n=.5);var t=s(e,1,10),o=s(n,.1,2);return function(e){return 0===e||1===e?e:-t*Math.pow(2,10*(e-1))*Math.sin((e-1-o/(2*Math.PI)*Math.asin(1/t))*(2*Math.PI)/o)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,n){v[e]=function(){return function(e){return Math.pow(e,n+2)}}})),Object.keys(v).forEach((function(e){var n=v[e];m["easeIn"+e]=n,m["easeOut"+e]=function(e,t){return function(o){return 1-n(e,t)(1-o)}},m["easeInOut"+e]=function(e,t){return function(o){return o<.5?n(e,t)(2*o)/2:1-n(e,t)(-2*o+2)/2}}})),m);function b(e,n){if(u.fnc(e))return e;var t=e.split("(")[0],o=g[t],r=d(e);switch(t){case"spring":return f(e,n);case"cubicBezier":return c(h,r);case"steps":return c(p,r);default:return c(o,r)}}function w(e){try{return document.querySelectorAll(e)}catch(e){return}}function C(e,n){for(var t=e.length,o=arguments.length>=2?arguments[1]:void 0,r=[],a=0;a<t;a++)if(a in e){var i=e[a];n.call(o,i,a,e)&&r.push(i)}return r}function y(e){return e.reduce((function(e,n){return e.concat(u.arr(n)?y(n):n)}),[])}function k(e){return u.arr(e)?e:(u.str(e)&&(e=w(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function $(e,n){return e.some((function(e){return e===n}))}function x(e){var n={};for(var t in e)n[t]=e[t];return n}function S(e,n){var t=x(e);for(var o in e)t[o]=n.hasOwnProperty(o)?n[o]:e[o];return t}function j(e,n){var t=x(e);for(var o in n)t[o]=u.und(e[o])?n[o]:e[o];return t}function _(e){return u.rgb(e)?(t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n=e))?"rgba("+t[1]+",1)":n:u.hex(e)?function(e){var n=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,n,t,o){return n+n+t+t+o+o})),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return"rgba("+parseInt(t[1],16)+","+parseInt(t[2],16)+","+parseInt(t[3],16)+",1)"}(e):u.hsl(e)?function(e){var n,t,o,r=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(r[1],10)/360,i=parseInt(r[2],10)/100,s=parseInt(r[3],10)/100,l=r[4]||1;function c(e,n,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(n-e)*t:t<.5?n:t<2/3?e+(n-e)*(2/3-t)*6:e}if(0==i)n=t=o=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;n=c(d,u,a+1/3),t=c(d,u,a),o=c(d,u,a-1/3)}return"rgba("+255*n+","+255*t+","+255*o+","+l+")"}(e):void 0;var n,t}function T(e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(n)return n[1]}function L(e,n){return u.fnc(e)?e(n.target,n.id,n.total):e}function O(e,n){return e.getAttribute(n)}function q(e,n,t){if($([t,"deg","rad","turn"],T(n)))return n;var o=i.CSS[n+t];if(!u.und(o))return o;var r=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(r),r.style.position="absolute",r.style.width=100+t;var s=100/r.offsetWidth;a.removeChild(r);var l=s*parseFloat(n);return i.CSS[n+t]=l,l}function N(e,n,t){if(n in e.style){var o=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=e.style[n]||getComputedStyle(e).getPropertyValue(o)||"0";return t?q(e,r,t):r}}function M(e,n){return u.dom(e)&&!u.inp(e)&&(O(e,n)||u.svg(e)&&e[n])?"attribute":u.dom(e)&&$(a,n)?"transform":u.dom(e)&&"transform"!==n&&N(e,n)?"css":null!=e[n]?"object":void 0}function E(e){if(u.dom(e)){for(var n,t=e.style.transform||"",o=/(\w+)\(([^)]*)\)/g,r=new Map;n=o.exec(t);)r.set(n[1],n[2]);return r}}function I(e,n,t,o){var r=l(n,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(n),a=E(e).get(n)||r;return t&&(t.transforms.list.set(n,a),t.transforms.last=n),o?q(e,a,o):a}function D(e,n,t,o){switch(M(e,n)){case"transform":return I(e,n,o,t);case"css":return N(e,n,t);case"attribute":return O(e,n);default:return e[n]||0}}function A(e,n){var t=/^(\*=|\+=|-=)/.exec(e);if(!t)return e;var o=T(e)||0,r=parseFloat(n),a=parseFloat(e.replace(t[0],""));switch(t[0][0]){case"+":return r+a+o;case"-":return r-a+o;case"*":return r*a+o}}function B(e,n){if(u.col(e))return _(e);if(/\s/g.test(e))return e;var t=T(e),o=t?e.substr(0,e.length-t.length):e;return n?o+n:o}function P(e,n){return Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2))}function F(e){for(var n,t=e.points,o=0,r=0;r<t.numberOfItems;r++){var a=t.getItem(r);r>0&&(o+=P(n,a)),n=a}return o}function H(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*O(e,"r")}(e);case"rect":return function(e){return 2*O(e,"width")+2*O(e,"height")}(e);case"line":return function(e){return P({x:O(e,"x1"),y:O(e,"y1")},{x:O(e,"x2"),y:O(e,"y2")})}(e);case"polyline":return F(e);case"polygon":return function(e){var n=e.points;return F(e)+P(n.getItem(n.numberOfItems-1),n.getItem(0))}(e)}}function z(e,n){var t=n||{},o=t.el||function(e){for(var n=e.parentNode;u.svg(n)&&u.svg(n.parentNode);)n=n.parentNode;return n}(e),r=o.getBoundingClientRect(),a=O(o,"viewBox"),i=r.width,s=r.height,l=t.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:o,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function R(e,n){function t(t){void 0===t&&(t=0);var o=n+t>=1?n+t:0;return e.el.getPointAtLength(o)}var o=z(e.el,e.svg),r=t(),a=t(-1),i=t(1);switch(e.property){case"x":return(r.x-o.x)*o.w;case"y":return(r.y-o.y)*o.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function Q(e,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,o=B(u.pth(e)?e.totalLength:e,n)+"";return{original:o,numbers:o.match(t)?o.match(t).map(Number):[0],strings:u.str(e)||n?o.split(t):[]}}function V(e){return C(e?y(u.arr(e)?e.map(k):k(e)):[],(function(e,n,t){return t.indexOf(e)===n}))}function Y(e){var n=V(e);return n.map((function(e,t){return{target:e,id:t,total:n.length,transforms:{list:E(e)}}}))}function X(e,n){var t=x(n);if(/^spring/.test(t.easing)&&(t.duration=f(t.easing)),u.arr(e)){var o=e.length;2===o&&!u.obj(e[0])?e={value:e}:u.fnc(n.duration)||(t.duration=n.duration/o)}var r=u.arr(e)?e:[e];return r.map((function(e,t){var o=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(o.delay)&&(o.delay=t?0:n.delay),u.und(o.endDelay)&&(o.endDelay=t===r.length-1?n.endDelay:0),o})).map((function(e){return j(e,t)}))}function Z(e,n){var t=[],o=n.keyframes;for(var r in o&&(n=j(function(e){for(var n=C(y(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,n){return e.indexOf(n)<0&&e.push(n),e}),[]),t={},o=function(o){var r=n[o];t[r]=e.map((function(e){var n={};for(var t in e)u.key(t)?t==r&&(n.value=e[t]):n[t]=e[t];return n}))},r=0;r<n.length;r++)o(r);return t}(o),n)),n)u.key(r)&&t.push({name:r,tweens:X(n[r],e)});return t}function J(e,n){var t;return e.tweens.map((function(o){var r=function(e,n){var t={};for(var o in e){var r=L(e[o],n);u.arr(r)&&1===(r=r.map((function(e){return L(e,n)}))).length&&(r=r[0]),t[o]=r}return t.duration=parseFloat(t.duration),t.delay=parseFloat(t.delay),t}(o,n),a=r.value,i=u.arr(a)?a[1]:a,s=T(i),l=D(n.target,e.name,s,n),c=t?t.to.original:l,d=u.arr(a)?a[0]:c,f=T(d)||T(l),p=s||f;return u.und(i)&&(i=c),r.from=Q(d,p),r.to=Q(A(i,d),p),r.start=t?t.end:0,r.end=r.start+r.delay+r.duration+r.endDelay,r.easing=b(r.easing,r.duration),r.isPath=u.pth(a),r.isColor=u.col(r.from.original),r.isColor&&(r.round=1),t=r,r}))}var U={css:function(e,n,t){return e.style[n]=t},attribute:function(e,n,t){return e.setAttribute(n,t)},object:function(e,n,t){return e[n]=t},transform:function(e,n,t,o,r){if(o.list.set(n,t),n===o.last||r){var a="";o.list.forEach((function(e,n){a+=n+"("+e+") "})),e.style.transform=a}}};function W(e,n){Y(e).forEach((function(e){for(var t in n){var o=L(n[t],e),r=e.target,a=T(o),i=D(r,t,a,e),s=A(B(o,a||T(i)),i),l=M(r,t);U[l](r,t,s,e.transforms,!0)}}))}function G(e,n){return C(y(e.map((function(e){return n.map((function(n){return function(e,n){var t=M(e.target,n.name);if(t){var o=J(n,e),r=o[o.length-1];return{type:t,property:n.name,animatable:e,tweens:o,duration:r.end,delay:o[0].delay,endDelay:r.endDelay}}}(e,n)}))}))),(function(e){return!u.und(e)}))}function K(e,n){var t=e.length,o=function(e){return e.timelineOffset?e.timelineOffset:0},r={};return r.duration=t?Math.max.apply(Math,e.map((function(e){return o(e)+e.duration}))):n.duration,r.delay=t?Math.min.apply(Math,e.map((function(e){return o(e)+e.delay}))):n.delay,r.endDelay=t?r.duration-Math.max.apply(Math,e.map((function(e){return o(e)+e.duration-e.endDelay}))):n.endDelay,r}var ee=0;var ne,te=[],oe=[],re=function(){function e(){ne=requestAnimationFrame(n)}function n(n){var t=te.length;if(t){for(var o=0;o<t;){var r=te[o];if(r.paused){var a=te.indexOf(r);a>-1&&(te.splice(a,1),t=te.length)}else r.tick(n);o++}e()}else ne=cancelAnimationFrame(ne)}return e}();function ae(e){void 0===e&&(e={});var n,t=0,a=0,i=0,l=0,c=null;function u(e){var n=window.Promise&&new Promise((function(e){return c=e}));return e.finished=n,n}var d=function(e){var n=S(o,e),t=S(r,e),a=Z(t,e),i=Y(e.targets),s=G(i,a),l=K(s,t),c=ee;return ee++,j(n,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function f(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,n.forEach((function(e){return e.reversed=d.reversed}))}function p(e){return d.reversed?d.duration-e:e}function m(){t=0,a=p(d.currentTime)*(1/ae.speed)}function v(e,n){n&&n.seek(e-n.timelineOffset)}function h(e){for(var n=0,t=d.animations,o=t.length;n<o;){var r=t[n],a=r.animatable,i=r.tweens,l=i.length-1,c=i[l];l&&(c=C(i,(function(n){return e<n.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,f=isNaN(u)?1:c.easing(u),p=c.to.strings,m=c.round,v=[],h=c.to.numbers.length,g=void 0,b=0;b<h;b++){var w=void 0,y=c.to.numbers[b],k=c.from.numbers[b]||0;w=c.isPath?R(c.value,f*y):k+f*(y-k),m&&(c.isColor&&b>2||(w=Math.round(w*m)/m)),v.push(w)}var $=p.length;if($){g=p[0];for(var x=0;x<$;x++){p[x];var S=p[x+1],j=v[x];isNaN(j)||(g+=S?j+S:j+" ")}}else g=v[0];U[r.type](a.target,r.property,g,a.transforms),r.currentValue=g,n++}}function g(e){d[e]&&!d.passThrough&&d[e](d)}function b(e){var o=d.duration,r=d.delay,m=o-d.endDelay,b=p(e);d.progress=s(b/o*100,0,100),d.reversePlayback=b<d.currentTime,n&&function(e){if(d.reversePlayback)for(var t=l;t--;)v(e,n[t]);else for(var o=0;o<l;o++)v(e,n[o])}(b),!d.began&&d.currentTime>0&&(d.began=!0,g("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,g("loopBegin")),b<=r&&0!==d.currentTime&&h(0),(b>=m&&d.currentTime!==o||!o)&&h(o),b>r&&b<m?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,g("changeBegin")),g("change"),h(b)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,g("changeComplete")),d.currentTime=s(b,0,o),d.began&&g("update"),e>=o&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(t=i,g("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&f()):(d.paused=!0,d.completed||(d.completed=!0,g("loopComplete"),g("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,n=d.children;for(var t=l=n.length;t--;)d.children[t].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,h(d.reversed?d.duration:0)},d.set=function(e,n){return W(e,n),d},d.tick=function(e){i=e,t||(t=i),b((i+(a-t))*ae.speed)},d.seek=function(e){b(p(e))},d.pause=function(){d.paused=!0,m()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,te.push(d),m(),ne||re())},d.reverse=function(){f(),d.completed=!d.reversed,m()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,n){for(var t=n.length;t--;)$(e,n[t].animatable.target)&&n.splice(t,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(te.forEach((function(e){return e.pause()})),oe=te.slice(0),ae.running=te=[]):oe.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=te,ae.remove=function(e){for(var n=V(e),t=te.length;t--;){var o=te[t],r=o.animations,a=o.children;ie(n,r);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(n,l),l.length||s.children.length||a.splice(i,1)}r.length||a.length||o.pause()}},ae.get=D,ae.set=W,ae.convertPx=q,ae.path=function(e,n){var t=u.str(e)?w(e)[0]:e,o=n||100;return function(e){return{property:e,el:t,svg:z(t),totalLength:H(t)*(o/100)}}},ae.setDashoffset=function(e){var n=H(e);return e.setAttribute("stroke-dasharray",n),n},ae.stagger=function(e,n){void 0===n&&(n={});var t=n.direction||"normal",o=n.easing?b(n.easing):null,r=n.grid,a=n.axis,i=n.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),f=d?parseFloat(e[0]):parseFloat(e),p=d?parseFloat(e[1]):0,m=T(d?e[1]:e)||0,v=n.start||0+(d?f:0),h=[],g=0;return function(e,n,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!h.length){for(var b=0;b<u;b++){if(r){var w=l?(r[0]-1)/2:i%r[0],C=l?(r[1]-1)/2:Math.floor(i/r[0]),y=w-b%r[0],k=C-Math.floor(b/r[0]),$=Math.sqrt(y*y+k*k);"x"===a&&($=-y),"y"===a&&($=-k),h.push($)}else h.push(Math.abs(i-b));g=Math.max.apply(Math,h)}o&&(h=h.map((function(e){return o(e/g)*g}))),"reverse"===t&&(h=h.map((function(e){return a?e<0?-1*e:-e:Math.abs(g-e)})))}return v+(d?(p-f)/g:f)*(Math.round(100*h[n])/100)+m}},ae.timeline=function(e){void 0===e&&(e={});var n=ae(e);return n.duration=0,n.add=function(t,o){var a=te.indexOf(n),i=n.children;function s(e){e.passThrough=!0}a>-1&&te.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=j(t,S(r,e));c.targets=c.targets||e.targets;var d=n.duration;c.autoplay=!1,c.direction=n.direction,c.timelineOffset=u.und(o)?d:A(o,d),s(n),n.seek(c.timelineOffset);var f=ae(c);s(f),i.push(f);var p=K(i,e);return n.delay=p.delay,n.endDelay=p.endDelay,n.duration=p.duration,n.seek(0),n.reset(),n.autoplay&&n.play(),n},n},ae.easing=b,ae.penner=g,ae.random=function(e,n){return Math.floor(Math.random()*(n-e+1))+e},e.exports=ae},function(e,n,t){(function(o){var r,a,i,s;s=void 0!==o?o:this.window||this.global,a=[],r=function(e){"use strict";var n,o,r,a=t(10),i={},s={},l=t(11),c=t(12),u=t(13),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var f=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),n&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),n&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},n=0;n<arguments.length;n++){var t=arguments[n];for(var o in t)f.call(t,o)&&(e[o]=t[o])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=t(14).initSmoothScrolling(i)),n=l(i),o=c(i),this._buildHtml=n,this._parseContent=o,s.destroy(),null!==(r=o.selectHeadings(i.contentSelector,i.headingSelector)))){var m=o.nestHeadingsArray(r).nest;i.skipRendering||n.render(i.tocSelector,m),this._scrollListener=p((function(e){n.updateToc(r),!i.disableTocScrollSync&&u(i);var t=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||t)&&(n.updateToc(r),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var v=null;return this._clickListener=p((function(e){i.scrollSmooth&&n.disableTocAnimation(e),n.updateToc(r),v&&clearTimeout(v),v=setTimeout((function(){n.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function p(e,n,t){var o,r;return n||(n=250),function(){var a=t||this,i=+new Date,s=arguments;o&&i<o+n?(clearTimeout(r),r=setTimeout((function(){o=i,e.apply(a,s)}),n)):(o=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof r?r.apply(n,a):r)||(e.exports=i)}).call(this,t(9))},function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,n){e.exports=function(e){var n=[].forEach,t=[].some,o=document.body,r=!0;function a(t,o){var r=o.appendChild(function(t){var o=document.createElement("li"),r=document.createElement("a");e.listItemClass&&o.setAttribute("class",e.listItemClass);e.onClick&&(r.onclick=e.onClick);e.includeHtml&&t.childNodes.length?n.call(t.childNodes,(function(e){r.appendChild(e.cloneNode(!0))})):r.textContent=t.textContent;return r.setAttribute("href",e.basePath+"#"+t.id),r.setAttribute("class",e.linkClass+" node-name--"+t.nodeName+" "+e.extraLinkClasses),o.appendChild(r),o}(t));if(t.children.length){var s=i(t.isCollapsed);t.children.forEach((function(e){a(e,s)})),r.appendChild(s)}}function i(n){var t=e.orderedList?"ol":"ul",o=document.createElement(t),r=e.listClass+" "+e.extraListClasses;return n&&(r+=" "+e.collapsibleClass,r+=" "+e.isCollapsedClass),o.setAttribute("class",r),o}return{enableTocAnimation:function(){r=!0},disableTocAnimation:function(n){var t=n.target||n.srcElement;"string"==typeof t.className&&-1!==t.className.indexOf(e.linkClass)&&(r=!1)},render:function(e,n){var t=i(!1);n.forEach((function(e){a(e,t)}));var o=document.querySelector(e);if(null!==o)return o.firstChild&&o.removeChild(o.firstChild),0===n.length?o:o.appendChild(t)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop,e.positionFixedSelector&&function(){var n;n=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop;var t=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),n>e.fixedSidebarOffset?-1===t.className.indexOf(e.positionFixedClass)&&(t.className+=" "+e.positionFixedClass):t.className=t.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(r&&null!==document.querySelector(e.tocSelector)&&l.length>0){t.call(l,(function(n,t){return function n(t){var o=0;return t!==document.querySelector(e.contentSelector&&null!=t)&&(o=t.offsetTop,e.hasInnerContainers&&(o+=n(t.offsetParent))),o}(n)>i+e.headingsOffset+10?(s=l[t],!0):t===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);n.call(c,(function(n){n.className=n.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);n.call(u,(function(n){n.className=n.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var f=d.parentNode;f&&-1===f.className.indexOf(e.activeListItemClass)&&(f.className+=" "+e.activeListItemClass);var p=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);n.call(p,(function(n){-1===n.className.indexOf(e.isCollapsedClass)&&(n.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function n(t){if(-1!==t.className.indexOf(e.collapsibleClass)&&-1!==t.className.indexOf(e.isCollapsedClass))return t.className=t.className.split(" "+e.isCollapsedClass).join(""),n(t.parentNode.parentNode);return t}(d.parentNode.parentNode)}}}}},function(e,n){e.exports=function(e){var n=[].reduce;function t(e){return e[e.length-1]}function o(e){return+e.nodeName.split("H").join("")}function r(n){if(!(n instanceof window.HTMLElement))return n;if(e.ignoreHiddenElements&&(!n.offsetHeight||!n.offsetParent))return null;var t={id:n.id,children:[],nodeName:n.nodeName,headingLevel:o(n),textContent:e.headingLabelCallback?String(e.headingLabelCallback(n.textContent)):n.textContent.trim()};return e.includeHtml&&(t.childNodes=n.childNodes),e.headingObjectCallback?e.headingObjectCallback(t,n):t}return{nestHeadingsArray:function(o){return n.call(o,(function(n,o){var a=r(o);return a&&function(n,o){for(var a=r(n),i=a.headingLevel,s=o,l=t(s),c=i-(l?l.headingLevel:0);c>0;)(l=t(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,n.nest),n}),{nest:[]})},selectHeadings:function(n,t){var o=t;e.ignoreSelector&&(o=t.split(",").map((function(n){return n.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(n).querySelectorAll(o)}catch(e){return console.warn("Element not found: "+n),null}}}}},function(e,n){e.exports=function(e){var n=document.querySelector(e.tocSelector);if(n&&n.scrollHeight>n.clientHeight){var t=n.querySelector("."+e.activeListItemClass);t&&(n.scrollTop=t.offsetTop)}}},function(e,n){n.initSmoothScrolling=function(e){document.documentElement.style;var n=e.duration,t=e.offset,o=location.hash?r(location.href):location.href;function r(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||r(i.href)!==o&&r(i.href)+"#"!==o||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}(a.target.hash,{duration:n,offset:t,callback:function(){var e,n;e=a.target.hash,(n=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(n.tagName)||(n.tabIndex=-1),n.focus())}})}),!1)}},function(e,n){$((function(){$(".result").each((function(e,n){var t=$(n),o=t.prev().find(".title"),r=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');o.append(r),r.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(t)}))}))}))}]);
18
24
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./template.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/cookiebar/cookiebar.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///(webpack)/buildin/global.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","j1","adapter","require","core","navigator","cookiebar","scrollSmooth","anime","_init_","options","$","extend","foo","bar","getState","isMobile","ua_name","a","mobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","logger","logText","cookie_names","getCookieNames","message","cookie_consent","user_session","init","defaultOptions","menuOptions","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","type","action","text","sendMessage","eventHandler","$getNav","click","e","preventDefault","returnValue","hasClass","wrap","postsArr","Array","index","$postsList","find","each","push","html","firstList","splice","Math","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","width","$getIn","data","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","$list","eq","setTimeout","fadeIn","clearTimeout","windowHeight","height","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","JSON","stringify","resolveMacros","updateMacros","jQuery","moduleOptions","cookie_user_state","user_state","moduleDefaults","renewOnVisit","forceShow","domain","String","location","hostname","referrer","document","dependencies_met_page_ready","setInterval","user_state_detected","existsCookie","readCookie","error","cookies_accepted","modal","clearInterval","whitelisted","current_page","pathname","modalButtons","querySelectorAll","whitelistedPages","appDetected","deleteOnDecline","stopScrolling","forEach","button","addEventListener","id","toggleClass","writeCookie","expires","current_user_data","mergeData","indexOf","warn","deleteCookie","goHome","scroll","target","duration","scrollTo","callback","timeStart","timeElapsed","start","pageYOffset","opt","easing","b","tgt","querySelector","decodeURI","split","join","distance","getBoundingClientRect","documentElement","body","loop","time","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","max","stringContains","str","applyArguments","func","args","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","hex","rgb","hsl","col","parseEasingParameters","string","match","exec","map","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","keys","easeIn","parseEasings","ease","selectString","filterArray","len","thisArg","arguments","result","flattenArray","reduce","concat","toArray","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","replace","g","parseInt","hexToRgba","hslValue","h","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","getAttribute","el","prop","convertPxToUnit","unit","tempEl","createElement","tagName","parentEl","parentNode","appendChild","style","position","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","w","getPathProgress","path","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","Number","strings","parseTargets","targets","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","k","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","children","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","version","remove","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","fromX","fromY","floor","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","random","root","global","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","innerHTML","console","scrollContainer","removeEventListener","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","threshold","scope","deferTimer","context","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","container","link","onclick","childNodes","node","cloneNode","textContent","nodeName","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","parent","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","array","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","trim","prev","curr","currentHeading","level","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","hash","stripHash","href","url","lastIndexOf","charAt","jump","getElementById","substring","tabIndex","focus","idx","result_block","title_div","view_result_link","append","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// window.Cookies = require('js-cookie');\n// window.log4javascript = require('log4javascript');\n// window.parseURL = require('lite-url');\n// window.platform = require('platform');\n// window.yaml = require('js-yaml');\n// window.uuid = require('uuid/v4');\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\nwindow.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var cookie_names = j1.getCookieNames();\n var cookie_consent_name = cookie_names.cookie_consent;\n var cookie_user_session_name = cookie_names.user_session;\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n // this.navbarScrollspy();\n\n message.type = 'command';\n message.action = 'module_initialized';\n message.text = 'navigator core initialized successfully';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n var json_data;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Navbar Sidebar\n // -----------------------------------------------------------------------\n // if( $getNav.hasClass('navbar-sidebar')) {\n // // Add Class to body\n // $('body').addClass('wrap-nav-sidebar');\n // $getNav.wrapInner('<div class=\\'scroller\\'></div>');\n // } else {\n // $('.navigator').addClass('on');\n // }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Mobile\n // -----------------------------------------------------------------------\n // if( $getNav.hasClass('navbar-mobile')) {\n // // Add Class to body\n // $('.navbar-collapse').on('shown.bs.collapse', function() {\n // $('body').addClass('side-right');\n // });\n // $('.navbar-collapse').on('hide.bs.collapse', function() {\n // $('body').removeClass('side-right');\n // });\n //\n // $(window).on('resize', function() {\n // $('body').removeClass('side-right');\n // });\n // }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // -----------------------------------------------------------------------\n // Toggle Side Menu\n // -----------------------------------------------------------------------\n // $('nav.navbar.navigator .attr-nav').each(function() {\n // logger.debug('register OPEN event|s for SideBar');\n // $('li.side-menu > a', this).on('click', function(e) {\n // // e.preventDefault(); // don't do the default browser action\n // logger.debug('manage sidebar action OPEN');\n // // e.stopPropagation(); // don't bubble up the event\n // $('nav.navbar.navigator > .side').toggleClass('on');\n // $('body').toggleClass('on-side');\n // // e.stopPropagation(); // don't bubble up the event\n // });\n // });\n // logger.debug('register CLOSE event|s for SideBar');\n // $('.side .close-side').on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // logger.debug('manage sidebar action CLOSE');\n // $('nav.navbar.navigator > .side').removeClass('on');\n // $('body').removeClass('on-side');\n // // e.stopPropagation(); // don't bubble up the event\n // });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // Navbar Scrollspy\n // -------------------------------------------------------------------------\n // navbarScrollspy : function() {\n // var navScrollSpy = $('.navbar-scrollspy'),\n // $body = $('body'),\n // $getNav = $('nav.navbar.navigator'),\n // offset = $getNav.outerHeight();\n //\n // if( navScrollSpy.length ){\n // $body.scrollspy({target: '.navbar', offset: offset });\n //\n // // Animation Scrollspy\n // $('.scroll').on('click', function(event) {\n // event.preventDefault();\n //\n // // Active link\n // $('.scroll').removeClass('active');\n // $(this).addClass('active');\n //\n // // Remove navbar collapse\n // $('.navbar-collapse').removeClass('in');\n //\n // // Toggle Bars\n // $('.navbar-toggle').each(function(){\n // $('.mdi', this).removeClass('mdi-close');\n // $('.mdi', this).addClass('mdi-menu');\n // });\n //\n // // Scroll\n // var scrollTop = $(window).scrollTop(),\n // $anchor = $(this).find('a'),\n // $section = $($anchor.attr('href')).offset().top,\n // $window = $(window).width(),\n // $minusDesktop = $getNav.data('minus-value-desktop'),\n // $minusMobile = $getNav.data('minus-value-mobile'),\n // $speed = $getNav.data('speed'),\n // $position;\n //\n // if( $window > 992 ){\n // $position = $section - $minusDesktop;\n // }else{\n // $position = $section - $minusMobile;\n // }\n //\n // $('html, body').stop().animate({\n // scrollTop: $position\n // }, $speed);\n // });\n //\n // // Activate Navigation\n // var fixSpy = function() {\n // var data = $body.data('bs.scrollspy');\n // if (data) {\n // offset = $getNav.outerHeight();\n // data.options.offset = offset;\n // $body.data('bs.scrollspy', data);\n // $body.scrollspy('refresh');\n // }\n // };\n //\n // // Activate Navigation on resize\n // var resizeTimer;\n // $(window).on('resize', function() {\n // clearTimeout(resizeTimer);\n // var resizeTimer = setTimeout(fixSpy, 200);\n // });\n // }\n // }, // end navbarScrollspy\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/assets/themes/j1/modules/cookiebar/js/cookiebar.js\n # Provides Javascript functions for jQuery cookiebar\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # cb cookie disabled. Instead, j1 user state cookie is used.\n # -----------------------------------------------------------------------------\n # TODO:\n # Module needs to be rewritten to use j1 native BS modals.\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// Cookie Consent core registered as \"cookiebar\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Cookiebar\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function cookiebar (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // Initialize cookie consent core\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.cookiebar');\n var cookie_names = j1.getCookieNames();\n const cookie_user_state = cookie_names.user_state;\n var user_state = {};\n\n var moduleDefaults = {\n renewOnVisit: false, // Renew the cookie upon revisit to website\n forceShow: false, // Force cookiebar to show regardless of user cookie preference\n domain: String(window.location.hostname), // Location of privacy policy\n referrer: String(document.referrer) // Where visitor has come from\n };\n\n var options = $.extend(moduleDefaults,moduleOptions);\n\n var dependencies_met_page_ready = setInterval (function (options) {\n if ( j1.getState() == 'finished' ) {\n\n // Set|Detect J1 UserState\n user_state_detected = j1.existsCookie (cookie_user_state);\n if ( user_state_detected ) {\n logger.info('User state cookie found');\n user_state = j1.readCookie(cookie_user_state);\n } else {\n logger.error('User state NOT cookie found');\n }\n\n // Show cookie (consent) icon\n if (user_state.cookies_accepted == 'accepted') {\n // Display cookie (consent) icon\n $('#quickLinksCookieButton').css('display', 'block');\n }\n\n // Hide cookie (consent) icon\n if (user_state.cookies_accepted == 'pending' || user_state.cookies_accepted == 'declined' ) {\n // Display cookie (consent) icon\n $('#quickLinksCookieButton').css('display', 'none');\n }\n\n // Sets expiration date for cookie\n // var expireDate = new Date();\n // expireDate.setTime(expireDate.getTime()+(options.expireDays*86400000));\n // expireDate = expireDate.toGMTString();\n\n if (\n user_state.cookies_accepted == 'pending' ||\n user_state.cookies_accepted == 'declined' ||\n user_state.cookies_accepted == '')\n {\n $('#topFullCookieConsent').modal('show');\n }\n clearInterval(dependencies_met_page_ready);\n }\n });\n },\n\n // -------------------------------------------------------------------------\n // eventHandler: EventHandler for J1 Cookie Consent\n // Manage button click events for all BS Modals\n // See: https://www.nickang.com/add-event-listener-for-loop-problem-in-javascript/\n // -------------------------------------------------------------------------\n eventHandler: function (options) {\n var logger = log4javascript.getLogger('cookiebar.eventHandler');\n var current_page = window.location.pathname;\n var modalButtons = document.querySelectorAll('a.btn');\n var appDetected = j1.appDetected();\n var deleteOnDecline = options.deleteOnDecline;\n var deleteOnDecline = true;\n var whitelistedPages = options.whitelistedPages;\n var whitelistedPages = [];\n var stopScrolling = options.stopScrolling;\n var cookie_names = j1.getCookieNames();\n const cookie_user_state = cookie_names.user_state;\n var user_state = {};\n var cookie_consent = j1.readCookie(cookie_user_state);\n var whitelisted;\n var json_data;\n\n logText = 'register button click events';\n logger.debug(logText);\n\n modalButtons.forEach(function(button, index) {\n button.addEventListener('click', function(e) {\n\n // CookieConsent policyButton\n // -------------------------------------------------------------------\n if (this.id === 'policyButton') {\n logger.debug('user clicked policyButton');\n // toggle|display cookie policy\n $('#cookiePolicyInfo').toggle( 'fast', function() {\n // toggle container classes\n $('#modal-footer').toggleClass('modal-footer-hidden modal-footer-show');\n });\n\n // return false behaves like preventDefault() to block\n // further event propagation (bubble up)\n return false;\n }\n\n // CookieConsent acceptButton\n // -------------------------------------------------------------------\n if (this.id === 'acceptButton') {\n logger.debug('user clicked acceptButton');\n\n // Set consent state\n cookie_consent = j1.readCookie(cookie_user_state);\n cookie_consent.cookies_accepted = 'accepted';\n\n // Update user state cookie\n\n // j1.writeCookie({\n // name: cookie_user_state,\n // data: cookie_consent,\n // expires: cookie_consent.live_span\n // });\n\n j1.writeCookie({\n name: cookie_user_state,\n data: cookie_consent,\n expires: 365\n });\n\n // update sidebar for changed consent|theme data\n logger.info('update sidebar');\n user_state = j1.readCookie(cookie_names.user_state);\n user_session = j1.readCookie(cookie_names.user_session);\n current_user_data = j1.mergeData(user_session, user_state);\n j1.core.navigator.updateSidebar(current_user_data);\n\n // Display cookie icon\n $('#quickLinksCookieButton').css('display', 'block');\n\n return false;\n }\n\n // CookieConsent declineButton\n // -------------------------------------------------------------------\n if (this.id === 'declineButton') {\n logger.debug('user clicked declineButton');\n\n // Set consent state|current_page\n cookie_consent.cookies_accepted = 'declined';\n current_page = window.location.pathname;\n whitelisted = (whitelistedPages.indexOf(current_page) > -1);\n\n // update sidebar for changed consent|theme data\n logger.info('update sidebar');\n user_state = j1.readCookie(cookie_names.user_state);\n user_session = j1.readCookie(cookie_names.user_session);\n current_user_data = j1.mergeData(user_session, user_state);\n j1.core.navigator.updateSidebar(current_user_data);\n\n if (deleteOnDecline) {\n // Delete cookies\n logger.warn('delete all cookies');\n j1.deleteCookie(cookie_user_state);\n }\n\n $('#quickLinksCookieButton').css('display', 'none');\n // Set route to home page if current page is NOT whitelisted\n if ( !whitelisted ) { j1.goHome(); }\n\n return false;\n }\n\n // revokeCookiesButton\n // -------------------------------------------------------------------\n if (this.id === 'revokeCookies') {\n logger.debug('user clicked revokeCookiesButton');\n\n current_page = window.location.pathname;\n whitelisted = (whitelistedPages.indexOf(current_page) > -1);\n\n // Set consent state\n cookie_consent = j1.readCookie(cookie_user_state);\n cookie_consent.cookies_accepted = 'declined';\n\n // Update user state cookie\n\n // j1.writeCookie({\n // name: cookie_user_state,\n // data: cookie_consent,\n // expires: cookie_consent.live_span\n // });\n\n j1.writeCookie({\n name: cookie_user_state,\n data: cookie_consent,\n expires: 365\n });\n\n // update sidebar for changed consent|theme data\n logger.info('update sidebar');\n user_state = j1.readCookie(cookie_names.user_state);\n user_session = j1.readCookie(cookie_names.user_session);\n current_user_data = j1.mergeData(user_session, user_state);\n j1.core.navigator.updateSidebar(current_user_data);\n\n // Hide cookie icon\n $('#quickLinksCookieButton').css('display', 'none');\n\n // Set route to home page if current page is NOT whitelisted\n if (!whitelisted) { j1.goHome(); }\n }\n\n // remainCookiesButton\n // -------------------------------------------------------------------\n if (this.id === 'remainCookies') {\n logger.debug('user clicked remainCookiesButton');\n return false;\n }\n });\n });\n\n // Register pre/post events for modal cookieRevokeCentralDanger\n // -----------------------------------------------------------------------\n $(document).on('shown.bs.modal','#cookieRevokeCentralDanger', function () {\n logger.debug('user opened modal: cookieRevokeCentralDanger');\n });\n\n $(document).on('hide.bs.modal','#cookieRevokeCentralDanger', function () {\n logger.debug('user closed cookieRevokeCentralDanger');\n });\n\n // Register pre/post events for modal topFullCookieConsent\n // -----------------------------------------------------------------------\n $(document).on('shown.bs.modal','#topFullCookieConsent', function () {\n if ( stopScrolling ) { $('body').addClass('stop-scrolling'); }\n //\n // place action here\n //\n });\n\n $(document).on('hide.bs.modal','#topFullCookieConsent', function () {\n logger.debug('user closed modal: topFullCookieConsent');\n $('body').removeClass('stop-scrolling');\n });\n\n logText = 'events registered';\n logger.debug(logText);\n\n return true;\n } // END eventHandler\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.scrollSmooth.core');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 ADoc ResultViewer\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\n\nvar timeoutHandle;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n var view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./template.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/cookiebar/cookiebar.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///(webpack)/buildin/global.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","j1","adapter","require","core","navigator","cookiebar","asciidoctor","scrollSmooth","anime","_init_","options","$","extend","foo","bar","getState","isMobile","ua_name","a","mobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","logger","logText","cookie_names","getCookieNames","message","cookie_consent","user_session","init","defaultOptions","menuOptions","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","type","action","text","sendMessage","eventHandler","$getNav","click","e","preventDefault","returnValue","hasClass","wrap","postsArr","Array","index","$postsList","find","each","push","html","firstList","splice","Math","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","width","$getIn","data","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","$list","eq","setTimeout","fadeIn","clearTimeout","windowHeight","height","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","JSON","stringify","resolveMacros","updateMacros","jQuery","moduleOptions","cookie_user_state","user_state","moduleDefaults","renewOnVisit","forceShow","domain","String","location","hostname","referrer","document","dependencies_met_page_ready","setInterval","user_state_detected","existsCookie","readCookie","error","cookies_accepted","modal","clearInterval","whitelisted","current_page","pathname","modalButtons","querySelectorAll","whitelistedPages","appDetected","deleteOnDecline","stopScrolling","forEach","button","addEventListener","id","toggleClass","writeCookie","expires","current_user_data","mergeData","indexOf","warn","deleteCookie","goHome","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","scroll","target","duration","scrollTo","callback","timeStart","timeElapsed","start","pageYOffset","opt","easing","b","tgt","querySelector","decodeURI","split","join","distance","getBoundingClientRect","documentElement","body","loop","time","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","max","stringContains","str","applyArguments","func","args","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","hex","rgb","hsl","col","parseEasingParameters","string","match","exec","map","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","keys","easeIn","parseEasings","ease","selectString","filterArray","len","thisArg","arguments","result","flattenArray","reduce","concat","toArray","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","replace","g","parseInt","hexToRgba","hslValue","h","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","getAttribute","el","prop","convertPxToUnit","unit","tempEl","createElement","tagName","parentEl","parentNode","appendChild","style","position","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","w","getPathProgress","path","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","Number","strings","parseTargets","targets","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","k","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","children","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","version","remove","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","fromX","fromY","floor","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","random","root","global","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","innerHTML","console","scrollContainer","removeEventListener","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","threshold","scope","deferTimer","context","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","container","link","onclick","childNodes","node","cloneNode","textContent","nodeName","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","parent","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","array","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","trim","prev","curr","currentHeading","level","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","hash","stripHash","href","url","lastIndexOf","charAt","jump","getElementById","substring","tabIndex","focus","idx","result_block","title_div","view_result_link","append","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// window.Cookies = require('js-cookie');\n// window.log4javascript = require('log4javascript');\n// window.parseURL = require('lite-url');\n// window.platform = require('platform');\n// window.yaml = require('js-yaml');\n// window.uuid = require('uuid/v4');\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\nwindow.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var cookie_names = j1.getCookieNames();\n var cookie_consent_name = cookie_names.cookie_consent;\n var cookie_user_session_name = cookie_names.user_session;\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n // this.navbarScrollspy();\n\n message.type = 'command';\n message.action = 'module_initialized';\n message.text = 'navigator core initialized successfully';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n var json_data;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Navbar Sidebar\n // -----------------------------------------------------------------------\n // if( $getNav.hasClass('navbar-sidebar')) {\n // // Add Class to body\n // $('body').addClass('wrap-nav-sidebar');\n // $getNav.wrapInner('<div class=\\'scroller\\'></div>');\n // } else {\n // $('.navigator').addClass('on');\n // }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Mobile\n // -----------------------------------------------------------------------\n // if( $getNav.hasClass('navbar-mobile')) {\n // // Add Class to body\n // $('.navbar-collapse').on('shown.bs.collapse', function() {\n // $('body').addClass('side-right');\n // });\n // $('.navbar-collapse').on('hide.bs.collapse', function() {\n // $('body').removeClass('side-right');\n // });\n //\n // $(window).on('resize', function() {\n // $('body').removeClass('side-right');\n // });\n // }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // -----------------------------------------------------------------------\n // Toggle Side Menu\n // -----------------------------------------------------------------------\n // $('nav.navbar.navigator .attr-nav').each(function() {\n // logger.debug('register OPEN event|s for SideBar');\n // $('li.side-menu > a', this).on('click', function(e) {\n // // e.preventDefault(); // don't do the default browser action\n // logger.debug('manage sidebar action OPEN');\n // // e.stopPropagation(); // don't bubble up the event\n // $('nav.navbar.navigator > .side').toggleClass('on');\n // $('body').toggleClass('on-side');\n // // e.stopPropagation(); // don't bubble up the event\n // });\n // });\n // logger.debug('register CLOSE event|s for SideBar');\n // $('.side .close-side').on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // logger.debug('manage sidebar action CLOSE');\n // $('nav.navbar.navigator > .side').removeClass('on');\n // $('body').removeClass('on-side');\n // // e.stopPropagation(); // don't bubble up the event\n // });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // Navbar Scrollspy\n // -------------------------------------------------------------------------\n // navbarScrollspy : function() {\n // var navScrollSpy = $('.navbar-scrollspy'),\n // $body = $('body'),\n // $getNav = $('nav.navbar.navigator'),\n // offset = $getNav.outerHeight();\n //\n // if( navScrollSpy.length ){\n // $body.scrollspy({target: '.navbar', offset: offset });\n //\n // // Animation Scrollspy\n // $('.scroll').on('click', function(event) {\n // event.preventDefault();\n //\n // // Active link\n // $('.scroll').removeClass('active');\n // $(this).addClass('active');\n //\n // // Remove navbar collapse\n // $('.navbar-collapse').removeClass('in');\n //\n // // Toggle Bars\n // $('.navbar-toggle').each(function(){\n // $('.mdi', this).removeClass('mdi-close');\n // $('.mdi', this).addClass('mdi-menu');\n // });\n //\n // // Scroll\n // var scrollTop = $(window).scrollTop(),\n // $anchor = $(this).find('a'),\n // $section = $($anchor.attr('href')).offset().top,\n // $window = $(window).width(),\n // $minusDesktop = $getNav.data('minus-value-desktop'),\n // $minusMobile = $getNav.data('minus-value-mobile'),\n // $speed = $getNav.data('speed'),\n // $position;\n //\n // if( $window > 992 ){\n // $position = $section - $minusDesktop;\n // }else{\n // $position = $section - $minusMobile;\n // }\n //\n // $('html, body').stop().animate({\n // scrollTop: $position\n // }, $speed);\n // });\n //\n // // Activate Navigation\n // var fixSpy = function() {\n // var data = $body.data('bs.scrollspy');\n // if (data) {\n // offset = $getNav.outerHeight();\n // data.options.offset = offset;\n // $body.data('bs.scrollspy', data);\n // $body.scrollspy('refresh');\n // }\n // };\n //\n // // Activate Navigation on resize\n // var resizeTimer;\n // $(window).on('resize', function() {\n // clearTimeout(resizeTimer);\n // var resizeTimer = setTimeout(fixSpy, 200);\n // });\n // }\n // }, // end navbarScrollspy\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/assets/themes/j1/modules/cookiebar/js/cookiebar.js\n # Provides Javascript functions for jQuery cookiebar\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # cb cookie disabled. Instead, j1 user state cookie is used.\n # -----------------------------------------------------------------------------\n # TODO:\n # Module needs to be rewritten to use j1 native BS modals.\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// Cookie Consent core registered as \"cookiebar\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Cookiebar\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function cookiebar (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // Initialize cookie consent core\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.cookiebar');\n var cookie_names = j1.getCookieNames();\n const cookie_user_state = cookie_names.user_state;\n var user_state = {};\n\n var moduleDefaults = {\n renewOnVisit: false, // Renew the cookie upon revisit to website\n forceShow: false, // Force cookiebar to show regardless of user cookie preference\n domain: String(window.location.hostname), // Location of privacy policy\n referrer: String(document.referrer) // Where visitor has come from\n };\n\n var options = $.extend(moduleDefaults,moduleOptions);\n\n var dependencies_met_page_ready = setInterval (function (options) {\n if ( j1.getState() == 'finished' ) {\n\n // Set|Detect J1 UserState\n user_state_detected = j1.existsCookie (cookie_user_state);\n if ( user_state_detected ) {\n logger.info('user state cookie found');\n user_state = j1.readCookie(cookie_user_state);\n } else {\n logger.error('user state NOT cookie found');\n }\n\n // Show cookie (consent) icon\n if (user_state.cookies_accepted == 'accepted') {\n // Display cookie (consent) icon\n $('#quickLinksCookieButton').css('display', 'block');\n }\n\n // Hide cookie (consent) icon\n if (user_state.cookies_accepted == 'pending' || user_state.cookies_accepted == 'declined' ) {\n // Display cookie (consent) icon\n $('#quickLinksCookieButton').css('display', 'none');\n }\n\n // Sets expiration date for cookie\n // var expireDate = new Date();\n // expireDate.setTime(expireDate.getTime()+(options.expireDays*86400000));\n // expireDate = expireDate.toGMTString();\n\n if (\n user_state.cookies_accepted == 'pending' ||\n user_state.cookies_accepted == 'declined' ||\n user_state.cookies_accepted == '')\n {\n $('#topFullCookieConsent').modal('show');\n }\n clearInterval(dependencies_met_page_ready);\n }\n });\n },\n\n // -------------------------------------------------------------------------\n // eventHandler: EventHandler for J1 Cookie Consent\n // Manage button click events for all BS Modals\n // See: https://www.nickang.com/add-event-listener-for-loop-problem-in-javascript/\n // -------------------------------------------------------------------------\n eventHandler: function (options) {\n var logger = log4javascript.getLogger('j1.core.cookiebar.eventHandler');\n var current_page = window.location.pathname;\n var modalButtons = document.querySelectorAll('a.btn');\n var appDetected = j1.appDetected();\n var deleteOnDecline = options.deleteOnDecline;\n var deleteOnDecline = true;\n var whitelistedPages = options.whitelistedPages;\n var whitelistedPages = [];\n var stopScrolling = options.stopScrolling;\n var cookie_names = j1.getCookieNames();\n const cookie_user_state = cookie_names.user_state;\n var user_state = {};\n var cookie_consent = j1.readCookie(cookie_user_state);\n var whitelisted;\n var json_data;\n\n logText = 'register button click events';\n logger.debug(logText);\n\n modalButtons.forEach(function(button, index) {\n button.addEventListener('click', function(e) {\n\n // CookieConsent policyButton\n // -------------------------------------------------------------------\n if (this.id === 'policyButton') {\n logger.debug('user clicked policyButton');\n // toggle|display cookie policy\n $('#cookiePolicyInfo').toggle( 'fast', function() {\n // toggle container classes\n $('#modal-footer').toggleClass('modal-footer-hidden modal-footer-show');\n });\n\n // return false behaves like preventDefault() to block\n // further event propagation (bubble up)\n return false;\n }\n\n // CookieConsent acceptButton\n // -------------------------------------------------------------------\n if (this.id === 'acceptButton') {\n logger.debug('user clicked acceptButton');\n\n // Set consent state\n cookie_consent = j1.readCookie(cookie_user_state);\n cookie_consent.cookies_accepted = 'accepted';\n\n // Update user state cookie\n\n // j1.writeCookie({\n // name: cookie_user_state,\n // data: cookie_consent,\n // expires: cookie_consent.live_span\n // });\n\n j1.writeCookie({\n name: cookie_user_state,\n data: cookie_consent,\n expires: 365\n });\n\n // update sidebar for changed consent|theme data\n logger.info('update sidebar');\n user_state = j1.readCookie(cookie_names.user_state);\n user_session = j1.readCookie(cookie_names.user_session);\n current_user_data = j1.mergeData(user_session, user_state);\n j1.core.navigator.updateSidebar(current_user_data);\n\n // Display cookie icon\n $('#quickLinksCookieButton').css('display', 'block');\n\n return false;\n }\n\n // CookieConsent declineButton\n // -------------------------------------------------------------------\n if (this.id === 'declineButton') {\n logger.debug('user clicked declineButton');\n\n // Set consent state|current_page\n cookie_consent.cookies_accepted = 'declined';\n current_page = window.location.pathname;\n whitelisted = (whitelistedPages.indexOf(current_page) > -1);\n\n // update sidebar for changed consent|theme data\n logger.info('update sidebar');\n user_state = j1.readCookie(cookie_names.user_state);\n user_session = j1.readCookie(cookie_names.user_session);\n current_user_data = j1.mergeData(user_session, user_state);\n j1.core.navigator.updateSidebar(current_user_data);\n\n if (deleteOnDecline) {\n // Delete cookies\n logger.warn('delete all cookies');\n j1.deleteCookie(cookie_user_state);\n }\n\n $('#quickLinksCookieButton').css('display', 'none');\n // Set route to home page if current page is NOT whitelisted\n if ( !whitelisted ) { j1.goHome(); }\n\n return false;\n }\n\n // revokeCookiesButton\n // -------------------------------------------------------------------\n if (this.id === 'revokeCookies') {\n logger.debug('user clicked revokeCookiesButton');\n\n current_page = window.location.pathname;\n whitelisted = (whitelistedPages.indexOf(current_page) > -1);\n\n // Set consent state\n cookie_consent = j1.readCookie(cookie_user_state);\n cookie_consent.cookies_accepted = 'declined';\n\n // Update user state cookie\n\n // j1.writeCookie({\n // name: cookie_user_state,\n // data: cookie_consent,\n // expires: cookie_consent.live_span\n // });\n\n j1.writeCookie({\n name: cookie_user_state,\n data: cookie_consent,\n expires: 365\n });\n\n // update sidebar for changed consent|theme data\n logger.info('update sidebar');\n user_state = j1.readCookie(cookie_names.user_state);\n user_session = j1.readCookie(cookie_names.user_session);\n current_user_data = j1.mergeData(user_session, user_state);\n j1.core.navigator.updateSidebar(current_user_data);\n\n // Hide cookie icon\n $('#quickLinksCookieButton').css('display', 'none');\n\n // Set route to home page if current page is NOT whitelisted\n if (!whitelisted) { j1.goHome(); }\n }\n\n // remainCookiesButton\n // -------------------------------------------------------------------\n if (this.id === 'remainCookies') {\n logger.debug('user clicked remainCookiesButton');\n return false;\n }\n });\n });\n\n // Register pre/post events for modal cookieRevokeCentralDanger\n // -----------------------------------------------------------------------\n $(document).on('shown.bs.modal','#cookieRevokeCentralDanger', function () {\n logger.debug('user opened modal: cookieRevokeCentralDanger');\n });\n\n $(document).on('hide.bs.modal','#cookieRevokeCentralDanger', function () {\n logger.debug('user closed cookieRevokeCentralDanger');\n });\n\n // Register pre/post events for modal topFullCookieConsent\n // -----------------------------------------------------------------------\n $(document).on('shown.bs.modal','#topFullCookieConsent', function () {\n if ( stopScrolling ) { $('body').addClass('stop-scrolling'); }\n //\n // place action here\n //\n });\n\n $(document).on('hide.bs.modal','#topFullCookieConsent', function () {\n logger.debug('user closed modal: topFullCookieConsent');\n $('body').removeClass('stop-scrolling');\n });\n\n logText = 'events registered';\n logger.debug(logText);\n\n return true;\n } // END eventHandler\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 ADoc ResultViewer\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\n\nvar timeoutHandle;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n var view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
@@ -1,4 +1,4 @@
1
- !function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/assets/themes/j1/core/js",t(t.s=0)}([function(e,n,t){window.j1.adapter=t(1),window.j1.core=t(2),window.j1.core.navigator=t(3),window.j1.core.cookiebar=t(4),window.j1.core.scrollSmooth=t(5),window.j1.anime=t(6);t(7),t(14)},function(e,n,t){"use strict";
1
+ !function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/assets/themes/j1/core/js",t(t.s=0)}([function(e,n,t){window.j1.adapter=t(1),window.j1.core=t(2),window.j1.core.navigator=t(3),window.j1.core.cookiebar=t(4),window.j1.core.asciidoctor=t(5),window.j1.core.scrollSmooth=t(6),window.j1.anime=t(7);t(8),t(15)},function(e,n,t){"use strict";
2
2
  /*!
3
3
  * J1 Adapter
4
4
  * Copyright (C) 2021 Juergen Adams
@@ -14,4 +14,10 @@
14
14
  * Copyright (C) 2021 Juergen Adams
15
15
  * Licensed under MIT License.
16
16
  */
17
- e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.cookiebar"),o=j1.getCookieNames().user_state,r={},a={renewOnVisit:!1,forceShow:!1,domain:String(window.location.hostname),referrer:String(document.referrer)},i=(e=$.extend(a,n),setInterval((function(e){"finished"==j1.getState()&&(user_state_detected=j1.existsCookie(o),user_state_detected?(t.info("User state cookie found"),r=j1.readCookie(o)):t.error("User state NOT cookie found"),"accepted"==r.cookies_accepted&&$("#quickLinksCookieButton").css("display","block"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted||$("#quickLinksCookieButton").css("display","none"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted&&""!=r.cookies_accepted||$("#topFullCookieConsent").modal("show"),clearInterval(i))})))},eventHandler:function(e){var n,t=log4javascript.getLogger("cookiebar.eventHandler"),o=window.location.pathname,r=document.querySelectorAll("a.btn"),a=(j1.appDetected(),e.deleteOnDecline,e.whitelistedPages),i=(a=[],e.stopScrolling),s=j1.getCookieNames(),l=s.user_state,c={},u=j1.readCookie(l);return logText="register button click events",t.debug(logText),r.forEach((function(e,r){e.addEventListener("click",(function(e){return"policyButton"===this.id?(t.debug("user clicked policyButton"),$("#cookiePolicyInfo").toggle("fast",(function(){$("#modal-footer").toggleClass("modal-footer-hidden modal-footer-show")})),!1):"acceptButton"===this.id?(t.debug("user clicked acceptButton"),(u=j1.readCookie(l)).cookies_accepted="accepted",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","block"),!1):"declineButton"===this.id?(t.debug("user clicked declineButton"),u.cookies_accepted="declined",o=window.location.pathname,n=a.indexOf(o)>-1,t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),t.warn("delete all cookies"),j1.deleteCookie(l),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome(),!1):("revokeCookies"===this.id&&(t.debug("user clicked revokeCookiesButton"),o=window.location.pathname,n=a.indexOf(o)>-1,(u=j1.readCookie(l)).cookies_accepted="declined",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome()),"remainCookies"===this.id?(t.debug("user clicked remainCookiesButton"),!1):void 0)}))})),$(document).on("shown.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user opened modal: cookieRevokeCentralDanger")})),$(document).on("hide.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user closed cookieRevokeCentralDanger")})),$(document).on("shown.bs.modal","#topFullCookieConsent",(function(){i&&$("body").addClass("stop-scrolling")})),$(document).on("hide.bs.modal","#topFullCookieConsent",(function(){t.debug("user closed modal: topFullCookieConsent"),$("body").removeClass("stop-scrolling")})),logText="events registered",t.debug(logText),!0}})},function(e,n,t){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,n){var t,o;o="run module scrollSmooth",(t=log4javascript.getLogger("j1.scrollSmooth.core")).info(o);var r=n.duration,a=n.offset;this.scrollTo(e,{duration:r,offset:a,callback:null}),o="scrollSmooth finished",t.info(o)},scrollTo:function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}}}(jQuery)},function(e,n,t){"use strict";var o={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},r={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,n,t){return Math.min(Math.max(e,n),t)}function l(e,n){return e.indexOf(n)>-1}function c(e,n){return e.apply(null,n)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!o.hasOwnProperty(e)&&!r.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var n=/\(([^)]+)\)/.exec(e);return n?n[1].split(",").map((function(e){return parseFloat(e)})):[]}function f(e,n){var t=d(e),o=s(u.und(t[0])?1:t[0],.1,100),r=s(u.und(t[1])?100:t[1],.1,100),a=s(u.und(t[2])?10:t[2],.1,100),l=s(u.und(t[3])?0:t[3],.1,100),c=Math.sqrt(r/o),f=a/(2*Math.sqrt(r*o)),p=f<1?c*Math.sqrt(1-f*f):0,m=f<1?(f*c-l)/p:-l+c;function v(e){var t=n?n*e/1e3:e;return t=f<1?Math.exp(-t*f*c)*(1*Math.cos(p*t)+m*Math.sin(p*t)):(1+m*t)*Math.exp(-t*c),0===e||1===e?e:1-t}return n?v:function(){var n=i.springs[e];if(n)return n;for(var t=0,o=0;;)if(1===v(t+=1/6)){if(++o>=16)break}else o=0;var r=t*(1/6)*1e3;return i.springs[e]=r,r}}function p(e){return void 0===e&&(e=10),function(n){return Math.ceil(s(n,1e-6,1)*e)*(1/e)}}var m,v,h=function(){function e(e,n){return 1-3*n+3*e}function n(e,n){return 3*n-6*e}function t(e){return 3*e}function o(o,r,a){return((e(r,a)*o+n(r,a))*o+t(r))*o}function r(o,r,a){return 3*e(r,a)*o*o+2*n(r,a)*o+t(r)}return function(e,n,t,a){if(0<=e&&e<=1&&0<=t&&t<=1){var i=new Float32Array(11);if(e!==n||t!==a)for(var s=0;s<11;++s)i[s]=o(.1*s,e,t);return function(r){return e===n&&t===a||0===r||1===r?r:o(l(r),n,a)}}function l(n){for(var a=0,s=1;10!==s&&i[s]<=n;++s)a+=.1;--s;var l=a+.1*((n-i[s])/(i[s+1]-i[s])),c=r(l,e,t);return c>=.001?function(e,n,t,a){for(var i=0;i<4;++i){var s=r(n,t,a);if(0===s)return n;n-=(o(n,t,a)-e)/s}return n}(n,l,e,t):0===c?l:function(e,n,t,r,a){var i,s,l=0;do{(i=o(s=n+(t-n)/2,r,a)-e)>0?t=s:n=s}while(Math.abs(i)>1e-7&&++l<10);return s}(n,a,a+.1,e,t)}}}(),g=(m={linear:function(){return function(e){return e}}},v={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var n,t=4;e<((n=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((3*n-2)/22-e,2)}},Elastic:function(e,n){void 0===e&&(e=1),void 0===n&&(n=.5);var t=s(e,1,10),o=s(n,.1,2);return function(e){return 0===e||1===e?e:-t*Math.pow(2,10*(e-1))*Math.sin((e-1-o/(2*Math.PI)*Math.asin(1/t))*(2*Math.PI)/o)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,n){v[e]=function(){return function(e){return Math.pow(e,n+2)}}})),Object.keys(v).forEach((function(e){var n=v[e];m["easeIn"+e]=n,m["easeOut"+e]=function(e,t){return function(o){return 1-n(e,t)(1-o)}},m["easeInOut"+e]=function(e,t){return function(o){return o<.5?n(e,t)(2*o)/2:1-n(e,t)(-2*o+2)/2}}})),m);function b(e,n){if(u.fnc(e))return e;var t=e.split("(")[0],o=g[t],r=d(e);switch(t){case"spring":return f(e,n);case"cubicBezier":return c(h,r);case"steps":return c(p,r);default:return c(o,r)}}function w(e){try{return document.querySelectorAll(e)}catch(e){return}}function C(e,n){for(var t=e.length,o=arguments.length>=2?arguments[1]:void 0,r=[],a=0;a<t;a++)if(a in e){var i=e[a];n.call(o,i,a,e)&&r.push(i)}return r}function y(e){return e.reduce((function(e,n){return e.concat(u.arr(n)?y(n):n)}),[])}function k(e){return u.arr(e)?e:(u.str(e)&&(e=w(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function $(e,n){return e.some((function(e){return e===n}))}function x(e){var n={};for(var t in e)n[t]=e[t];return n}function S(e,n){var t=x(e);for(var o in e)t[o]=n.hasOwnProperty(o)?n[o]:e[o];return t}function _(e,n){var t=x(e);for(var o in n)t[o]=u.und(e[o])?n[o]:e[o];return t}function j(e){return u.rgb(e)?(t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n=e))?"rgba("+t[1]+",1)":n:u.hex(e)?function(e){var n=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,n,t,o){return n+n+t+t+o+o})),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return"rgba("+parseInt(t[1],16)+","+parseInt(t[2],16)+","+parseInt(t[3],16)+",1)"}(e):u.hsl(e)?function(e){var n,t,o,r=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(r[1],10)/360,i=parseInt(r[2],10)/100,s=parseInt(r[3],10)/100,l=r[4]||1;function c(e,n,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(n-e)*t:t<.5?n:t<2/3?e+(n-e)*(2/3-t)*6:e}if(0==i)n=t=o=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;n=c(d,u,a+1/3),t=c(d,u,a),o=c(d,u,a-1/3)}return"rgba("+255*n+","+255*t+","+255*o+","+l+")"}(e):void 0;var n,t}function T(e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(n)return n[1]}function L(e,n){return u.fnc(e)?e(n.target,n.id,n.total):e}function O(e,n){return e.getAttribute(n)}function q(e,n,t){if($([t,"deg","rad","turn"],T(n)))return n;var o=i.CSS[n+t];if(!u.und(o))return o;var r=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(r),r.style.position="absolute",r.style.width=100+t;var s=100/r.offsetWidth;a.removeChild(r);var l=s*parseFloat(n);return i.CSS[n+t]=l,l}function M(e,n,t){if(n in e.style){var o=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=e.style[n]||getComputedStyle(e).getPropertyValue(o)||"0";return t?q(e,r,t):r}}function N(e,n){return u.dom(e)&&!u.inp(e)&&(O(e,n)||u.svg(e)&&e[n])?"attribute":u.dom(e)&&$(a,n)?"transform":u.dom(e)&&"transform"!==n&&M(e,n)?"css":null!=e[n]?"object":void 0}function E(e){if(u.dom(e)){for(var n,t=e.style.transform||"",o=/(\w+)\(([^)]*)\)/g,r=new Map;n=o.exec(t);)r.set(n[1],n[2]);return r}}function I(e,n,t,o){var r=l(n,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(n),a=E(e).get(n)||r;return t&&(t.transforms.list.set(n,a),t.transforms.last=n),o?q(e,a,o):a}function D(e,n,t,o){switch(N(e,n)){case"transform":return I(e,n,o,t);case"css":return M(e,n,t);case"attribute":return O(e,n);default:return e[n]||0}}function A(e,n){var t=/^(\*=|\+=|-=)/.exec(e);if(!t)return e;var o=T(e)||0,r=parseFloat(n),a=parseFloat(e.replace(t[0],""));switch(t[0][0]){case"+":return r+a+o;case"-":return r-a+o;case"*":return r*a+o}}function B(e,n){if(u.col(e))return j(e);if(/\s/g.test(e))return e;var t=T(e),o=t?e.substr(0,e.length-t.length):e;return n?o+n:o}function P(e,n){return Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2))}function F(e){for(var n,t=e.points,o=0,r=0;r<t.numberOfItems;r++){var a=t.getItem(r);r>0&&(o+=P(n,a)),n=a}return o}function H(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*O(e,"r")}(e);case"rect":return function(e){return 2*O(e,"width")+2*O(e,"height")}(e);case"line":return function(e){return P({x:O(e,"x1"),y:O(e,"y1")},{x:O(e,"x2"),y:O(e,"y2")})}(e);case"polyline":return F(e);case"polygon":return function(e){var n=e.points;return F(e)+P(n.getItem(n.numberOfItems-1),n.getItem(0))}(e)}}function z(e,n){var t=n||{},o=t.el||function(e){for(var n=e.parentNode;u.svg(n)&&u.svg(n.parentNode);)n=n.parentNode;return n}(e),r=o.getBoundingClientRect(),a=O(o,"viewBox"),i=r.width,s=r.height,l=t.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:o,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function R(e,n){function t(t){void 0===t&&(t=0);var o=n+t>=1?n+t:0;return e.el.getPointAtLength(o)}var o=z(e.el,e.svg),r=t(),a=t(-1),i=t(1);switch(e.property){case"x":return(r.x-o.x)*o.w;case"y":return(r.y-o.y)*o.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function Q(e,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,o=B(u.pth(e)?e.totalLength:e,n)+"";return{original:o,numbers:o.match(t)?o.match(t).map(Number):[0],strings:u.str(e)||n?o.split(t):[]}}function V(e){return C(e?y(u.arr(e)?e.map(k):k(e)):[],(function(e,n,t){return t.indexOf(e)===n}))}function Y(e){var n=V(e);return n.map((function(e,t){return{target:e,id:t,total:n.length,transforms:{list:E(e)}}}))}function U(e,n){var t=x(n);if(/^spring/.test(t.easing)&&(t.duration=f(t.easing)),u.arr(e)){var o=e.length;2===o&&!u.obj(e[0])?e={value:e}:u.fnc(n.duration)||(t.duration=n.duration/o)}var r=u.arr(e)?e:[e];return r.map((function(e,t){var o=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(o.delay)&&(o.delay=t?0:n.delay),u.und(o.endDelay)&&(o.endDelay=t===r.length-1?n.endDelay:0),o})).map((function(e){return _(e,t)}))}function X(e,n){var t=[],o=n.keyframes;for(var r in o&&(n=_(function(e){for(var n=C(y(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,n){return e.indexOf(n)<0&&e.push(n),e}),[]),t={},o=function(o){var r=n[o];t[r]=e.map((function(e){var n={};for(var t in e)u.key(t)?t==r&&(n.value=e[t]):n[t]=e[t];return n}))},r=0;r<n.length;r++)o(r);return t}(o),n)),n)u.key(r)&&t.push({name:r,tweens:U(n[r],e)});return t}function Z(e,n){var t;return e.tweens.map((function(o){var r=function(e,n){var t={};for(var o in e){var r=L(e[o],n);u.arr(r)&&1===(r=r.map((function(e){return L(e,n)}))).length&&(r=r[0]),t[o]=r}return t.duration=parseFloat(t.duration),t.delay=parseFloat(t.delay),t}(o,n),a=r.value,i=u.arr(a)?a[1]:a,s=T(i),l=D(n.target,e.name,s,n),c=t?t.to.original:l,d=u.arr(a)?a[0]:c,f=T(d)||T(l),p=s||f;return u.und(i)&&(i=c),r.from=Q(d,p),r.to=Q(A(i,d),p),r.start=t?t.end:0,r.end=r.start+r.delay+r.duration+r.endDelay,r.easing=b(r.easing,r.duration),r.isPath=u.pth(a),r.isColor=u.col(r.from.original),r.isColor&&(r.round=1),t=r,r}))}var W={css:function(e,n,t){return e.style[n]=t},attribute:function(e,n,t){return e.setAttribute(n,t)},object:function(e,n,t){return e[n]=t},transform:function(e,n,t,o,r){if(o.list.set(n,t),n===o.last||r){var a="";o.list.forEach((function(e,n){a+=n+"("+e+") "})),e.style.transform=a}}};function J(e,n){Y(e).forEach((function(e){for(var t in n){var o=L(n[t],e),r=e.target,a=T(o),i=D(r,t,a,e),s=A(B(o,a||T(i)),i),l=N(r,t);W[l](r,t,s,e.transforms,!0)}}))}function G(e,n){return C(y(e.map((function(e){return n.map((function(n){return function(e,n){var t=N(e.target,n.name);if(t){var o=Z(n,e),r=o[o.length-1];return{type:t,property:n.name,animatable:e,tweens:o,duration:r.end,delay:o[0].delay,endDelay:r.endDelay}}}(e,n)}))}))),(function(e){return!u.und(e)}))}function K(e,n){var t=e.length,o=function(e){return e.timelineOffset?e.timelineOffset:0},r={};return r.duration=t?Math.max.apply(Math,e.map((function(e){return o(e)+e.duration}))):n.duration,r.delay=t?Math.min.apply(Math,e.map((function(e){return o(e)+e.delay}))):n.delay,r.endDelay=t?r.duration-Math.max.apply(Math,e.map((function(e){return o(e)+e.duration-e.endDelay}))):n.endDelay,r}var ee=0;var ne,te=[],oe=[],re=function(){function e(){ne=requestAnimationFrame(n)}function n(n){var t=te.length;if(t){for(var o=0;o<t;){var r=te[o];if(r.paused){var a=te.indexOf(r);a>-1&&(te.splice(a,1),t=te.length)}else r.tick(n);o++}e()}else ne=cancelAnimationFrame(ne)}return e}();function ae(e){void 0===e&&(e={});var n,t=0,a=0,i=0,l=0,c=null;function u(e){var n=window.Promise&&new Promise((function(e){return c=e}));return e.finished=n,n}var d=function(e){var n=S(o,e),t=S(r,e),a=X(t,e),i=Y(e.targets),s=G(i,a),l=K(s,t),c=ee;return ee++,_(n,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function f(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,n.forEach((function(e){return e.reversed=d.reversed}))}function p(e){return d.reversed?d.duration-e:e}function m(){t=0,a=p(d.currentTime)*(1/ae.speed)}function v(e,n){n&&n.seek(e-n.timelineOffset)}function h(e){for(var n=0,t=d.animations,o=t.length;n<o;){var r=t[n],a=r.animatable,i=r.tweens,l=i.length-1,c=i[l];l&&(c=C(i,(function(n){return e<n.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,f=isNaN(u)?1:c.easing(u),p=c.to.strings,m=c.round,v=[],h=c.to.numbers.length,g=void 0,b=0;b<h;b++){var w=void 0,y=c.to.numbers[b],k=c.from.numbers[b]||0;w=c.isPath?R(c.value,f*y):k+f*(y-k),m&&(c.isColor&&b>2||(w=Math.round(w*m)/m)),v.push(w)}var $=p.length;if($){g=p[0];for(var x=0;x<$;x++){p[x];var S=p[x+1],_=v[x];isNaN(_)||(g+=S?_+S:_+" ")}}else g=v[0];W[r.type](a.target,r.property,g,a.transforms),r.currentValue=g,n++}}function g(e){d[e]&&!d.passThrough&&d[e](d)}function b(e){var o=d.duration,r=d.delay,m=o-d.endDelay,b=p(e);d.progress=s(b/o*100,0,100),d.reversePlayback=b<d.currentTime,n&&function(e){if(d.reversePlayback)for(var t=l;t--;)v(e,n[t]);else for(var o=0;o<l;o++)v(e,n[o])}(b),!d.began&&d.currentTime>0&&(d.began=!0,g("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,g("loopBegin")),b<=r&&0!==d.currentTime&&h(0),(b>=m&&d.currentTime!==o||!o)&&h(o),b>r&&b<m?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,g("changeBegin")),g("change"),h(b)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,g("changeComplete")),d.currentTime=s(b,0,o),d.began&&g("update"),e>=o&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(t=i,g("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&f()):(d.paused=!0,d.completed||(d.completed=!0,g("loopComplete"),g("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,n=d.children;for(var t=l=n.length;t--;)d.children[t].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,h(d.reversed?d.duration:0)},d.set=function(e,n){return J(e,n),d},d.tick=function(e){i=e,t||(t=i),b((i+(a-t))*ae.speed)},d.seek=function(e){b(p(e))},d.pause=function(){d.paused=!0,m()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,te.push(d),m(),ne||re())},d.reverse=function(){f(),d.completed=!d.reversed,m()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,n){for(var t=n.length;t--;)$(e,n[t].animatable.target)&&n.splice(t,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(te.forEach((function(e){return e.pause()})),oe=te.slice(0),ae.running=te=[]):oe.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=te,ae.remove=function(e){for(var n=V(e),t=te.length;t--;){var o=te[t],r=o.animations,a=o.children;ie(n,r);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(n,l),l.length||s.children.length||a.splice(i,1)}r.length||a.length||o.pause()}},ae.get=D,ae.set=J,ae.convertPx=q,ae.path=function(e,n){var t=u.str(e)?w(e)[0]:e,o=n||100;return function(e){return{property:e,el:t,svg:z(t),totalLength:H(t)*(o/100)}}},ae.setDashoffset=function(e){var n=H(e);return e.setAttribute("stroke-dasharray",n),n},ae.stagger=function(e,n){void 0===n&&(n={});var t=n.direction||"normal",o=n.easing?b(n.easing):null,r=n.grid,a=n.axis,i=n.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),f=d?parseFloat(e[0]):parseFloat(e),p=d?parseFloat(e[1]):0,m=T(d?e[1]:e)||0,v=n.start||0+(d?f:0),h=[],g=0;return function(e,n,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!h.length){for(var b=0;b<u;b++){if(r){var w=l?(r[0]-1)/2:i%r[0],C=l?(r[1]-1)/2:Math.floor(i/r[0]),y=w-b%r[0],k=C-Math.floor(b/r[0]),$=Math.sqrt(y*y+k*k);"x"===a&&($=-y),"y"===a&&($=-k),h.push($)}else h.push(Math.abs(i-b));g=Math.max.apply(Math,h)}o&&(h=h.map((function(e){return o(e/g)*g}))),"reverse"===t&&(h=h.map((function(e){return a?e<0?-1*e:-e:Math.abs(g-e)})))}return v+(d?(p-f)/g:f)*(Math.round(100*h[n])/100)+m}},ae.timeline=function(e){void 0===e&&(e={});var n=ae(e);return n.duration=0,n.add=function(t,o){var a=te.indexOf(n),i=n.children;function s(e){e.passThrough=!0}a>-1&&te.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=_(t,S(r,e));c.targets=c.targets||e.targets;var d=n.duration;c.autoplay=!1,c.direction=n.direction,c.timelineOffset=u.und(o)?d:A(o,d),s(n),n.seek(c.timelineOffset);var f=ae(c);s(f),i.push(f);var p=K(i,e);return n.delay=p.delay,n.endDelay=p.endDelay,n.duration=p.duration,n.seek(0),n.reset(),n.autoplay&&n.play(),n},n},ae.easing=b,ae.penner=g,ae.random=function(e,n){return Math.floor(Math.random()*(n-e+1))+e},e.exports=ae},function(e,n,t){(function(o){var r,a,i,s;s=void 0!==o?o:this.window||this.global,a=[],r=function(e){"use strict";var n,o,r,a=t(9),i={},s={},l=t(10),c=t(11),u=t(12),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var f=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),n&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),n&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},n=0;n<arguments.length;n++){var t=arguments[n];for(var o in t)f.call(t,o)&&(e[o]=t[o])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=t(13).initSmoothScrolling(i)),n=l(i),o=c(i),this._buildHtml=n,this._parseContent=o,s.destroy(),null!==(r=o.selectHeadings(i.contentSelector,i.headingSelector)))){var m=o.nestHeadingsArray(r).nest;i.skipRendering||n.render(i.tocSelector,m),this._scrollListener=p((function(e){n.updateToc(r),!i.disableTocScrollSync&&u(i);var t=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||t)&&(n.updateToc(r),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var v=null;return this._clickListener=p((function(e){i.scrollSmooth&&n.disableTocAnimation(e),n.updateToc(r),v&&clearTimeout(v),v=setTimeout((function(){n.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function p(e,n,t){var o,r;return n||(n=250),function(){var a=t||this,i=+new Date,s=arguments;o&&i<o+n?(clearTimeout(r),r=setTimeout((function(){o=i,e.apply(a,s)}),n)):(o=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof r?r.apply(n,a):r)||(e.exports=i)}).call(this,t(8))},function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,n){e.exports=function(e){var n=[].forEach,t=[].some,o=document.body,r=!0;function a(t,o){var r=o.appendChild(function(t){var o=document.createElement("li"),r=document.createElement("a");e.listItemClass&&o.setAttribute("class",e.listItemClass);e.onClick&&(r.onclick=e.onClick);e.includeHtml&&t.childNodes.length?n.call(t.childNodes,(function(e){r.appendChild(e.cloneNode(!0))})):r.textContent=t.textContent;return r.setAttribute("href",e.basePath+"#"+t.id),r.setAttribute("class",e.linkClass+" node-name--"+t.nodeName+" "+e.extraLinkClasses),o.appendChild(r),o}(t));if(t.children.length){var s=i(t.isCollapsed);t.children.forEach((function(e){a(e,s)})),r.appendChild(s)}}function i(n){var t=e.orderedList?"ol":"ul",o=document.createElement(t),r=e.listClass+" "+e.extraListClasses;return n&&(r+=" "+e.collapsibleClass,r+=" "+e.isCollapsedClass),o.setAttribute("class",r),o}return{enableTocAnimation:function(){r=!0},disableTocAnimation:function(n){var t=n.target||n.srcElement;"string"==typeof t.className&&-1!==t.className.indexOf(e.linkClass)&&(r=!1)},render:function(e,n){var t=i(!1);n.forEach((function(e){a(e,t)}));var o=document.querySelector(e);if(null!==o)return o.firstChild&&o.removeChild(o.firstChild),0===n.length?o:o.appendChild(t)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop,e.positionFixedSelector&&function(){var n;n=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop;var t=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),n>e.fixedSidebarOffset?-1===t.className.indexOf(e.positionFixedClass)&&(t.className+=" "+e.positionFixedClass):t.className=t.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(r&&null!==document.querySelector(e.tocSelector)&&l.length>0){t.call(l,(function(n,t){return function n(t){var o=0;return t!==document.querySelector(e.contentSelector&&null!=t)&&(o=t.offsetTop,e.hasInnerContainers&&(o+=n(t.offsetParent))),o}(n)>i+e.headingsOffset+10?(s=l[t],!0):t===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);n.call(c,(function(n){n.className=n.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);n.call(u,(function(n){n.className=n.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var f=d.parentNode;f&&-1===f.className.indexOf(e.activeListItemClass)&&(f.className+=" "+e.activeListItemClass);var p=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);n.call(p,(function(n){-1===n.className.indexOf(e.isCollapsedClass)&&(n.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function n(t){if(-1!==t.className.indexOf(e.collapsibleClass)&&-1!==t.className.indexOf(e.isCollapsedClass))return t.className=t.className.split(" "+e.isCollapsedClass).join(""),n(t.parentNode.parentNode);return t}(d.parentNode.parentNode)}}}}},function(e,n){e.exports=function(e){var n=[].reduce;function t(e){return e[e.length-1]}function o(e){return+e.nodeName.split("H").join("")}function r(n){if(!(n instanceof window.HTMLElement))return n;if(e.ignoreHiddenElements&&(!n.offsetHeight||!n.offsetParent))return null;var t={id:n.id,children:[],nodeName:n.nodeName,headingLevel:o(n),textContent:e.headingLabelCallback?String(e.headingLabelCallback(n.textContent)):n.textContent.trim()};return e.includeHtml&&(t.childNodes=n.childNodes),e.headingObjectCallback?e.headingObjectCallback(t,n):t}return{nestHeadingsArray:function(o){return n.call(o,(function(n,o){var a=r(o);return a&&function(n,o){for(var a=r(n),i=a.headingLevel,s=o,l=t(s),c=i-(l?l.headingLevel:0);c>0;)(l=t(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,n.nest),n}),{nest:[]})},selectHeadings:function(n,t){var o=t;e.ignoreSelector&&(o=t.split(",").map((function(n){return n.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(n).querySelectorAll(o)}catch(e){return console.warn("Element not found: "+n),null}}}}},function(e,n){e.exports=function(e){var n=document.querySelector(e.tocSelector);if(n&&n.scrollHeight>n.clientHeight){var t=n.querySelector("."+e.activeListItemClass);t&&(n.scrollTop=t.offsetTop)}}},function(e,n){n.initSmoothScrolling=function(e){document.documentElement.style;var n=e.duration,t=e.offset,o=location.hash?r(location.href):location.href;function r(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||r(i.href)!==o&&r(i.href)+"#"!==o||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}(a.target.hash,{duration:n,offset:t,callback:function(){var e,n;e=a.target.hash,(n=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(n.tagName)||(n.tabIndex=-1),n.focus())}})}),!1)}},function(e,n){$((function(){$(".result").each((function(e,n){var t=$(n),o=t.prev().find(".title"),r=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');o.append(r),r.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(t)}))}))}))}]);
17
+ e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.core.cookiebar"),o=j1.getCookieNames().user_state,r={},a={renewOnVisit:!1,forceShow:!1,domain:String(window.location.hostname),referrer:String(document.referrer)},i=(e=$.extend(a,n),setInterval((function(e){"finished"==j1.getState()&&(user_state_detected=j1.existsCookie(o),user_state_detected?(t.info("user state cookie found"),r=j1.readCookie(o)):t.error("user state NOT cookie found"),"accepted"==r.cookies_accepted&&$("#quickLinksCookieButton").css("display","block"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted||$("#quickLinksCookieButton").css("display","none"),"pending"!=r.cookies_accepted&&"declined"!=r.cookies_accepted&&""!=r.cookies_accepted||$("#topFullCookieConsent").modal("show"),clearInterval(i))})))},eventHandler:function(e){var n,t=log4javascript.getLogger("j1.core.cookiebar.eventHandler"),o=window.location.pathname,r=document.querySelectorAll("a.btn"),a=(j1.appDetected(),e.deleteOnDecline,e.whitelistedPages),i=(a=[],e.stopScrolling),s=j1.getCookieNames(),l=s.user_state,c={},u=j1.readCookie(l);return logText="register button click events",t.debug(logText),r.forEach((function(e,r){e.addEventListener("click",(function(e){return"policyButton"===this.id?(t.debug("user clicked policyButton"),$("#cookiePolicyInfo").toggle("fast",(function(){$("#modal-footer").toggleClass("modal-footer-hidden modal-footer-show")})),!1):"acceptButton"===this.id?(t.debug("user clicked acceptButton"),(u=j1.readCookie(l)).cookies_accepted="accepted",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","block"),!1):"declineButton"===this.id?(t.debug("user clicked declineButton"),u.cookies_accepted="declined",o=window.location.pathname,n=a.indexOf(o)>-1,t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),t.warn("delete all cookies"),j1.deleteCookie(l),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome(),!1):("revokeCookies"===this.id&&(t.debug("user clicked revokeCookiesButton"),o=window.location.pathname,n=a.indexOf(o)>-1,(u=j1.readCookie(l)).cookies_accepted="declined",j1.writeCookie({name:l,data:u,expires:365}),t.info("update sidebar"),c=j1.readCookie(s.user_state),user_session=j1.readCookie(s.user_session),current_user_data=j1.mergeData(user_session,c),j1.core.navigator.updateSidebar(current_user_data),$("#quickLinksCookieButton").css("display","none"),n||j1.goHome()),"remainCookies"===this.id?(t.debug("user clicked remainCookiesButton"),!1):void 0)}))})),$(document).on("shown.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user opened modal: cookieRevokeCentralDanger")})),$(document).on("hide.bs.modal","#cookieRevokeCentralDanger",(function(){t.debug("user closed cookieRevokeCentralDanger")})),$(document).on("shown.bs.modal","#topFullCookieConsent",(function(){i&&$("body").addClass("stop-scrolling")})),$(document).on("hide.bs.modal","#topFullCookieConsent",(function(){t.debug("user closed modal: topFullCookieConsent"),$("body").removeClass("stop-scrolling")})),logText="events registered",t.debug(logText),!0}})},function(e,n){
18
+ /*!
19
+ * J1 Asciidoctor
20
+ * Copyright (C) 2021 Juergen Adams
21
+ * Licensed under MIT License.
22
+ */
23
+ e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.core.asciidoctor");e=$.extend({dummyOption:!1},n),logText="J1 Asciidoctor is being initialized",t.info(logText),this.callouts()},callouts:function(e){var n="";0==$(".colist > table > colgroup").length&&(n+="\x3c!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] --\x3e\n",n+='<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>',$(".colist > table").prepend(n))},conums:function(e){var n=setInterval((function(){"finished"==j1.getState()&&0==$(".colist > table > colgroup").length&&($(".colist > table").prepend('<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>'),clearInterval(n))}))}})},function(e,n,t){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,n){var t,o;o="run module scrollSmooth",(t=log4javascript.getLogger("j1.core.scrollSmooth")).info(o);var r=n.duration,a=n.offset;this.scrollTo(e,{duration:r,offset:a,callback:null}),o="scrollSmooth finished",t.info(o)},scrollTo:function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}}}(jQuery)},function(e,n,t){"use strict";var o={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},r={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,n,t){return Math.min(Math.max(e,n),t)}function l(e,n){return e.indexOf(n)>-1}function c(e,n){return e.apply(null,n)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!o.hasOwnProperty(e)&&!r.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var n=/\(([^)]+)\)/.exec(e);return n?n[1].split(",").map((function(e){return parseFloat(e)})):[]}function f(e,n){var t=d(e),o=s(u.und(t[0])?1:t[0],.1,100),r=s(u.und(t[1])?100:t[1],.1,100),a=s(u.und(t[2])?10:t[2],.1,100),l=s(u.und(t[3])?0:t[3],.1,100),c=Math.sqrt(r/o),f=a/(2*Math.sqrt(r*o)),p=f<1?c*Math.sqrt(1-f*f):0,m=f<1?(f*c-l)/p:-l+c;function v(e){var t=n?n*e/1e3:e;return t=f<1?Math.exp(-t*f*c)*(1*Math.cos(p*t)+m*Math.sin(p*t)):(1+m*t)*Math.exp(-t*c),0===e||1===e?e:1-t}return n?v:function(){var n=i.springs[e];if(n)return n;for(var t=0,o=0;;)if(1===v(t+=1/6)){if(++o>=16)break}else o=0;var r=t*(1/6)*1e3;return i.springs[e]=r,r}}function p(e){return void 0===e&&(e=10),function(n){return Math.ceil(s(n,1e-6,1)*e)*(1/e)}}var m,v,h=function(){function e(e,n){return 1-3*n+3*e}function n(e,n){return 3*n-6*e}function t(e){return 3*e}function o(o,r,a){return((e(r,a)*o+n(r,a))*o+t(r))*o}function r(o,r,a){return 3*e(r,a)*o*o+2*n(r,a)*o+t(r)}return function(e,n,t,a){if(0<=e&&e<=1&&0<=t&&t<=1){var i=new Float32Array(11);if(e!==n||t!==a)for(var s=0;s<11;++s)i[s]=o(.1*s,e,t);return function(r){return e===n&&t===a||0===r||1===r?r:o(l(r),n,a)}}function l(n){for(var a=0,s=1;10!==s&&i[s]<=n;++s)a+=.1;--s;var l=a+.1*((n-i[s])/(i[s+1]-i[s])),c=r(l,e,t);return c>=.001?function(e,n,t,a){for(var i=0;i<4;++i){var s=r(n,t,a);if(0===s)return n;n-=(o(n,t,a)-e)/s}return n}(n,l,e,t):0===c?l:function(e,n,t,r,a){var i,s,l=0;do{(i=o(s=n+(t-n)/2,r,a)-e)>0?t=s:n=s}while(Math.abs(i)>1e-7&&++l<10);return s}(n,a,a+.1,e,t)}}}(),g=(m={linear:function(){return function(e){return e}}},v={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var n,t=4;e<((n=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((3*n-2)/22-e,2)}},Elastic:function(e,n){void 0===e&&(e=1),void 0===n&&(n=.5);var t=s(e,1,10),o=s(n,.1,2);return function(e){return 0===e||1===e?e:-t*Math.pow(2,10*(e-1))*Math.sin((e-1-o/(2*Math.PI)*Math.asin(1/t))*(2*Math.PI)/o)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,n){v[e]=function(){return function(e){return Math.pow(e,n+2)}}})),Object.keys(v).forEach((function(e){var n=v[e];m["easeIn"+e]=n,m["easeOut"+e]=function(e,t){return function(o){return 1-n(e,t)(1-o)}},m["easeInOut"+e]=function(e,t){return function(o){return o<.5?n(e,t)(2*o)/2:1-n(e,t)(-2*o+2)/2}}})),m);function b(e,n){if(u.fnc(e))return e;var t=e.split("(")[0],o=g[t],r=d(e);switch(t){case"spring":return f(e,n);case"cubicBezier":return c(h,r);case"steps":return c(p,r);default:return c(o,r)}}function w(e){try{return document.querySelectorAll(e)}catch(e){return}}function C(e,n){for(var t=e.length,o=arguments.length>=2?arguments[1]:void 0,r=[],a=0;a<t;a++)if(a in e){var i=e[a];n.call(o,i,a,e)&&r.push(i)}return r}function y(e){return e.reduce((function(e,n){return e.concat(u.arr(n)?y(n):n)}),[])}function k(e){return u.arr(e)?e:(u.str(e)&&(e=w(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function $(e,n){return e.some((function(e){return e===n}))}function x(e){var n={};for(var t in e)n[t]=e[t];return n}function S(e,n){var t=x(e);for(var o in e)t[o]=n.hasOwnProperty(o)?n[o]:e[o];return t}function j(e,n){var t=x(e);for(var o in n)t[o]=u.und(e[o])?n[o]:e[o];return t}function _(e){return u.rgb(e)?(t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n=e))?"rgba("+t[1]+",1)":n:u.hex(e)?function(e){var n=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,n,t,o){return n+n+t+t+o+o})),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return"rgba("+parseInt(t[1],16)+","+parseInt(t[2],16)+","+parseInt(t[3],16)+",1)"}(e):u.hsl(e)?function(e){var n,t,o,r=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(r[1],10)/360,i=parseInt(r[2],10)/100,s=parseInt(r[3],10)/100,l=r[4]||1;function c(e,n,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(n-e)*t:t<.5?n:t<2/3?e+(n-e)*(2/3-t)*6:e}if(0==i)n=t=o=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;n=c(d,u,a+1/3),t=c(d,u,a),o=c(d,u,a-1/3)}return"rgba("+255*n+","+255*t+","+255*o+","+l+")"}(e):void 0;var n,t}function T(e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(n)return n[1]}function L(e,n){return u.fnc(e)?e(n.target,n.id,n.total):e}function O(e,n){return e.getAttribute(n)}function q(e,n,t){if($([t,"deg","rad","turn"],T(n)))return n;var o=i.CSS[n+t];if(!u.und(o))return o;var r=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(r),r.style.position="absolute",r.style.width=100+t;var s=100/r.offsetWidth;a.removeChild(r);var l=s*parseFloat(n);return i.CSS[n+t]=l,l}function N(e,n,t){if(n in e.style){var o=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=e.style[n]||getComputedStyle(e).getPropertyValue(o)||"0";return t?q(e,r,t):r}}function M(e,n){return u.dom(e)&&!u.inp(e)&&(O(e,n)||u.svg(e)&&e[n])?"attribute":u.dom(e)&&$(a,n)?"transform":u.dom(e)&&"transform"!==n&&N(e,n)?"css":null!=e[n]?"object":void 0}function E(e){if(u.dom(e)){for(var n,t=e.style.transform||"",o=/(\w+)\(([^)]*)\)/g,r=new Map;n=o.exec(t);)r.set(n[1],n[2]);return r}}function I(e,n,t,o){var r=l(n,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(n),a=E(e).get(n)||r;return t&&(t.transforms.list.set(n,a),t.transforms.last=n),o?q(e,a,o):a}function D(e,n,t,o){switch(M(e,n)){case"transform":return I(e,n,o,t);case"css":return N(e,n,t);case"attribute":return O(e,n);default:return e[n]||0}}function A(e,n){var t=/^(\*=|\+=|-=)/.exec(e);if(!t)return e;var o=T(e)||0,r=parseFloat(n),a=parseFloat(e.replace(t[0],""));switch(t[0][0]){case"+":return r+a+o;case"-":return r-a+o;case"*":return r*a+o}}function B(e,n){if(u.col(e))return _(e);if(/\s/g.test(e))return e;var t=T(e),o=t?e.substr(0,e.length-t.length):e;return n?o+n:o}function P(e,n){return Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2))}function F(e){for(var n,t=e.points,o=0,r=0;r<t.numberOfItems;r++){var a=t.getItem(r);r>0&&(o+=P(n,a)),n=a}return o}function H(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*O(e,"r")}(e);case"rect":return function(e){return 2*O(e,"width")+2*O(e,"height")}(e);case"line":return function(e){return P({x:O(e,"x1"),y:O(e,"y1")},{x:O(e,"x2"),y:O(e,"y2")})}(e);case"polyline":return F(e);case"polygon":return function(e){var n=e.points;return F(e)+P(n.getItem(n.numberOfItems-1),n.getItem(0))}(e)}}function z(e,n){var t=n||{},o=t.el||function(e){for(var n=e.parentNode;u.svg(n)&&u.svg(n.parentNode);)n=n.parentNode;return n}(e),r=o.getBoundingClientRect(),a=O(o,"viewBox"),i=r.width,s=r.height,l=t.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:o,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function R(e,n){function t(t){void 0===t&&(t=0);var o=n+t>=1?n+t:0;return e.el.getPointAtLength(o)}var o=z(e.el,e.svg),r=t(),a=t(-1),i=t(1);switch(e.property){case"x":return(r.x-o.x)*o.w;case"y":return(r.y-o.y)*o.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function Q(e,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,o=B(u.pth(e)?e.totalLength:e,n)+"";return{original:o,numbers:o.match(t)?o.match(t).map(Number):[0],strings:u.str(e)||n?o.split(t):[]}}function V(e){return C(e?y(u.arr(e)?e.map(k):k(e)):[],(function(e,n,t){return t.indexOf(e)===n}))}function Y(e){var n=V(e);return n.map((function(e,t){return{target:e,id:t,total:n.length,transforms:{list:E(e)}}}))}function X(e,n){var t=x(n);if(/^spring/.test(t.easing)&&(t.duration=f(t.easing)),u.arr(e)){var o=e.length;2===o&&!u.obj(e[0])?e={value:e}:u.fnc(n.duration)||(t.duration=n.duration/o)}var r=u.arr(e)?e:[e];return r.map((function(e,t){var o=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(o.delay)&&(o.delay=t?0:n.delay),u.und(o.endDelay)&&(o.endDelay=t===r.length-1?n.endDelay:0),o})).map((function(e){return j(e,t)}))}function Z(e,n){var t=[],o=n.keyframes;for(var r in o&&(n=j(function(e){for(var n=C(y(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,n){return e.indexOf(n)<0&&e.push(n),e}),[]),t={},o=function(o){var r=n[o];t[r]=e.map((function(e){var n={};for(var t in e)u.key(t)?t==r&&(n.value=e[t]):n[t]=e[t];return n}))},r=0;r<n.length;r++)o(r);return t}(o),n)),n)u.key(r)&&t.push({name:r,tweens:X(n[r],e)});return t}function J(e,n){var t;return e.tweens.map((function(o){var r=function(e,n){var t={};for(var o in e){var r=L(e[o],n);u.arr(r)&&1===(r=r.map((function(e){return L(e,n)}))).length&&(r=r[0]),t[o]=r}return t.duration=parseFloat(t.duration),t.delay=parseFloat(t.delay),t}(o,n),a=r.value,i=u.arr(a)?a[1]:a,s=T(i),l=D(n.target,e.name,s,n),c=t?t.to.original:l,d=u.arr(a)?a[0]:c,f=T(d)||T(l),p=s||f;return u.und(i)&&(i=c),r.from=Q(d,p),r.to=Q(A(i,d),p),r.start=t?t.end:0,r.end=r.start+r.delay+r.duration+r.endDelay,r.easing=b(r.easing,r.duration),r.isPath=u.pth(a),r.isColor=u.col(r.from.original),r.isColor&&(r.round=1),t=r,r}))}var U={css:function(e,n,t){return e.style[n]=t},attribute:function(e,n,t){return e.setAttribute(n,t)},object:function(e,n,t){return e[n]=t},transform:function(e,n,t,o,r){if(o.list.set(n,t),n===o.last||r){var a="";o.list.forEach((function(e,n){a+=n+"("+e+") "})),e.style.transform=a}}};function W(e,n){Y(e).forEach((function(e){for(var t in n){var o=L(n[t],e),r=e.target,a=T(o),i=D(r,t,a,e),s=A(B(o,a||T(i)),i),l=M(r,t);U[l](r,t,s,e.transforms,!0)}}))}function G(e,n){return C(y(e.map((function(e){return n.map((function(n){return function(e,n){var t=M(e.target,n.name);if(t){var o=J(n,e),r=o[o.length-1];return{type:t,property:n.name,animatable:e,tweens:o,duration:r.end,delay:o[0].delay,endDelay:r.endDelay}}}(e,n)}))}))),(function(e){return!u.und(e)}))}function K(e,n){var t=e.length,o=function(e){return e.timelineOffset?e.timelineOffset:0},r={};return r.duration=t?Math.max.apply(Math,e.map((function(e){return o(e)+e.duration}))):n.duration,r.delay=t?Math.min.apply(Math,e.map((function(e){return o(e)+e.delay}))):n.delay,r.endDelay=t?r.duration-Math.max.apply(Math,e.map((function(e){return o(e)+e.duration-e.endDelay}))):n.endDelay,r}var ee=0;var ne,te=[],oe=[],re=function(){function e(){ne=requestAnimationFrame(n)}function n(n){var t=te.length;if(t){for(var o=0;o<t;){var r=te[o];if(r.paused){var a=te.indexOf(r);a>-1&&(te.splice(a,1),t=te.length)}else r.tick(n);o++}e()}else ne=cancelAnimationFrame(ne)}return e}();function ae(e){void 0===e&&(e={});var n,t=0,a=0,i=0,l=0,c=null;function u(e){var n=window.Promise&&new Promise((function(e){return c=e}));return e.finished=n,n}var d=function(e){var n=S(o,e),t=S(r,e),a=Z(t,e),i=Y(e.targets),s=G(i,a),l=K(s,t),c=ee;return ee++,j(n,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function f(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,n.forEach((function(e){return e.reversed=d.reversed}))}function p(e){return d.reversed?d.duration-e:e}function m(){t=0,a=p(d.currentTime)*(1/ae.speed)}function v(e,n){n&&n.seek(e-n.timelineOffset)}function h(e){for(var n=0,t=d.animations,o=t.length;n<o;){var r=t[n],a=r.animatable,i=r.tweens,l=i.length-1,c=i[l];l&&(c=C(i,(function(n){return e<n.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,f=isNaN(u)?1:c.easing(u),p=c.to.strings,m=c.round,v=[],h=c.to.numbers.length,g=void 0,b=0;b<h;b++){var w=void 0,y=c.to.numbers[b],k=c.from.numbers[b]||0;w=c.isPath?R(c.value,f*y):k+f*(y-k),m&&(c.isColor&&b>2||(w=Math.round(w*m)/m)),v.push(w)}var $=p.length;if($){g=p[0];for(var x=0;x<$;x++){p[x];var S=p[x+1],j=v[x];isNaN(j)||(g+=S?j+S:j+" ")}}else g=v[0];U[r.type](a.target,r.property,g,a.transforms),r.currentValue=g,n++}}function g(e){d[e]&&!d.passThrough&&d[e](d)}function b(e){var o=d.duration,r=d.delay,m=o-d.endDelay,b=p(e);d.progress=s(b/o*100,0,100),d.reversePlayback=b<d.currentTime,n&&function(e){if(d.reversePlayback)for(var t=l;t--;)v(e,n[t]);else for(var o=0;o<l;o++)v(e,n[o])}(b),!d.began&&d.currentTime>0&&(d.began=!0,g("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,g("loopBegin")),b<=r&&0!==d.currentTime&&h(0),(b>=m&&d.currentTime!==o||!o)&&h(o),b>r&&b<m?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,g("changeBegin")),g("change"),h(b)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,g("changeComplete")),d.currentTime=s(b,0,o),d.began&&g("update"),e>=o&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(t=i,g("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&f()):(d.paused=!0,d.completed||(d.completed=!0,g("loopComplete"),g("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,n=d.children;for(var t=l=n.length;t--;)d.children[t].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,h(d.reversed?d.duration:0)},d.set=function(e,n){return W(e,n),d},d.tick=function(e){i=e,t||(t=i),b((i+(a-t))*ae.speed)},d.seek=function(e){b(p(e))},d.pause=function(){d.paused=!0,m()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,te.push(d),m(),ne||re())},d.reverse=function(){f(),d.completed=!d.reversed,m()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,n){for(var t=n.length;t--;)$(e,n[t].animatable.target)&&n.splice(t,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(te.forEach((function(e){return e.pause()})),oe=te.slice(0),ae.running=te=[]):oe.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=te,ae.remove=function(e){for(var n=V(e),t=te.length;t--;){var o=te[t],r=o.animations,a=o.children;ie(n,r);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(n,l),l.length||s.children.length||a.splice(i,1)}r.length||a.length||o.pause()}},ae.get=D,ae.set=W,ae.convertPx=q,ae.path=function(e,n){var t=u.str(e)?w(e)[0]:e,o=n||100;return function(e){return{property:e,el:t,svg:z(t),totalLength:H(t)*(o/100)}}},ae.setDashoffset=function(e){var n=H(e);return e.setAttribute("stroke-dasharray",n),n},ae.stagger=function(e,n){void 0===n&&(n={});var t=n.direction||"normal",o=n.easing?b(n.easing):null,r=n.grid,a=n.axis,i=n.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),f=d?parseFloat(e[0]):parseFloat(e),p=d?parseFloat(e[1]):0,m=T(d?e[1]:e)||0,v=n.start||0+(d?f:0),h=[],g=0;return function(e,n,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!h.length){for(var b=0;b<u;b++){if(r){var w=l?(r[0]-1)/2:i%r[0],C=l?(r[1]-1)/2:Math.floor(i/r[0]),y=w-b%r[0],k=C-Math.floor(b/r[0]),$=Math.sqrt(y*y+k*k);"x"===a&&($=-y),"y"===a&&($=-k),h.push($)}else h.push(Math.abs(i-b));g=Math.max.apply(Math,h)}o&&(h=h.map((function(e){return o(e/g)*g}))),"reverse"===t&&(h=h.map((function(e){return a?e<0?-1*e:-e:Math.abs(g-e)})))}return v+(d?(p-f)/g:f)*(Math.round(100*h[n])/100)+m}},ae.timeline=function(e){void 0===e&&(e={});var n=ae(e);return n.duration=0,n.add=function(t,o){var a=te.indexOf(n),i=n.children;function s(e){e.passThrough=!0}a>-1&&te.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=j(t,S(r,e));c.targets=c.targets||e.targets;var d=n.duration;c.autoplay=!1,c.direction=n.direction,c.timelineOffset=u.und(o)?d:A(o,d),s(n),n.seek(c.timelineOffset);var f=ae(c);s(f),i.push(f);var p=K(i,e);return n.delay=p.delay,n.endDelay=p.endDelay,n.duration=p.duration,n.seek(0),n.reset(),n.autoplay&&n.play(),n},n},ae.easing=b,ae.penner=g,ae.random=function(e,n){return Math.floor(Math.random()*(n-e+1))+e},e.exports=ae},function(e,n,t){(function(o){var r,a,i,s;s=void 0!==o?o:this.window||this.global,a=[],r=function(e){"use strict";var n,o,r,a=t(10),i={},s={},l=t(11),c=t(12),u=t(13),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var f=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),n&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),n&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},n=0;n<arguments.length;n++){var t=arguments[n];for(var o in t)f.call(t,o)&&(e[o]=t[o])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=t(14).initSmoothScrolling(i)),n=l(i),o=c(i),this._buildHtml=n,this._parseContent=o,s.destroy(),null!==(r=o.selectHeadings(i.contentSelector,i.headingSelector)))){var m=o.nestHeadingsArray(r).nest;i.skipRendering||n.render(i.tocSelector,m),this._scrollListener=p((function(e){n.updateToc(r),!i.disableTocScrollSync&&u(i);var t=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||t)&&(n.updateToc(r),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var v=null;return this._clickListener=p((function(e){i.scrollSmooth&&n.disableTocAnimation(e),n.updateToc(r),v&&clearTimeout(v),v=setTimeout((function(){n.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function p(e,n,t){var o,r;return n||(n=250),function(){var a=t||this,i=+new Date,s=arguments;o&&i<o+n?(clearTimeout(r),r=setTimeout((function(){o=i,e.apply(a,s)}),n)):(o=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof r?r.apply(n,a):r)||(e.exports=i)}).call(this,t(9))},function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,n){e.exports=function(e){var n=[].forEach,t=[].some,o=document.body,r=!0;function a(t,o){var r=o.appendChild(function(t){var o=document.createElement("li"),r=document.createElement("a");e.listItemClass&&o.setAttribute("class",e.listItemClass);e.onClick&&(r.onclick=e.onClick);e.includeHtml&&t.childNodes.length?n.call(t.childNodes,(function(e){r.appendChild(e.cloneNode(!0))})):r.textContent=t.textContent;return r.setAttribute("href",e.basePath+"#"+t.id),r.setAttribute("class",e.linkClass+" node-name--"+t.nodeName+" "+e.extraLinkClasses),o.appendChild(r),o}(t));if(t.children.length){var s=i(t.isCollapsed);t.children.forEach((function(e){a(e,s)})),r.appendChild(s)}}function i(n){var t=e.orderedList?"ol":"ul",o=document.createElement(t),r=e.listClass+" "+e.extraListClasses;return n&&(r+=" "+e.collapsibleClass,r+=" "+e.isCollapsedClass),o.setAttribute("class",r),o}return{enableTocAnimation:function(){r=!0},disableTocAnimation:function(n){var t=n.target||n.srcElement;"string"==typeof t.className&&-1!==t.className.indexOf(e.linkClass)&&(r=!1)},render:function(e,n){var t=i(!1);n.forEach((function(e){a(e,t)}));var o=document.querySelector(e);if(null!==o)return o.firstChild&&o.removeChild(o.firstChild),0===n.length?o:o.appendChild(t)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop,e.positionFixedSelector&&function(){var n;n=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop;var t=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),n>e.fixedSidebarOffset?-1===t.className.indexOf(e.positionFixedClass)&&(t.className+=" "+e.positionFixedClass):t.className=t.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(r&&null!==document.querySelector(e.tocSelector)&&l.length>0){t.call(l,(function(n,t){return function n(t){var o=0;return t!==document.querySelector(e.contentSelector&&null!=t)&&(o=t.offsetTop,e.hasInnerContainers&&(o+=n(t.offsetParent))),o}(n)>i+e.headingsOffset+10?(s=l[t],!0):t===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);n.call(c,(function(n){n.className=n.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);n.call(u,(function(n){n.className=n.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var f=d.parentNode;f&&-1===f.className.indexOf(e.activeListItemClass)&&(f.className+=" "+e.activeListItemClass);var p=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);n.call(p,(function(n){-1===n.className.indexOf(e.isCollapsedClass)&&(n.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function n(t){if(-1!==t.className.indexOf(e.collapsibleClass)&&-1!==t.className.indexOf(e.isCollapsedClass))return t.className=t.className.split(" "+e.isCollapsedClass).join(""),n(t.parentNode.parentNode);return t}(d.parentNode.parentNode)}}}}},function(e,n){e.exports=function(e){var n=[].reduce;function t(e){return e[e.length-1]}function o(e){return+e.nodeName.split("H").join("")}function r(n){if(!(n instanceof window.HTMLElement))return n;if(e.ignoreHiddenElements&&(!n.offsetHeight||!n.offsetParent))return null;var t={id:n.id,children:[],nodeName:n.nodeName,headingLevel:o(n),textContent:e.headingLabelCallback?String(e.headingLabelCallback(n.textContent)):n.textContent.trim()};return e.includeHtml&&(t.childNodes=n.childNodes),e.headingObjectCallback?e.headingObjectCallback(t,n):t}return{nestHeadingsArray:function(o){return n.call(o,(function(n,o){var a=r(o);return a&&function(n,o){for(var a=r(n),i=a.headingLevel,s=o,l=t(s),c=i-(l?l.headingLevel:0);c>0;)(l=t(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,n.nest),n}),{nest:[]})},selectHeadings:function(n,t){var o=t;e.ignoreSelector&&(o=t.split(",").map((function(n){return n.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(n).querySelectorAll(o)}catch(e){return console.warn("Element not found: "+n),null}}}}},function(e,n){e.exports=function(e){var n=document.querySelector(e.tocSelector);if(n&&n.scrollHeight>n.clientHeight){var t=n.querySelector("."+e.activeListItemClass);t&&(n.scrollTop=t.offsetTop)}}},function(e,n){n.initSmoothScrolling=function(e){document.documentElement.style;var n=e.duration,t=e.offset,o=location.hash?r(location.href):location.href;function r(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||r(i.href)!==o&&r(i.href)+"#"!==o||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,n){var t,o,r=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,o){return(e/=o/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){o=e-t,window.scrollTo(0,a.easing(o,r,s,l)),o<l?requestAnimationFrame(c):(window.scrollTo(0,r+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}(a.target.hash,{duration:n,offset:t,callback:function(){var e,n;e=a.target.hash,(n=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(n.tagName)||(n.tabIndex=-1),n.focus())}})}),!1)}},function(e,n){$((function(){$(".result").each((function(e,n){var t=$(n),o=t.prev().find(".title"),r=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');o.append(r),r.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(t)}))}))}))}]);
@@ -1 +1 @@
1
- {"version":3,"sources":["dist/template.js"],"names":["e","n","t","o","exports","r","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","window","j1","adapter","core","navigator","cookiebar","scrollSmooth","anime","_init_","$","extend","foo","bar","getState","isMobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","getCookieNames","cookie_consent","user_session","init","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","type","action","text","sendMessage","eventHandler","click","preventDefault","returnValue","hasClass","wrap","Array","find","each","push","html","a","splice","Math","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","width","u","data","f","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","eq","setTimeout","fadeIn","clearTimeout","height","v","offset","top","updateSidebar","JSON","stringify","resolveMacros","updateMacros","jQuery","user_state","renewOnVisit","forceShow","domain","String","location","hostname","referrer","document","setInterval","user_state_detected","existsCookie","readCookie","error","cookies_accepted","modal","clearInterval","pathname","querySelectorAll","appDetected","deleteOnDecline","whitelistedPages","stopScrolling","logText","forEach","addEventListener","id","toggleClass","writeCookie","name","expires","current_user_data","mergeData","indexOf","warn","deleteCookie","goHome","scroll","duration","scrollTo","callback","pageYOffset","easing","querySelector","decodeURI","split","join","getBoundingClientRect","documentElement","body","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","max","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","str","fnc","und","hex","rgb","hsl","col","key","exec","map","parseFloat","sqrt","exp","cos","sin","ceil","h","Float32Array","abs","g","linear","Sine","PI","Circ","Back","Bounce","pow","Elastic","asin","keys","b","w","C","arguments","y","reduce","concat","k","NodeList","HTMLCollection","slice","some","x","S","_","j","replace","parseInt","T","L","target","total","O","getAttribute","q","createElement","tagName","parentNode","appendChild","style","position","offsetWidth","removeChild","M","toLowerCase","getComputedStyle","getPropertyValue","N","E","transform","Map","set","I","transforms","list","D","A","B","P","F","points","numberOfItems","getItem","H","getTotalLength","z","el","viewBox","R","getPointAtLength","property","atan2","Q","totalLength","original","numbers","match","Number","strings","V","Y","U","X","keyframes","tweens","Z","to","from","start","end","isPath","isColor","W","attribute","setAttribute","object","J","G","animatable","K","ee","ne","te","oe","re","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","children","animatables","animations","reversed","currentTime","speed","seek","isNaN","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","hidden","running","version","remove","convertPx","path","setDashoffset","stagger","grid","axis","floor","timeline","add","penner","random","global","destroy","skipRendering","tocSelector","innerHTML","console","scrollContainer","removeEventListener","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","childNodes","cloneNode","textContent","nodeName","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","trim","scrollHeight","clientHeight","hash","href","lastIndexOf","charAt","getElementById","substring","tabIndex","focus","prev","append"],"mappings":"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"}
1
+ {"version":3,"sources":["dist/template.js"],"names":["e","n","t","o","exports","r","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","window","j1","adapter","core","navigator","cookiebar","asciidoctor","scrollSmooth","anime","_init_","$","extend","foo","bar","getState","isMobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","getCookieNames","cookie_consent","user_session","init","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","type","action","text","sendMessage","eventHandler","click","preventDefault","returnValue","hasClass","wrap","Array","find","each","push","html","a","splice","Math","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","width","u","data","f","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","eq","setTimeout","fadeIn","clearTimeout","height","v","offset","top","updateSidebar","JSON","stringify","resolveMacros","updateMacros","jQuery","user_state","renewOnVisit","forceShow","domain","String","location","hostname","referrer","document","setInterval","user_state_detected","existsCookie","readCookie","error","cookies_accepted","modal","clearInterval","pathname","querySelectorAll","appDetected","deleteOnDecline","whitelistedPages","stopScrolling","logText","forEach","addEventListener","id","toggleClass","writeCookie","name","expires","current_user_data","mergeData","indexOf","warn","deleteCookie","goHome","dummyOption","callouts","conums","scroll","duration","scrollTo","callback","pageYOffset","easing","querySelector","decodeURI","split","join","getBoundingClientRect","documentElement","body","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","max","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","str","fnc","und","hex","rgb","hsl","col","key","exec","map","parseFloat","sqrt","exp","cos","sin","ceil","h","Float32Array","abs","g","linear","Sine","PI","Circ","Back","Bounce","pow","Elastic","asin","keys","b","w","C","arguments","y","reduce","concat","k","NodeList","HTMLCollection","slice","some","x","S","j","_","replace","parseInt","T","L","target","total","O","getAttribute","q","createElement","tagName","parentNode","appendChild","style","position","offsetWidth","removeChild","N","toLowerCase","getComputedStyle","getPropertyValue","M","E","transform","Map","set","I","transforms","list","D","A","B","P","F","points","numberOfItems","getItem","H","getTotalLength","z","el","viewBox","R","getPointAtLength","property","atan2","Q","totalLength","original","numbers","match","Number","strings","V","Y","X","Z","keyframes","tweens","J","to","from","start","end","isPath","isColor","U","attribute","setAttribute","object","W","G","animatable","K","ee","ne","te","oe","re","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","children","animatables","animations","reversed","currentTime","speed","seek","isNaN","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","hidden","running","version","remove","convertPx","path","setDashoffset","stagger","grid","axis","floor","timeline","add","penner","random","global","destroy","skipRendering","tocSelector","innerHTML","console","scrollContainer","removeEventListener","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","childNodes","cloneNode","textContent","nodeName","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","trim","scrollHeight","clientHeight","hash","href","lastIndexOf","charAt","getElementById","substring","tabIndex","focus","prev","append"],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
+ <head>
5
+ <title>log4javascript - backwards incompatibilities in version 1.4</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
7
+ <meta name="author" content="Tim Down - tim@log4javascript.org" />
8
+ <meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
9
+ <meta name="robots" content="all" />
10
+ <link rel="stylesheet" type="text/css" media="screen,print" href="../main.css" title="Default" />
11
+ </head>
12
+ <body>
13
+ <div id="container" class="nonav">
14
+ <div id="header">
15
+ <h1><a href="/index.html">log4javascript</a></h1>
16
+ </div>
17
+ <div id="content">
18
+ <div id="nav">
19
+ <a class="navitem" href="../index.html">home</a>
20
+ | <a class="navitem" href="http://sourceforge.net/projects/log4javascript" target="_blank" title="Download (opens in new window)">download</a>
21
+ | <a class="navitem" href="index.html">docs</a>
22
+ | <a class="navitem" href="quickstart.html">quick start</a>
23
+ | <a class="navitem" href="../demos/index.html">demos</a>
24
+ | <a class="navitem" href="http://log4javascript.org" target="_blank">website</a>
25
+ | <a class="navitem" href="http://www.timdown.co.uk" target="_blank">timdown.co.uk</a>
26
+ </div>
27
+ <h1>Backwards incompatibilities in log4javascript 1.4</h1>
28
+ <ul>
29
+ <li>
30
+ Loggers are now hierarchical. This means logger names containing full stops have
31
+ special meaning. For example, from version 1.4 the logger named <code>myapp.ajax</code>
32
+ by default inherits all the appenders of the logger named <code>myapp</code>, while
33
+ prior to version 1.4 these loggers would be entirely independent;
34
+ </li>
35
+ <li>
36
+ The signature of the <code>log</code> method of <code>Logger</code> has changed.
37
+ However, you should not use this method directly; instead, use one of the level-specific
38
+ wrapper functions (<code>debug</code>, <code>info</code>, <code>error</code> etc.);
39
+ </li>
40
+ <li>
41
+ Appenders can no longer be configured via constructor parameters. Instead you must use
42
+ setter methods;
43
+ </li>
44
+ <li>
45
+ The format of requests sent via <code><a href="manual.html#ajaxappender">AjaxAppender</a></code>
46
+ has changed when using <code><a href="manual.html#jsonlayout">JsonLayout</a></code> or
47
+ <code><a href="manual.html#xmllayout">XmlLayout</a></code>: the formatted log messages are sent
48
+ as a name-value pair (with default name <code>data</code>) rather than a single unencoded string;
49
+ </li>
50
+ <li>
51
+ All timestamps returned by <code><a href="manual.html#xmllayout">XmlLayout</a></code>,
52
+ <code><a href="manual.html#jsonlayout">JsonLayout</a></code> and
53
+ <code><a href="manual.html#httppostdatlayout">HttpPostDataLayout</a></code> are
54
+ now measured in milliseconds since January 1st 1970 (previously they were returned
55
+ as seconds since January 1st 1970);
56
+ </li>
57
+ <li>
58
+ The constructors for <a href="manual.html#jsonlayout">JsonLayout</a> and
59
+ <a href="manual.html#httppostdatlayout">HttpPostDataLayout</a> have changed; the property names
60
+ used for the properties of the logging event are now set via <code>setKeys</code> rather than
61
+ in the constructor;
62
+ </li>
63
+ <li>
64
+ <code>setReadable</code> has been removed from <a href="manual.html#jsonlayout">JsonLayout</a>.
65
+ The <code>readable</code> property should now be set via the constructor;
66
+ </li>
67
+ <li>
68
+ <code>addErrorListener</code> and <code>removeErrorListener</code> removed from
69
+ the <code>log4javascript</code> object and replaced with the more generic
70
+ <code><a href="manual.html#log4javascriptaddeventlistener">addEventListener</a></code>
71
+ and <code>removeEventListener</code> methods. The listener functions are passed
72
+ different parameters.
73
+ </li>
74
+ </ul>
75
+ </div>
76
+ <div id="footer">
77
+ <span class="externallinkinfo">
78
+ <strong>NB.</strong> All external links open in a new window.
79
+ </span>
80
+ Written by Tim Down. <a href="mailto:tim@log4javascript.org">tim@log4javascript.org</a>
81
+ <br />
82
+ log4javascript is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html"
83
+ title="Apache License, Version 2.0 (opens in new window)" target="_blank">Apache License,
84
+ Version 2.0</a>
85
+
86
+ </div>
87
+ </div>
88
+
89
+ </body>
90
+ </html>