<!DOCTYPE html>
<!--
Copyright (c) Jupyter Development Team.
Distributed under the terms of the Modified BSD License.
-->
<html>

<head>
  <meta charset="utf-8">

  <title>{% block title %}{{page_title}}{% endblock %}</title>

  {% block stylesheet %}
    {% for css_file in css_files %}
      <link href="{{ css_file }}" rel="stylesheet">
    {% endfor %}
  {% endblock %}

  <script id="jupyter-config-data" type="application/json">{
    {% for key, value in page_config.items() -%}
    "{{ key }}": "{{ value }}",
    {% endfor -%}
    "baseUrl": "{{ base_url }}",
    "wsUrl": "{{ ws_url }}",
    "publicUrl": "{{ public_url }}"
  }</script>

  {% block favicon %}<link rel="shortcut icon" type="image/x-icon" href="{{ base_url }}static/base/images/favicon.ico">{% endblock %}

  {% for js_file in js_files %}
  <script src="{{ js_file }}" type="text/javascript" charset="utf-8"></script>
  {% endfor %}

  {% block meta %}
  {% endblock %}

</head>

<body>

<script type="text/javascript">
  function _remove_token_from_url() {
    if (window.location.search.length <= 1) {
      return;
    }
    var search_parameters = window.location.search.slice(1).split('&');
    for (var i = 0; i < search_parameters.length; i++) {
      if (search_parameters[i].split('=')[0] === 'token') {
        // remote token from search parameters
        search_parameters.splice(i, 1);
        var new_search = '';
        if (search_parameters.length) {
          new_search = '?' + search_parameters.join('&');
        }
        var new_url = window.location.origin +
                      window.location.pathname +
                      new_search +
                      window.location.hash;
        window.history.replaceState({}, "", new_url);
        return;
      }
    }
  }
  _remove_token_from_url();
</script>

</body>

</html>
