diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..92139d9 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: a44a3b5e49715f78f8dd1c4affa19a43 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/ColabFold/AlphaFold2.html b/ColabFold/AlphaFold2.html new file mode 100644 index 0000000..fbac0b1 --- /dev/null +++ b/ColabFold/AlphaFold2.html @@ -0,0 +1,1254 @@ + + + + + + + + + + + + News — Tutorials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

News

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +

Open In Colab

+https://raw.githubusercontent.com/sokrypton/ColabFold/main/.github/ColabFold_Marv_Logo_Small.png +

##ColabFold v1.5.3: AlphaFold2 using MMseqs2

+

Easy to use protein structure and complex prediction using AlphaFold2 and Alphafold2-multimer. Sequence alignments/templates are generated through MMseqs2 and HHsearch. For more details, see bottom of the notebook, checkout the ColabFold GitHub and read our manuscript. +Old versions: v1.4, v1.5.1, v1.5.2

+

Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all. +Nature Methods, 2022

+
+
+

News#

+
    +
  • 2023/07/31: The ColabFold MSA server is back to normal. It was using older DB (UniRef30 2202/PDB70 220313) from 27th ~8:30 AM CEST to 31st ~11:10 AM CEST.

  • +
  • 2023/06/12: New databases! UniRef30 updated to 2023_02 and PDB to 230517. We now use PDB100 instead of PDB70 (see notes).

  • +
  • 2023/06/12: We introduced a new default pairing strategy: Previously, for multimer predictions with more than 2 chains, we only pair if all sequences taxonomically match (“complete” pairing). The new default “greedy” strategy pairs any taxonomically matching subsets.

  • +
+
+
+
# @title Input protein sequence(s), then hit `Runtime` -> `Run all` { display-mode: "form" }
+from google.colab import files
+import os
+import re
+import hashlib
+import random
+
+from sys import version_info
+python_version = f"{version_info.major}.{version_info.minor}"
+
+def add_hash(x,y):
+  return x+"_"+hashlib.sha1(y.encode()).hexdigest()[:5]
+
+query_sequence = 'PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK' #@param {type:"string"}
+#@markdown  - Use `:` to specify inter-protein chainbreaks for **modeling complexes** (supports homo- and hetro-oligomers). For example **PI...SK:PI...SK** for a homodimer
+jobname = 'test' #@param {type:"string"}
+# number of models to use
+num_relax = 0 #@param [0, 1, 5] {type:"raw"}
+#@markdown - specify how many of the top ranked structures to relax using amber
+template_mode = "none" #@param ["none", "pdb100","custom"]
+#@markdown - `none` = no template information is used. `pdb100` = detect templates in pdb100 (see [notes](#pdb100)). `custom` - upload and search own templates (PDB or mmCIF format, see [notes](#custom_templates))
+
+use_amber = num_relax > 0
+
+# remove whitespaces
+query_sequence = "".join(query_sequence.split())
+
+basejobname = "".join(jobname.split())
+basejobname = re.sub(r'\W+', '', basejobname)
+jobname = add_hash(basejobname, query_sequence)
+
+# check if directory with jobname exists
+def check(folder):
+  if os.path.exists(folder):
+    return False
+  else:
+    return True
+if not check(jobname):
+  n = 0
+  while not check(f"{jobname}_{n}"): n += 1
+  jobname = f"{jobname}_{n}"
+
+# make directory to save results
+os.makedirs(jobname, exist_ok=True)
+
+# save queries
+queries_path = os.path.join(jobname, f"{jobname}.csv")
+with open(queries_path, "w") as text_file:
+  text_file.write(f"id,sequence\n{jobname},{query_sequence}")
+
+if template_mode == "pdb100":
+  use_templates = True
+  custom_template_path = None
+elif template_mode == "custom":
+  custom_template_path = os.path.join(jobname,f"template")
+  os.makedirs(custom_template_path, exist_ok=True)
+  uploaded = files.upload()
+  use_templates = True
+  for fn in uploaded.keys():
+    os.rename(fn,os.path.join(custom_template_path,fn))
+else:
+  custom_template_path = None
+  use_templates = False
+
+print("jobname",jobname)
+print("sequence",query_sequence)
+print("length",len(query_sequence.replace(":","")))
+
+
+
+
+
jobname test_a5e17
+sequence PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK
+length 59
+
+
+
+
+
+
+
# @title Install dependencies { display-mode: "form" }
+%%time
+import os
+USE_AMBER = use_amber
+USE_TEMPLATES = use_templates
+PYTHON_VERSION = python_version
+
+if not os.path.isfile("COLABFOLD_READY"):
+  print("installing colabfold...")
+  os.system("pip install -q --no-warn-conflicts 'colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold'")
+  os.system("pip install --upgrade dm-haiku")
+  os.system("ln -s /usr/local/lib/python3.*/dist-packages/colabfold colabfold")
+  os.system("ln -s /usr/local/lib/python3.*/dist-packages/alphafold alphafold")
+  # patch for jax > 0.3.25
+  os.system("sed -i 's/weights = jax.nn.softmax(logits)/logits=jnp.clip(logits,-1e8,1e8);weights=jax.nn.softmax(logits)/g' alphafold/model/modules.py")
+  os.system("touch COLABFOLD_READY")
+
+if USE_AMBER or USE_TEMPLATES:
+  if not os.path.isfile("CONDA_READY"):
+    print("installing conda...")
+    os.system("wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh")
+    os.system("bash Mambaforge-Linux-x86_64.sh -bfp /usr/local")
+    os.system("mamba config --set auto_update_conda false")
+    os.system("touch CONDA_READY")
+
+if USE_TEMPLATES and not os.path.isfile("HH_READY") and USE_AMBER and not os.path.isfile("AMBER_READY"):
+  print("installing hhsuite and amber...")
+  os.system(f"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer")
+  os.system("touch HH_READY")
+  os.system("touch AMBER_READY")
+else:
+  if USE_TEMPLATES and not os.path.isfile("HH_READY"):
+    print("installing hhsuite...")
+    os.system(f"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python='{PYTHON_VERSION}'")
+    os.system("touch HH_READY")
+  if USE_AMBER and not os.path.isfile("AMBER_READY"):
+    print("installing amber...")
+    os.system(f"mamba install -y -c conda-forge openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer")
+    os.system("touch AMBER_READY")
+
+
+
+
+
installing colabfold...
+CPU times: user 114 ms, sys: 27.2 ms, total: 142 ms
+Wall time: 42.9 s
+
+
+
+
+
+
+
#@markdown ### MSA options (custom MSA upload, single sequence, pairing mode)
+msa_mode = "mmseqs2_uniref_env" #@param ["mmseqs2_uniref_env", "mmseqs2_uniref","single_sequence","custom"]
+pair_mode = "unpaired_paired" #@param ["unpaired_paired","paired","unpaired"] {type:"string"}
+#@markdown - "unpaired_paired" = pair sequences from same species + unpaired MSA, "unpaired" = seperate MSA for each chain, "paired" - only use paired sequences.
+
+# decide which a3m to use
+if "mmseqs2" in msa_mode:
+  a3m_file = os.path.join(jobname,f"{jobname}.a3m")
+
+elif msa_mode == "custom":
+  a3m_file = os.path.join(jobname,f"{jobname}.custom.a3m")
+  if not os.path.isfile(a3m_file):
+    custom_msa_dict = files.upload()
+    custom_msa = list(custom_msa_dict.keys())[0]
+    header = 0
+    import fileinput
+    for line in fileinput.FileInput(custom_msa,inplace=1):
+      if line.startswith(">"):
+         header = header + 1
+      if not line.rstrip():
+        continue
+      if line.startswith(">") == False and header == 1:
+         query_sequence = line.rstrip()
+      print(line, end='')
+
+    os.rename(custom_msa, a3m_file)
+    queries_path=a3m_file
+    print(f"moving {custom_msa} to {a3m_file}")
+
+else:
+  a3m_file = os.path.join(jobname,f"{jobname}.single_sequence.a3m")
+  with open(a3m_file, "w") as text_file:
+    text_file.write(">1\n%s" % query_sequence)
+
+
+
+
+
+
+
# @title  { display-mode: "form" }
+#@markdown ### Advanced settings
+model_type = "auto" #@param ["auto", "alphafold2_ptm", "alphafold2_multimer_v1", "alphafold2_multimer_v2", "alphafold2_multimer_v3"]
+#@markdown - if `auto` selected, will use `alphafold2_ptm` for monomer prediction and `alphafold2_multimer_v3` for complex prediction.
+#@markdown Any of the mode_types can be used (regardless if input is monomer or complex).
+num_recycles = "3" #@param ["auto", "0", "1", "3", "6", "12", "24", "48"]
+#@markdown - if `auto` selected, will use `num_recycles=20` if `model_type=alphafold2_multimer_v3`, else `num_recycles=3` .
+recycle_early_stop_tolerance = "auto" #@param ["auto", "0.0", "0.5", "1.0"]
+#@markdown - if `auto` selected, will use `tol=0.5` if `model_type=alphafold2_multimer_v3` else `tol=0.0`.
+relax_max_iterations = 200 #@param [0, 200, 2000] {type:"raw"}
+#@markdown - max amber relax iterations, `0` = unlimited (AlphaFold2 default, can take very long)
+pairing_strategy = "greedy" #@param ["greedy", "complete"] {type:"string"}
+#@markdown - `greedy` = pair any taxonomically matching subsets, `complete` = all sequences have to match in one line.
+
+
+#@markdown #### Sample settings
+#@markdown -  enable dropouts and increase number of seeds to sample predictions from uncertainty of the model.
+#@markdown -  decrease `max_msa` to increase uncertainity
+max_msa = "auto" #@param ["auto", "512:1024", "256:512", "64:128", "32:64", "16:32"]
+num_seeds = 1 #@param [1,2,4,8,16] {type:"raw"}
+use_dropout = False #@param {type:"boolean"}
+
+num_recycles = None if num_recycles == "auto" else int(num_recycles)
+recycle_early_stop_tolerance = None if recycle_early_stop_tolerance == "auto" else float(recycle_early_stop_tolerance)
+if max_msa == "auto": max_msa = None
+
+#@markdown #### Save settings
+save_all = False #@param {type:"boolean"}
+save_recycles = False #@param {type:"boolean"}
+save_to_google_drive = False #@param {type:"boolean"}
+#@markdown -  if the save_to_google_drive option was selected, the result zip will be uploaded to your Google Drive
+dpi = 200 #@param {type:"integer"}
+#@markdown - set dpi for image resolution
+
+if save_to_google_drive:
+  from pydrive.drive import GoogleDrive
+  from pydrive.auth import GoogleAuth
+  from google.colab import auth
+  from oauth2client.client import GoogleCredentials
+  auth.authenticate_user()
+  gauth = GoogleAuth()
+  gauth.credentials = GoogleCredentials.get_application_default()
+  drive = GoogleDrive(gauth)
+  print("You are logged into Google Drive and are good to go!")
+
+#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form.
+
+
+
+
+
+
+
#@title Run Prediction
+display_images = True #@param {type:"boolean"}
+
+import sys
+import warnings
+warnings.simplefilter(action='ignore', category=FutureWarning)
+from Bio import BiopythonDeprecationWarning
+warnings.simplefilter(action='ignore', category=BiopythonDeprecationWarning)
+from pathlib import Path
+from colabfold.download import download_alphafold_params, default_data_dir
+from colabfold.utils import setup_logging
+from colabfold.batch import get_queries, run, set_model_type
+from colabfold.plot import plot_msa_v2
+
+import os
+import numpy as np
+try:
+  K80_chk = os.popen('nvidia-smi | grep "Tesla K80" | wc -l').read()
+except:
+  K80_chk = "0"
+  pass
+if "1" in K80_chk:
+  print("WARNING: found GPU Tesla K80: limited to total length < 1000")
+  if "TF_FORCE_UNIFIED_MEMORY" in os.environ:
+    del os.environ["TF_FORCE_UNIFIED_MEMORY"]
+  if "XLA_PYTHON_CLIENT_MEM_FRACTION" in os.environ:
+    del os.environ["XLA_PYTHON_CLIENT_MEM_FRACTION"]
+
+from colabfold.colabfold import plot_protein
+from pathlib import Path
+import matplotlib.pyplot as plt
+
+# For some reason we need that to get pdbfixer to import
+if use_amber and f"/usr/local/lib/python{python_version}/site-packages/" not in sys.path:
+    sys.path.insert(0, f"/usr/local/lib/python{python_version}/site-packages/")
+
+def input_features_callback(input_features):
+  if display_images:
+    plot_msa_v2(input_features)
+    plt.show()
+    plt.close()
+
+def prediction_callback(protein_obj, length,
+                        prediction_result, input_features, mode):
+  model_name, relaxed = mode
+  if not relaxed:
+    if display_images:
+      fig = plot_protein(protein_obj, Ls=length, dpi=150)
+      plt.show()
+      plt.close()
+
+result_dir = jobname
+log_filename = os.path.join(jobname,"log.txt")
+setup_logging(Path(log_filename))
+
+queries, is_complex = get_queries(queries_path)
+model_type = set_model_type(is_complex, model_type)
+
+if "multimer" in model_type and max_msa is not None:
+  use_cluster_profile = False
+else:
+  use_cluster_profile = True
+
+download_alphafold_params(model_type, Path("."))
+results = run(
+    queries=queries,
+    result_dir=result_dir,
+    use_templates=use_templates,
+    custom_template_path=custom_template_path,
+    num_relax=num_relax,
+    msa_mode=msa_mode,
+    model_type=model_type,
+    num_models=5,
+    num_recycles=num_recycles,
+    relax_max_iterations=relax_max_iterations,
+    recycle_early_stop_tolerance=recycle_early_stop_tolerance,
+    num_seeds=num_seeds,
+    use_dropout=use_dropout,
+    model_order=[1,2,3,4,5],
+    is_complex=is_complex,
+    data_dir=Path("."),
+    keep_existing_results=False,
+    rank_by="auto",
+    pair_mode=pair_mode,
+    pairing_strategy=pairing_strategy,
+    stop_at_score=float(100),
+    prediction_callback=prediction_callback,
+    dpi=dpi,
+    zip_results=False,
+    save_all=save_all,
+    max_msa=max_msa,
+    use_cluster_profile=use_cluster_profile,
+    input_features_callback=input_features_callback,
+    save_recycles=save_recycles,
+    user_agent="colabfold/google-colab-main",
+)
+results_zip = f"{jobname}.result.zip"
+os.system(f"zip -r {results_zip} {jobname}")
+
+
+
+
+
Downloading alphafold2 weights to .: 100%|██████████| 3.47G/3.47G [02:40<00:00, 23.2MB/s]
+
+
+
2023-12-07 22:02:42,821 Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: "rocm". Available platform names are: CUDA
+2023-12-07 22:02:42,823 Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory
+2023-12-07 22:02:44,726 Running on GPU
+2023-12-07 22:02:44,904 Found 4 citations for tools or databases
+2023-12-07 22:02:44,904 Query 1/1: test_a5e17 (length 59)
+
+
+
COMPLETE: 100%|██████████| 150/150 [elapsed: 00:01 remaining: 00:00]
+
+
+../_images/9994329806f45a5389c0debb2644aa89065e9c2ac09ed381afb2155d0ef75450.png +
2023-12-07 22:02:47,182 Setting max_seq=512, max_extra_seq=5120
+
+
+
---------------------------------------------------------------------------
+KeyboardInterrupt                         Traceback (most recent call last)
+<ipython-input-5-06098a2c69e9> in <cell line: 65>()
+     63 
+     64 download_alphafold_params(model_type, Path("."))
+---> 65 results = run(
+     66     queries=queries,
+     67     result_dir=result_dir,
+
+/content/colabfold/batch.py in run(queries, result_dir, num_models, is_complex, num_recycles, recycle_early_stop_tolerance, model_order, num_ensemble, model_type, msa_mode, use_templates, custom_template_path, num_relax, relax_max_iterations, relax_tolerance, relax_stiffness, relax_max_outer_iterations, keep_existing_results, rank_by, pair_mode, pairing_strategy, data_dir, host_url, user_agent, random_seed, num_seeds, recompile_padding, zip_results, prediction_callback, save_single_representations, save_pair_representations, save_all, save_recycles, use_dropout, use_gpu_relax, stop_at_score, dpi, max_seq, max_extra_seq, pdb_hit_file, local_pdb_path, use_cluster_profile, feature_dict_callback, **kwargs)
+   1568                     first_job = False
+   1569 
+-> 1570                 results = predict_structure(
+   1571                     prefix=jobname,
+   1572                     result_dir=result_dir,
+
+/content/colabfold/batch.py in predict_structure(prefix, result_dir, feature_dict, is_complex, use_templates, sequences_lengths, pad_len, model_type, model_runner_and_params, num_relax, relax_max_iterations, relax_tolerance, relax_stiffness, relax_max_outer_iterations, rank_by, random_seed, num_seeds, stop_at_score, prediction_callback, use_gpu_relax, save_all, save_single_representations, save_pair_representations, save_recycles)
+    419             # predict
+    420             result, recycles = \
+--> 421             model_runner.predict(input_features,
+    422                 random_seed=seed,
+    423                 return_representations=return_representations,
+
+/content/alphafold/model/model.py in predict(self, feat, random_seed, return_representations, callback)
+    183         # run
+    184         key, sub_key = jax.random.split(key)
+--> 185         result, prev = run(sub_key, sub_feat, prev)
+    186 
+    187         if return_representations:
+
+/content/alphafold/model/model.py in run(key, feat, prev)
+    163             x[k] = np.asarray(v,np.float16)
+    164         return x
+--> 165       result = _jnp_to_np(self.apply(self.params, key, {**feat, "prev":prev}))
+    166       prev = result.pop("prev")
+    167       return result, prev
+
+    [... skipping hidden 1 frame]
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py in cache_miss(*args, **kwargs)
+    254   @api_boundary
+    255   def cache_miss(*args, **kwargs):
+--> 256     outs, out_flat, out_tree, args_flat, jaxpr = _python_pjit_helper(
+    257         fun, infer_params_fn, *args, **kwargs)
+    258     executable = _read_most_recent_pjit_call_executable(jaxpr)
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py in _python_pjit_helper(fun, infer_params_fn, *args, **kwargs)
+    165     dispatch.check_arg(arg)
+    166   try:
+--> 167     out_flat = pjit_p.bind(*args_flat, **params)
+    168   except pxla.DeviceAssignmentMismatchError as e:
+    169     fails, = e.args
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/core.py in bind(self, *args, **params)
+   2654     top_trace = (top_trace if not axis_main or axis_main.level < top_trace.level
+   2655                  else axis_main.with_cur_sublevel())
+-> 2656     return self.bind_with_trace(top_trace, args, params)
+   2657 
+   2658 
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/core.py in bind_with_trace(self, trace, args, params)
+    386 
+    387   def bind_with_trace(self, trace, args, params):
+--> 388     out = trace.process_primitive(self, map(trace.full_raise, args), params)
+    389     return map(full_lower, out) if self.multiple_results else full_lower(out)
+    390 
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/core.py in process_primitive(self, primitive, tracers, params)
+    866 
+    867   def process_primitive(self, primitive, tracers, params):
+--> 868     return primitive.impl(*tracers, **params)
+    869 
+    870   def process_call(self, primitive, f, tracers, params):
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py in _pjit_call_impl(jaxpr, in_shardings, out_shardings, resource_env, donated_invars, name, keep_unused, inline, *args)
+   1210   has_explicit_sharding = _pjit_explicit_sharding(
+   1211       in_shardings, out_shardings, None, None)
+-> 1212   return xc._xla.pjit(name, f, call_impl_cache_miss, [], [], donated_argnums,
+   1213                       tree_util.dispatch_registry,
+   1214                       _get_cpp_global_cache(has_explicit_sharding))(*args)
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py in call_impl_cache_miss(*args_, **kwargs_)
+   1194                     donated_invars, name, keep_unused, inline):
+   1195   def call_impl_cache_miss(*args_, **kwargs_):
+-> 1196     out_flat, compiled = _pjit_call_impl_python(
+   1197         *args, jaxpr=jaxpr, in_shardings=in_shardings,
+   1198         out_shardings=out_shardings, resource_env=resource_env,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py in _pjit_call_impl_python(jaxpr, in_shardings, out_shardings, resource_env, donated_invars, name, keep_unused, inline, *args)
+   1127       resource_env.physical_mesh if resource_env is not None else None)
+   1128 
+-> 1129   compiled = _pjit_lower(
+   1130       jaxpr, in_shardings, out_shardings, resource_env,
+   1131       donated_invars, name, keep_unused, inline,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py in _pjit_lower(jaxpr, in_shardings, out_shardings, *args, **kwargs)
+   1258   in_shardings = SameDeviceAssignmentTuple(tuple(in_shardings), da)
+   1259   out_shardings = SameDeviceAssignmentTuple(tuple(out_shardings), da)
+-> 1260   return _pjit_lower_cached(jaxpr, in_shardings, out_shardings, *args, **kwargs)
+   1261 
+   1262 
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py in _pjit_lower_cached(jaxpr, sdat_in_shardings, sdat_out_shardings, resource_env, donated_invars, name, keep_unused, inline, lowering_parameters)
+   1297       lowering_parameters=lowering_parameters)
+   1298   else:
+-> 1299     return pxla.lower_sharding_computation(
+   1300         jaxpr, api_name, name, in_shardings, out_shardings,
+   1301         tuple(donated_invars), tuple(jaxpr.in_avals),
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/profiler.py in wrapper(*args, **kwargs)
+    338   def wrapper(*args, **kwargs):
+    339     with TraceAnnotation(name, **decorator_kwargs):
+--> 340       return func(*args, **kwargs)
+    341     return wrapper
+    342   return wrapper
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/pxla.py in lower_sharding_computation(fun_or_jaxpr, api_name, fun_name, in_shardings, out_shardings, donated_invars, global_in_avals, keep_unused, inline, devices_from_context, lowering_parameters)
+   2029   semantic_out_shardings = SemanticallyEqualShardings(out_shardings)
+   2030   (module, keepalive, host_callbacks, unordered_effects, ordered_effects,
+-> 2031    nreps, tuple_args, shape_poly_state) = _cached_lowering_to_hlo(
+   2032        closed_jaxpr, api_name, fun_name, backend, semantic_in_shardings,
+   2033        semantic_out_shardings, da_object,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/pxla.py in _cached_lowering_to_hlo(closed_jaxpr, api_name, fun_name, backend, semantic_in_shardings, semantic_out_shardings, da_object, donated_invars, name_stack, all_default_mem_kind, lowering_parameters)
+   1830         "Finished jaxpr to MLIR module conversion {fun_name} in {elapsed_time} sec",
+   1831         fun_name=str(name_stack), event=dispatch.JAXPR_TO_MLIR_MODULE_EVENT):
+-> 1832     lowering_result = mlir.lower_jaxpr_to_module(
+   1833         module_name,
+   1834         closed_jaxpr,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in lower_jaxpr_to_module(module_name, jaxpr, ordered_effects, backend_or_name, platforms, axis_context, name_stack, donated_args, replicated_args, arg_shardings, result_shardings, arg_names, result_names, num_replicas, num_partitions, all_default_mem_kind, lowering_parameters)
+    804     attrs["mhlo.num_partitions"] = i32_attr(num_partitions)
+    805     replace_tokens_with_dummy = lowering_parameters.replace_tokens_with_dummy
+--> 806     lower_jaxpr_to_fun(
+    807         ctx, "main", jaxpr, ordered_effects, public=True,
+    808         create_tokens=replace_tokens_with_dummy,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in lower_jaxpr_to_fun(ctx, name, jaxpr, effects, create_tokens, public, replace_tokens_with_dummy, replicated_args, arg_shardings, result_shardings, use_sharding_annotations, input_output_aliases, num_output_tokens, api_name, arg_names, result_names, arg_memory_kinds, result_memory_kinds)
+   1211     callee_name_stack = ctx.name_stack.extend(util.wrap_name(name, api_name))
+   1212     consts = [ir_constants(xla.canonicalize_dtype(x)) for x in jaxpr.consts]
+-> 1213     out_vals, tokens_out = jaxpr_subcomp(
+   1214         ctx.replace(name_stack=callee_name_stack), jaxpr.jaxpr, tokens_in,
+   1215         consts, *args, dim_var_values=dim_var_values)
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in jaxpr_subcomp(ctx, jaxpr, tokens, consts, dim_var_values, *args)
+   1429       if len(ctx.platforms) == 1:
+   1430         # Classic, single-platform lowering
+-> 1431         ans = rule(rule_ctx, *rule_inputs, **eqn.params)
+   1432       else:
+   1433         ans = lower_multi_platform(rule_ctx, str(eqn), rules,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in f_lowered(ctx, *args, **params)
+   1626       # TODO(frostig,mattjj): check ctx.avals_out against jaxpr avals out?
+   1627 
+-> 1628     out, tokens = jaxpr_subcomp(
+   1629         ctx.module_context, jaxpr, ctx.tokens_in, _ir_consts(consts),
+   1630         *map(wrap_singleton_ir_values, args), dim_var_values=ctx.dim_var_values)
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in jaxpr_subcomp(ctx, jaxpr, tokens, consts, dim_var_values, *args)
+   1429       if len(ctx.platforms) == 1:
+   1430         # Classic, single-platform lowering
+-> 1431         ans = rule(rule_ctx, *rule_inputs, **eqn.params)
+   1432       else:
+   1433         ans = lower_multi_platform(rule_ctx, str(eqn), rules,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/lax/control_flow/loops.py in _while_lowering(ctx, cond_jaxpr, body_jaxpr, cond_nconsts, body_nconsts, *args)
+   1670     body_consts = [mlir.ir_constants(xla.canonicalize_dtype(x))
+   1671                    for x in body_jaxpr.consts]
+-> 1672     new_z, tokens_out = mlir.jaxpr_subcomp(body_ctx, body_jaxpr.jaxpr,
+   1673         tokens_in, body_consts, *(y + z), dim_var_values=ctx.dim_var_values)
+   1674     out_tokens = [tokens_out.get(eff) for eff in body_effects]
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in jaxpr_subcomp(ctx, jaxpr, tokens, consts, dim_var_values, *args)
+   1429       if len(ctx.platforms) == 1:
+   1430         # Classic, single-platform lowering
+-> 1431         ans = rule(rule_ctx, *rule_inputs, **eqn.params)
+   1432       else:
+   1433         ans = lower_multi_platform(rule_ctx, str(eqn), rules,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in f_lowered(ctx, *args, **params)
+   1626       # TODO(frostig,mattjj): check ctx.avals_out against jaxpr avals out?
+   1627 
+-> 1628     out, tokens = jaxpr_subcomp(
+   1629         ctx.module_context, jaxpr, ctx.tokens_in, _ir_consts(consts),
+   1630         *map(wrap_singleton_ir_values, args), dim_var_values=ctx.dim_var_values)
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in jaxpr_subcomp(ctx, jaxpr, tokens, consts, dim_var_values, *args)
+   1429       if len(ctx.platforms) == 1:
+   1430         # Classic, single-platform lowering
+-> 1431         ans = rule(rule_ctx, *rule_inputs, **eqn.params)
+   1432       else:
+   1433         ans = lower_multi_platform(rule_ctx, str(eqn), rules,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/lax/control_flow/loops.py in _while_lowering(ctx, cond_jaxpr, body_jaxpr, cond_nconsts, body_nconsts, *args)
+   1632         mlir.ir_constants(xla.canonicalize_dtype(x)) for x in cond_jaxpr.consts
+   1633     ]
+-> 1634     ((pred,),), _ = mlir.jaxpr_subcomp(
+   1635         cond_ctx,
+   1636         cond_jaxpr.jaxpr,
+
+/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py in jaxpr_subcomp(ctx, jaxpr, tokens, consts, dim_var_values, *args)
+   1313   return func_op
+   1314 
+-> 1315 def jaxpr_subcomp(ctx: ModuleContext, jaxpr: core.Jaxpr,
+   1316                   tokens: TokenSet,
+   1317                   consts: Sequence[Sequence[ir.Value]],
+
+KeyboardInterrupt: 
+
+
+
+
+
+
+
#@title Display 3D structure {run: "auto"}
+import py3Dmol
+import glob
+import matplotlib.pyplot as plt
+from colabfold.colabfold import plot_plddt_legend
+from colabfold.colabfold import pymol_color_list, alphabet_list
+rank_num = 1 #@param ["1", "2", "3", "4", "5"] {type:"raw"}
+color = "lDDT" #@param ["chain", "lDDT", "rainbow"]
+show_sidechains = False #@param {type:"boolean"}
+show_mainchains = False #@param {type:"boolean"}
+
+tag = results["rank"][0][rank_num - 1]
+jobname_prefix = ".custom" if msa_mode == "custom" else ""
+pdb_filename = f"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb"
+pdb_file = glob.glob(pdb_filename)
+
+def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color="lDDT"):
+  model_name = f"rank_{rank_num}"
+  view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)
+  view.addModel(open(pdb_file[0],'r').read(),'pdb')
+
+  if color == "lDDT":
+    view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})
+  elif color == "rainbow":
+    view.setStyle({'cartoon': {'color':'spectrum'}})
+  elif color == "chain":
+    chains = len(queries[0][1]) + 1 if is_complex else 1
+    for n,chain,color in zip(range(chains),alphabet_list,pymol_color_list):
+       view.setStyle({'chain':chain},{'cartoon': {'color':color}})
+
+  if show_sidechains:
+    BB = ['C','O','N']
+    view.addStyle({'and':[{'resn':["GLY","PRO"],'invert':True},{'atom':BB,'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"GLY"},{'atom':'CA'}]},
+                        {'sphere':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"PRO"},{'atom':['C','O'],'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+  if show_mainchains:
+    BB = ['C','O','N','CA']
+    view.addStyle({'atom':BB},{'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+
+  view.zoomTo()
+  return view
+
+show_pdb(rank_num, show_sidechains, show_mainchains, color).show()
+if color == "lDDT":
+  plot_plddt_legend().show()
+
+
+
+
+
+
+
#@title Plots {run: "auto"}
+from IPython.display import display, HTML
+import base64
+from html import escape
+
+# see: https://stackoverflow.com/a/53688522
+def image_to_data_url(filename):
+  ext = filename.split('.')[-1]
+  prefix = f'data:image/{ext};base64,'
+  with open(filename, 'rb') as f:
+    img = f.read()
+  return prefix + base64.b64encode(img).decode('utf-8')
+
+pae = image_to_data_url(os.path.join(jobname,f"{jobname}{jobname_prefix}_pae.png"))
+cov = image_to_data_url(os.path.join(jobname,f"{jobname}{jobname_prefix}_coverage.png"))
+plddt = image_to_data_url(os.path.join(jobname,f"{jobname}{jobname_prefix}_plddt.png"))
+display(HTML(f"""
+<style>
+  img {{
+    float:left;
+  }}
+  .full {{
+    max-width:100%;
+  }}
+  .half {{
+    max-width:50%;
+  }}
+  @media (max-width:640px) {{
+    .half {{
+      max-width:100%;
+    }}
+  }}
+</style>
+<div style="max-width:90%; padding:2em;">
+  <h1>Plots for {escape(jobname)}</h1>
+  <img src="{pae}" class="full" />
+  <img src="{cov}" class="half" />
+  <img src="{plddt}" class="half" />
+</div>
+"""))
+
+
+
+
+
+
+
#@title Package and download results
+#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \"Download\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).
+
+if msa_mode == "custom":
+  print("Don't forget to cite your custom MSA generation method.")
+
+files.download(f"{jobname}.result.zip")
+
+if save_to_google_drive == True and drive:
+  uploaded = drive.CreateFile({'title': f"{jobname}.result.zip"})
+  uploaded.SetContentFile(f"{jobname}.result.zip")
+  uploaded.Upload()
+  print(f"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}")
+
+
+
+
+
+
+

Instructions #

+

Quick start

+
    +
  1. Paste your protein sequence(s) in the input field.

  2. +
  3. Press “Runtime” -> “Run all”.

  4. +
  5. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.

  6. +
+

Result zip file contents

+
    +
  1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if use_amber is enabled).

  2. +
  3. Plots of the model quality.

  4. +
  5. Plots of the MSA coverage.

  6. +
  7. Parameter log file.

  8. +
  9. A3M formatted input MSA.

  10. +
  11. A predicted_aligned_error_v1.json using AlphaFold-DB’s format and a scores.json for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.

  12. +
  13. BibTeX file with citations for all used tools and databases.

  14. +
+

At the end of the job a download modal box will pop up with a jobname.result.zip file. Additionally, if the save_to_google_drive option was selected, the jobname.result.zip will be uploaded to your Google Drive.

+

MSA generation for complexes

+

For the complex prediction we use unpaired and paired MSAs. Unpaired MSA is generated the same way as for the protein structures prediction by searching the UniRef100 and environmental sequences three iterations each.

+

The paired MSA is generated by searching the UniRef100 database and pairing the best hits sharing the same NCBI taxonomic identifier (=species or sub-species). We only pair sequences if all of the query sequences are present for the respective taxonomic identifier.

+

Using a custom MSA as input

+

To predict the structure with a custom MSA (A3M formatted): (1) Change the msa_mode: to “custom”, (2) Wait for an upload box to appear at the end of the “MSA options …” box. Upload your A3M. The first fasta entry of the A3M must be the query sequence without gaps.

+

It is also possilbe to proide custom MSAs for complex predictions. Read more about the format here.

+

As an alternative for MSA generation the HHblits Toolkit server can be used. After submitting your query, click “Query Template MSA” -> “Download Full A3M”. Download the A3M file and upload it in this notebook.

+

PDB100

+

As of 23/06/08, we have transitioned from using the PDB70 to a 100% clustered PDB, the PDB100. The construction methodology of PDB100 differs from that of PDB70.

+

The PDB70 was constructed by running each PDB70 representative sequence through HHblits against the Uniclust30. On the other hand, the PDB100 is built by searching each PDB100 representative structure with Foldseek against the AlphaFold Database.

+

To maintain compatibility with older Notebook versions and local installations, the generated files and API responses will continue to be named “PDB70”, even though we’re now using the PDB100.

+

Using custom templates

+

To predict the structure with a custom template (PDB or mmCIF formatted): (1) change the template_mode to “custom” in the execute cell and (2) wait for an upload box to appear at the end of the “Input Protein” box. Select and upload your templates (multiple choices are possible).

+
    +
  • Templates must follow the four letter PDB naming with lower case letters.

  • +
  • Templates in mmCIF format must contain _entity_poly_seq. An error is thrown if this field is not present. The field _pdbx_audit_revision_history.revision_date is automatically generated if it is not present.

  • +
  • Templates in PDB format are automatically converted to the mmCIF format. _entity_poly_seq and _pdbx_audit_revision_history.revision_date are automatically generated.

  • +
+

If you encounter problems, please report them to this issue.

+

Comparison to the full AlphaFold2 and AlphaFold2 Colab

+

This notebook replaces the homology detection and MSA pairing of AlphaFold2 with MMseqs2. For a comparison against the AlphaFold2 Colab and the full AlphaFold2 system read our paper.

+

Troubleshooting

+
    +
  • Check that the runtime type is set to GPU at “Runtime” -> “Change runtime type”.

  • +
  • Try to restart the session “Runtime” -> “Factory reset runtime”.

  • +
  • Check your input sequence.

  • +
+

Known issues

+
    +
  • Google Colab assigns different types of GPUs with varying amount of memory. Some might not have enough memory to predict the structure for a long sequence.

  • +
  • Your browser can block the pop-up for downloading the result file. You can choose the save_to_google_drive option to upload to Google Drive instead or manually download the result file: Click on the little folder icon to the left, navigate to file: jobname.result.zip, right-click and select “Download” (see screenshot).

  • +
+

Limitations

+
    +
  • Computing resources: Our MMseqs2 API can handle ~20-50k requests per day.

  • +
  • MSAs: MMseqs2 is very precise and sensitive but might find less hits compared to HHblits/HMMer searched against BFD or MGnify.

  • +
  • We recommend to additionally use the full AlphaFold2 pipeline.

  • +
+

Description of the plots

+
    +
  • Number of sequences per position - We want to see at least 30 sequences per position, for best performance, ideally 100 sequences.

  • +
  • Predicted lDDT per position - model confidence (out of 100) at each position. The higher the better.

  • +
  • Predicted Alignment Error - For homooligomers, this could be a useful metric to assess how confident the model is about the interface. The lower the better.

  • +
+

Bugs

+ +

License

+

The source code of ColabFold is licensed under MIT. Additionally, this notebook uses the AlphaFold2 source code and its parameters licensed under Apache 2.0 and CC BY 4.0 respectively. Read more about the AlphaFold license here.

+

Acknowledgments

+
    +
  • We thank the AlphaFold team for developing an excellent model and open sourcing the software.

  • +
  • KOBIC and Söding Lab for providing the computational resources for the MMseqs2 MSA server.

  • +
  • Richard Evans for helping to benchmark the ColabFold’s Alphafold-multimer support.

  • +
  • David Koes for his awesome py3Dmol plugin, without whom these notebooks would be quite boring!

  • +
  • Do-Yoon Kim for creating the ColabFold logo.

  • +
  • A colab by Sergey Ovchinnikov (@sokrypton), Milot Mirdita (@milot_mirdita) and Martin Steinegger (@thesteinegger).

  • +
+
+ + + + +
+ + + + + + +
+ + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/ColabFold/Tutorial_Monomer.html b/ColabFold/Tutorial_Monomer.html new file mode 100644 index 0000000..9ddf06e --- /dev/null +++ b/ColabFold/Tutorial_Monomer.html @@ -0,0 +1,1339 @@ + + + + + + + + + + + + 1. ColabFold Tutorial: Predicting the structure of Bax protein — Tutorials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

1. ColabFold Tutorial: Predicting the structure of Bax protein

+ +
+ +
+
+ + + + +
+ +

Open In Colab

+
+
+
%%time
+
+# @title **Install Python Packages** { run: "auto", display-mode: "form" }
+
+import os
+from sys import version_info
+PYTHON_VERSION = f"{version_info.major}.{version_info.minor}"
+
+if not os.path.isfile("COLABFOLD_READY"):
+  print("installing colabfold...")
+  os.system("pip install -q --no-warn-conflicts 'colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold'")
+  os.system("pip install --upgrade dm-haiku")
+  os.system("ln -s /usr/local/lib/python3.*/dist-packages/colabfold colabfold")
+  os.system("ln -s /usr/local/lib/python3.*/dist-packages/alphafold alphafold")
+  # patch for jax > 0.3.25
+  os.system("sed -i 's/weights = jax.nn.softmax(logits)/logits=jnp.clip(logits,-1e8,1e8);weights=jax.nn.softmax(logits)/g' alphafold/model/modules.py")
+  os.system("touch COLABFOLD_READY")
+
+
+if not os.path.isfile("CONDA_READY"):
+  print("installing conda...")
+  os.system("wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh")
+  os.system("bash Miniforge3-Linux-x86_64.sh -bfp /usr/local")
+  os.system("conda config --set auto_update_conda false")
+  os.system("touch CONDA_READY")
+
+
+if not os.path.isfile("CONDA_READY"):
+  print("installing conda...")
+  os.system("wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh")
+  os.system("bash Mambaforge-Linux-x86_64.sh -bfp /usr/local")
+  os.system("mamba config --set auto_update_conda false")
+  os.system("touch CONDA_READY")
+
+
+if not os.path.isfile("HH_READY") and not os.path.isfile("AMBER_READY"):
+  print("installing hhsuite and amber...")
+  os.system(f"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer")
+  os.system("touch HH_READY")
+  os.system("touch AMBER_READY")
+else:
+  if not os.path.isfile("HH_READY"):
+    print("installing hhsuite...")
+    os.system(f"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python='{PYTHON_VERSION}'")
+    os.system("touch HH_READY")
+  if not os.path.isfile("AMBER_READY"):
+    print("installing amber...")
+    os.system(f"mamba install -y -c conda-forge openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer")
+    os.system("touch AMBER_READY")
+
+
+
+
+
installing colabfold...
+installing conda...
+installing hhsuite and amber...
+CPU times: user 269 ms, sys: 52.3 ms, total: 321 ms
+Wall time: 1min 24s
+
+
+
+
+
+

1. ColabFold Tutorial: Predicting the structure of Bax protein#

+

Let’s get familar with the workflow for predicting a monomer structure. This example looks at Bax, an apoptosis regulating protein.

+

We will only use the default options set by Steinegger et al. which excludes Amber minimization and structure templates.

+

a. Background

+
    +
  • Encoded by the BAX gene in the Bcl-2 family

  • +
  • Highly conserved DNA sequence and structural motifs

  • +
  • Different regulatory function in anti-apoptosis or pro-apoptosis

  • +
  • Permeation of the mitochondrial outer membrane

  • +
+

b. Pro-death signals triggers conformational shift

+
    +
  • Bax adopts a globular state when inactive

  • +
  • Apoptotic signals displaces N-terminal \(\alpha\)-helicies

  • +
  • Becomes membrane-associated

  • +
  • Oligomers form, resulting in a pore and cell death

  • +
+

Dysregulation of Bax is implicated in cancer progression, and suggests some contributions towards in Alzheimer’s and Parkinson’s disease.

+

Experiments have shown point-mutations near opposite of the binding site region, has been shown to affect activity. This is also near the loop region between \(\alpha\)-helix1 and \(\alpha\)-helicies2, which has been difficult to structurally resolve. Does this loop play a role in membrane insertion mechanism?

+
+
+
#@title # **2. Notebook Setup** { display-mode: "form" }
+
+from google.colab import files
+import os
+import re
+import hashlib
+import random
+
+from sys import version_info
+python_version = f"{version_info.major}.{version_info.minor}"
+
+def add_hash(x,y):
+  return x+"_"+hashlib.sha1(y.encode()).hexdigest()[:5]
+
+#@markdown \
+#@markdown ##a. Protein Sequence for Structure Prediction
+#@markdown For bax (human), the amino acid sequence was obtained from
+#@markdown UniProt ([Q07812](https://www.uniprot.org/uniprotkb/Q07812/entry))
+query_sequence = 'MDGSGEQPRGGGPTSSEQIMKTGALLLQGFIQDRAGRMGGEAPELALDPVPQDASTKKLSECLKRIGDELDSNMELQRMIAAVDTDSPREVFFRVAADMFSDGNFNWGRVVALFYFASKLVLKALCTKVPELIRTIMGWTLDFLRERLLGWIQDQGGWDGLLSYFGTPTWQTVTIFVAGVLTASLTIWKKMG' #@param {type:"string"}
+#@markdown **Note:** For modeling complexes, use `:` to specify inter-protein chainbreaks
+#@markdown (supports homo- and hetro-oligomers).
+#@markdown For example, **PI...SK:PI...SK** for a homodimer.
+
+#@markdown \
+#@markdown ## b. Job Name (also name of saving directory)
+jobname = 'colabfold-bax-1f16' #@param {type:"string"}
+
+#@markdown \
+#@markdown  ## c. Number of predicted models to relax using Amber
+num_relax = 0 #@param [0, 1, 5] {type:"raw"}
+
+#@markdown \
+#@markdown ## **d. Option for Structure Template**
+#@markdown  Search for PDB structure (xyz-coordinates)
+template_mode = "none" #@param ["none", "pdb100","custom"]
+#@markdown `none` = no template information is used. \
+#@markdown `pdb100` = detect templates in pdb100 (see [notes](#pdb100)). \
+#@markdown `custom` - upload and search own templates (PDB or mmCIF format, see [notes](#custom_templates))
+
+use_amber = num_relax > 0
+
+query_sequence = "".join(query_sequence.split()) # remove whitespaces
+
+basejobname = "".join(jobname.split())
+basejobname = re.sub(r'\W+', '', basejobname)
+jobname = add_hash(basejobname, query_sequence)
+
+# check if directory with jobname exists
+def check(folder):
+  if os.path.exists(folder):
+    return False
+  else:
+    return True
+if not check(jobname):
+  n = 0
+  while not check(f"{jobname}_{n}"): n += 1
+  jobname = f"{jobname}_{n}"
+
+# make directory to save results
+os.makedirs(jobname, exist_ok=True)
+
+# save queries
+queries_path = os.path.join(jobname, f"{jobname}.csv")
+with open(queries_path, "w") as text_file:
+  text_file.write(f"id,sequence\n{jobname},{query_sequence}")
+
+if template_mode == "pdb100":
+  use_templates = True
+  custom_template_path = None
+elif template_mode == "custom":
+  custom_template_path = os.path.join(jobname,f"template")
+  os.makedirs(custom_template_path, exist_ok=True)
+  uploaded = files.upload()
+  use_templates = True
+  for fn in uploaded.keys():
+    os.rename(fn,os.path.join(custom_template_path,fn))
+else:
+  custom_template_path = None
+  use_templates = False
+
+
+
+
+
+
+
#@title # **3. Multiple Sequence Alignment (MSA)**
+
+#@markdown ## a. MSA options
+msa_mode = "mmseqs2_uniref" #@param ["mmseqs2_uniref_env", "mmseqs2_uniref","single_sequence","custom"]
+#@markdown - pairing mode
+#@markdown - single sequence
+#@markdown - custom MSA upload
+
+#@markdown \
+pair_mode = "unpaired_paired" #@param ["unpaired_paired","unpaired","paired"] {type:"string"}
+#@markdown - "unpaired_paired" - pair sequences from same species + unpaired MSA
+#@markdown - "unpaired" - seperate MSA for each chain
+#@markdown - "paired" - only use paired sequences
+
+# decide which a3m to use
+if "mmseqs2" in msa_mode:
+  a3m_file = os.path.join(jobname,f"{jobname}.a3m")
+
+elif msa_mode == "custom":
+  a3m_file = os.path.join(jobname,f"{jobname}.custom.a3m")
+  if not os.path.isfile(a3m_file):
+    custom_msa_dict = files.upload()
+    custom_msa = list(custom_msa_dict.keys())[0]
+    header = 0
+    import fileinput
+    for line in fileinput.FileInput(custom_msa,inplace=1):
+      if line.startswith(">"):
+         header = header + 1
+      if not line.rstrip():
+        continue
+      if line.startswith(">") == False and header == 1:
+         query_sequence = line.rstrip()
+      print(line, end='')
+
+    os.rename(custom_msa, a3m_file)
+    queries_path=a3m_file
+    print(f"moving {custom_msa} to {a3m_file}")
+
+else:
+  a3m_file = os.path.join(jobname,f"{jobname}.single_sequence.a3m")
+  with open(a3m_file, "w") as text_file:
+    text_file.write(">1\n%s" % query_sequence)
+
+
+
+
+
+
+
# @title # **4. Advanced Settings** { run: "auto", display-mode: "form" }
+
+#@markdown ## a. ML Model
+model_type = "auto" #@param ["auto", "alphafold2_ptm", "alphafold2_multimer_v1", "alphafold2_multimer_v2", "alphafold2_multimer_v3"]
+#@markdown **Note:** If `auto` selected, will use `alphafold2_ptm` for monomer prediction
+#@markdown and `alphafold2_multimer_v3` for complex prediction.
+#@markdown Any of the `mode_types` can be used (regardless if input is monomer or complex).
+
+#@markdown \
+#@markdown ## b. Re-Train with Predicted Structures
+num_recycles = "3" #@param ["auto", "0", "1", "3", "6", "12", "24", "48"]
+#@markdown **Note:**
+#@markdown - If `auto` selected, will use `num_recycles=20`,
+#@markdown - If `model_type=alphafold2_multimer_v3`, else `num_recycles=3`
+
+#@markdown \
+recycle_early_stop_tolerance = "auto" #@param ["auto", "0.0", "0.5", "1.0"]
+#@markdown - if `auto` selected, will use `tol=0.5`
+#@markdown - If `model_type=alphafold2_multimer_v3`,  else `tol=0.0`.
+
+#@markdown \
+#@markdown ## c. Amber Relaxation
+relax_max_iterations = 200 #@param [0, 200, 2000] {type:"raw"}
+#@markdown - max amber relax iterations
+#@markdown -  `0` = unlimited (AlphaFold2 default, can take very long)
+
+#@markdown \
+#@markdown ## d. MSA Pairing
+pairing_strategy = "greedy" #@param ["greedy", "complete"] {type:"string"}
+#@markdown - `greedy` = pair any taxonomically matching subsets,
+#@markdown - `complete` = all sequences have to match in one line.
+
+#@markdown \
+#@markdown ## e. Sample settings
+#@markdown -  enable dropouts and increase number of seeds to sample predictions from uncertainty of the model.
+#@markdown -  decrease `max_msa` to increase uncertainity
+max_msa = "auto" #@param ["auto", "512:1024", "256:512", "64:128", "32:64", "16:32"]
+num_seeds = 1 #@param [1,2,4,8,16] {type:"raw"}
+use_dropout = False #@param {type:"boolean"}
+
+num_recycles = None if num_recycles == "auto" else int(num_recycles)
+recycle_early_stop_tolerance = None if recycle_early_stop_tolerance == "auto" else float(recycle_early_stop_tolerance)
+if max_msa == "auto": max_msa = None
+
+#@markdown \
+#@markdown # **5. Save settings**
+#@markdown This will ask for your credentials, to save the outputs.
+save_all = False #@param {type:"boolean"}
+save_recycles = False #@param {type:"boolean"}
+save_to_google_drive = False #@param {type:"boolean"}
+#@markdown -  if the save_to_google_drive option was selected, the result zip will be uploaded to your Google Drive
+dpi = 200 #@param {type:"integer"}
+#@markdown - set dpi for image resolution
+
+if save_to_google_drive:
+  from pydrive.drive import GoogleDrive
+  from pydrive.auth import GoogleAuth
+  from google.colab import auth
+  from oauth2client.client import GoogleCredentials
+  auth.authenticate_user()
+  gauth = GoogleAuth()
+  gauth.credentials = GoogleCredentials.get_application_default()
+  drive = GoogleDrive(gauth)
+  print("You are logged into Google Drive and are good to go!")
+
+#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form.
+
+
+
+
+
+
+
#@title # **6. Run Prediction** { display-mode: "form" }
+
+display_images = True #@param {type:"boolean"}
+
+
+import sys
+import warnings
+warnings.simplefilter(action='ignore', category=FutureWarning)
+from Bio import BiopythonDeprecationWarning
+warnings.simplefilter(action='ignore', category=BiopythonDeprecationWarning)
+from pathlib import Path
+from colabfold.download import download_alphafold_params, default_data_dir
+from colabfold.utils import setup_logging
+from colabfold.batch import get_queries, run, set_model_type
+from colabfold.plot import plot_msa_v2
+
+import os
+import numpy as np
+try:
+  K80_chk = os.popen('nvidia-smi | grep "Tesla K80" | wc -l').read()
+except:
+  K80_chk = "0"
+  pass
+if "1" in K80_chk:
+  print("WARNING: found GPU Tesla K80: limited to total length < 1000")
+  if "TF_FORCE_UNIFIED_MEMORY" in os.environ:
+    del os.environ["TF_FORCE_UNIFIED_MEMORY"]
+  if "XLA_PYTHON_CLIENT_MEM_FRACTION" in os.environ:
+    del os.environ["XLA_PYTHON_CLIENT_MEM_FRACTION"]
+
+from colabfold.colabfold import plot_protein
+from pathlib import Path
+import matplotlib.pyplot as plt
+
+# For some reason we need that to get pdbfixer to import
+if use_amber and f"/usr/local/lib/python{python_version}/site-packages/" not in sys.path:
+    sys.path.insert(0, f"/usr/local/lib/python{python_version}/site-packages/")
+
+def input_features_callback(input_features):
+  if display_images:
+    plot_msa_v2(input_features)
+    plt.show()
+    plt.close()
+
+def prediction_callback(protein_obj, length,
+                        prediction_result, input_features, mode):
+  model_name, relaxed = mode
+  if not relaxed:
+    if display_images:
+      fig = plot_protein(protein_obj, Ls=length, dpi=150)
+      plt.show()
+      plt.close()
+
+result_dir = jobname
+log_filename = os.path.join(jobname,"log.txt")
+setup_logging(Path(log_filename))
+
+queries, is_complex = get_queries(queries_path)
+model_type = set_model_type(is_complex, model_type)
+
+if "multimer" in model_type and max_msa is not None:
+  use_cluster_profile = False
+else:
+  use_cluster_profile = True
+
+download_alphafold_params(model_type, Path("."))
+results = run(
+    queries=queries,
+    result_dir=result_dir,
+    use_templates=use_templates,
+    custom_template_path=custom_template_path,
+    num_relax=num_relax,
+    msa_mode=msa_mode,
+    model_type=model_type,
+    num_models=5,
+    num_recycles=num_recycles,
+    relax_max_iterations=relax_max_iterations,
+    recycle_early_stop_tolerance=recycle_early_stop_tolerance,
+    num_seeds=num_seeds,
+    use_dropout=use_dropout,
+    model_order=[1,2,3,4,5],
+    is_complex=is_complex,
+    data_dir=Path("."),
+    keep_existing_results=False,
+    rank_by="auto",
+    pair_mode=pair_mode,
+    pairing_strategy=pairing_strategy,
+    stop_at_score=float(100),
+    prediction_callback=prediction_callback,
+    dpi=dpi,
+    zip_results=False,
+    save_all=save_all,
+    max_msa=max_msa,
+    use_cluster_profile=use_cluster_profile,
+    input_features_callback=input_features_callback,
+    save_recycles=save_recycles,
+    user_agent="colabfold/google-colab-main",
+)
+results_zip = f"{jobname}.result.zip"
+os.system(f"zip -r {results_zip} {jobname}")
+
+
+
+
+
Downloading alphafold2 weights to .: 100%|██████████| 3.47G/3.47G [01:33<00:00, 39.9MB/s]
+
+
+
2023-12-08 01:03:26,095 Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: "rocm". Available platform names are: CUDA
+2023-12-08 01:03:26,097 Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory
+2023-12-08 01:03:28,068 Running on GPU
+2023-12-08 01:03:28,251 Found 3 citations for tools or databases
+2023-12-08 01:03:28,252 Query 1/1: colabfoldbax1f16_f85cf (length 192)
+
+
+
COMPLETE: 100%|██████████| 150/150 [elapsed: 00:02 remaining: 00:00]
+
+
+../_images/51afc86871184df45c2b11a63d853044193ea9104d12bf9adf0d571de06bceb2.png +
2023-12-08 01:03:32,044 Setting max_seq=512, max_extra_seq=1703
+2023-12-08 01:04:07,724 alphafold2_ptm_model_1_seed_000 recycle=0 pLDDT=70.2 pTM=0.694
+2023-12-08 01:04:13,490 alphafold2_ptm_model_1_seed_000 recycle=1 pLDDT=80.9 pTM=0.793 tol=1.07
+2023-12-08 01:04:19,257 alphafold2_ptm_model_1_seed_000 recycle=2 pLDDT=78.4 pTM=0.775 tol=0.281
+2023-12-08 01:04:25,019 alphafold2_ptm_model_1_seed_000 recycle=3 pLDDT=81.1 pTM=0.798 tol=0.165
+2023-12-08 01:04:25,021 alphafold2_ptm_model_1_seed_000 took 39.0s (3 recycles)
+
+
+../_images/f65c685391c095fc6944b7e34723544d79938dec21f0d4d5f9f930b0c1266b97.png +
2023-12-08 01:04:31,023 alphafold2_ptm_model_2_seed_000 recycle=0 pLDDT=68.3 pTM=0.67
+2023-12-08 01:04:36,783 alphafold2_ptm_model_2_seed_000 recycle=1 pLDDT=79.3 pTM=0.783 tol=1.21
+2023-12-08 01:04:42,548 alphafold2_ptm_model_2_seed_000 recycle=2 pLDDT=78.2 pTM=0.779 tol=0.353
+2023-12-08 01:04:48,310 alphafold2_ptm_model_2_seed_000 recycle=3 pLDDT=79.4 pTM=0.789 tol=0.121
+2023-12-08 01:04:48,311 alphafold2_ptm_model_2_seed_000 took 23.1s (3 recycles)
+
+
+../_images/056fe209adc8b6f3e35c1a5161f46f7a9ad34b5190df977a7ba43c55fded4685.png +
2023-12-08 01:04:54,270 alphafold2_ptm_model_3_seed_000 recycle=0 pLDDT=74.4 pTM=0.721
+2023-12-08 01:05:00,044 alphafold2_ptm_model_3_seed_000 recycle=1 pLDDT=83.6 pTM=0.822 tol=0.98
+2023-12-08 01:05:05,823 alphafold2_ptm_model_3_seed_000 recycle=2 pLDDT=84.2 pTM=0.828 tol=0.401
+2023-12-08 01:05:11,599 alphafold2_ptm_model_3_seed_000 recycle=3 pLDDT=84 pTM=0.821 tol=0.224
+2023-12-08 01:05:11,600 alphafold2_ptm_model_3_seed_000 took 23.1s (3 recycles)
+
+
+../_images/90772f57f1ec3fe79cbbc8c18bdf73cc975282b5b48acff8eab5f014fec562e8.png +
2023-12-08 01:05:17,555 alphafold2_ptm_model_4_seed_000 recycle=0 pLDDT=71 pTM=0.702
+2023-12-08 01:05:23,318 alphafold2_ptm_model_4_seed_000 recycle=1 pLDDT=78.8 pTM=0.778 tol=0.867
+2023-12-08 01:05:29,082 alphafold2_ptm_model_4_seed_000 recycle=2 pLDDT=78 pTM=0.763 tol=0.439
+2023-12-08 01:05:34,846 alphafold2_ptm_model_4_seed_000 recycle=3 pLDDT=76.6 pTM=0.736 tol=0.257
+2023-12-08 01:05:34,847 alphafold2_ptm_model_4_seed_000 took 23.1s (3 recycles)
+
+
+../_images/1044d6c4f48649fb7224c0e3b6dbfdc327df4ebf04fde37b437647f254b50063.png +
2023-12-08 01:05:40,809 alphafold2_ptm_model_5_seed_000 recycle=0 pLDDT=75.6 pTM=0.776
+2023-12-08 01:05:46,584 alphafold2_ptm_model_5_seed_000 recycle=1 pLDDT=81.9 pTM=0.828 tol=1.01
+2023-12-08 01:05:52,360 alphafold2_ptm_model_5_seed_000 recycle=2 pLDDT=81.6 pTM=0.823 tol=0.38
+2023-12-08 01:05:58,134 alphafold2_ptm_model_5_seed_000 recycle=3 pLDDT=81.8 pTM=0.822 tol=0.216
+2023-12-08 01:05:58,135 alphafold2_ptm_model_5_seed_000 took 23.1s (3 recycles)
+
+
+../_images/45c21eb98d5e1c04f68d6357455e20d8e855a9242c8d18230861eb03a1f8edb3.png +
2023-12-08 01:05:58,341 reranking models by 'plddt' metric
+2023-12-08 01:05:58,341 rank_001_alphafold2_ptm_model_3_seed_000 pLDDT=84 pTM=0.821
+2023-12-08 01:05:58,342 rank_002_alphafold2_ptm_model_5_seed_000 pLDDT=81.8 pTM=0.822
+2023-12-08 01:05:58,343 rank_003_alphafold2_ptm_model_1_seed_000 pLDDT=81.1 pTM=0.798
+2023-12-08 01:05:58,343 rank_004_alphafold2_ptm_model_2_seed_000 pLDDT=79.4 pTM=0.789
+2023-12-08 01:05:58,344 rank_005_alphafold2_ptm_model_4_seed_000 pLDDT=76.6 pTM=0.736
+2023-12-08 01:06:00,018 Done
+
+
+
0
+
+
+
+
+
+
+
# @title # **7. Visualize 3D Structure of ColabFold Prediction** { run: "auto", display-mode: "form" }
+
+#@markdown Rank number/score for the **monomer model is the average pLDDT**,
+#@markdown where a ranking of 1 correlates better local structure confidence.
+#@markdown An acceptable model prediction should average $\ge 85$.
+#@markdown The number of ranked models was set in step `6. Run Prediction` (step 6, line 75.).
+
+#@markdown \
+#@markdown Here, you can change the value for `rank_num` to visualize the 5 predictions.
+
+import py3Dmol
+import glob
+import matplotlib.pyplot as plt
+from colabfold.colabfold import plot_plddt_legend
+from colabfold.colabfold import pymol_color_list, alphabet_list
+
+rank_num = 1 #@param ["1", "2", "3", "4", "5"] {type:"raw"}
+color = "rainbow" #@param ["chain", "lDDT", "rainbow"]
+show_sidechains = False #@param {type:"boolean"}
+show_mainchains = False #@param {type:"boolean"}
+
+tag = results["rank"][0][rank_num - 1]
+jobname_prefix = ".custom" if msa_mode == "custom" else ""
+pdb_filename = f"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb"
+pdb_file = glob.glob(pdb_filename)
+
+def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color="lDDT"):
+  model_name = f"rank_{rank_num}"
+  view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)
+  view.addModel(open(pdb_file[0],'r').read(),'pdb')
+
+
+  if color == "lDDT":
+    view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})
+  elif color == "rainbow":
+    view.setStyle({'cartoon': {'color':'spectrum'}})
+  elif color == "chain":
+    chains = len(queries[0][1]) + 1 if is_complex else 1
+    for n,chain,color in zip(range(chains),alphabet_list,pymol_color_list):
+       view.setStyle({'chain':chain},{'cartoon': {'color':color}})
+
+  if show_sidechains:
+    BB = ['C','O','N']
+    view.addStyle({'and':[{'resn':["GLY","PRO"],'invert':True},{'atom':BB,'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"GLY"},{'atom':'CA'}]},
+                        {'sphere':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"PRO"},{'atom':['C','O'],'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+  if show_mainchains:
+    BB = ['C','O','N','CA']
+    view.addStyle({'atom':BB},{'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}}, viewer=(0,0))
+
+  view.zoomTo()
+  return view
+
+print('Prediction: Rank %d' % rank_num)
+show_pdb(rank_num, show_sidechains, show_mainchains, color).show()
+if color == "lDDT":
+  plot_plddt_legend().show()
+
+
+#@markdown \
+
+
+
+
+
Prediction: Rank 1
+
+
+
+

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
+ jupyter labextension install jupyterlab_3dmol

+
+
+
+
+
+
# @title # **8. Align PDBs** { run: "auto", display-mode: "form" }
+#@markdown We can compare the predictions with experiment.
+#@markdown Example: PDB 1F16 was obtained from NMR, so there is an ensemble of structures.
+
+import Bio.PDB
+
+pdb_code = "1f16" #@param{type:"string"}
+#@markdown - Reference PDB (Experiment)
+cpred = ""#@param{type:"string"}
+#@markdown - Color for Reference PDB (Experiment)
+os.system("wget -qnc https://files.rcsb.org/download/%s.pdb.gz; gunzip %s.pdb.gz" % (pdb_code,pdb_code))
+
+start_id = 1
+end_id = len(query_sequence)
+atoms_to_be_aligned = range(start_id, end_id + 1)
+
+# Start the parser
+pdb_parser = Bio.PDB.PDBParser(QUIET = True)
+
+# Get the structures
+ref_structure = pdb_parser.get_structure("reference", "%s.pdb" % pdb_code)
+sample_structure = pdb_parser.get_structure("sample", pdb_file[0])
+
+# Use the first model in the pdb-files for alignment
+# Change the number 0 if you want to align to another structure
+ref_model    = ref_structure[0]
+sample_model = sample_structure[0]
+
+# Make a list of the atoms (in the structures) you wish to align.
+# In this case we use CA atoms whose index is in the specified range
+ref_atoms = []
+sample_atoms = []
+
+# Iterate of all chains in the model in order to find all residues
+for ref_chain in ref_model:
+  # Iterate of all residues in each model in order to find proper atoms
+  for ref_res in ref_chain:
+    # Check if residue number ( .get_id() ) is in the list
+    if ref_res.get_id()[1] in atoms_to_be_aligned:
+      # Append CA atom to list
+      ref_atoms.append(ref_res['CA'])
+
+# Do the same for the sample structure
+for sample_chain in sample_model:
+  for sample_res in sample_chain:
+    if sample_res.get_id()[1] in atoms_to_be_aligned:
+      sample_atoms.append(sample_res['CA'])
+
+# Now we initiate the superimposer:
+super_imposer = Bio.PDB.Superimposer()
+super_imposer.set_atoms(ref_atoms, sample_atoms)
+super_imposer.apply(sample_model.get_atoms())
+
+# Print RMSD:
+print('The calculated RMSD is: %.3f Å' % super_imposer.rms)
+
+# Save the aligned version of one of the chains of 6ANE
+io = Bio.PDB.PDBIO()
+io.set_structure(sample_structure)
+io.save("%s-aligned.pdb" % jobname)
+print('Saved Aligned PDB.')
+
+# rank_num = 1 #@param ["1", "2", "3", "4", "5"] {type:"raw"}
+# #@markdown - Predicted PDB (AF/CF)
+# color = "lDDT" #@param ["chain", "lDDT", "rainbow"]
+# #@markdown - Color Predicted PDB (Default: lDDT)
+# tag = results["rank"][0][rank_num - 1]
+# jobname_prefix = ".custom" if msa_mode == "custom" else ""
+# pdb_filename = f"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb"
+# pdb_file = glob.glob(pdb_filename)
+
+# how_sidechains = False #@param {type:"boolean"}
+# show_mainchains = False #@param {type:"boolean"}
+
+view=py3Dmol.view()
+view.addModel(open("%s-aligned.pdb" % jobname).read(),'pdb')
+# view.addModel(open("%s.pdb" % pdb_code).read())
+view.zoomTo()
+view.setBackgroundColor('white')
+view.setStyle({'chain':'A'},{'cartoon': {'color': 'red'}})
+view.setStyle({'chain':'B'},{'cartoon': {'color': 'blue'}})
+view.show()
+
+# show_pdb(rank_num, show_sidechains, show_mainchains, color).show()
+# if color == "lDDT":
+#   plot_plddt_legend().show()
+
+
+
+
+
The calculated RMSD is: 5.711 Å
+Saved Aligned PDB.
+
+
+
+

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
+ jupyter labextension install jupyterlab_3dmol

+
+
+
+
+
+
#@title **9. Package and Download**
+
+#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \"Download\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).
+
+if msa_mode == "custom":
+  print("Don't forget to cite your custom MSA generation method.")
+
+files.download(f"{jobname}.result.zip")
+
+if save_to_google_drive == True and drive:
+  uploaded = drive.CreateFile({'title': f"{jobname}.result.zip"})
+  uploaded.SetContentFile(f"{jobname}.result.zip")
+  uploaded.Upload()
+  print(f"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}")
+
+
+
+
+
+
+

Colab notebooks are adapted from:

+ +

From the original notebook:

+
+
https://raw.githubusercontent.com/sokrypton/ColabFold/main/.github/ColabFold_Marv_Logo_Small.png +
+
+

ColabFold v1.5.3: AlphaFold2 using MMseqs2#

+

Easy to use protein structure and complex prediction using AlphaFold2 and Alphafold2-multimer. Sequence alignments/templates are generated through MMseqs2 and HHsearch. For more details, see bottom of the notebook, checkout the ColabFold GitHub and read our manuscript.

+

Old versions: v1.4, v1.5.1, v1.5.2

+

Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all. +Nature Methods, 2022

+
+
+

News#

+
    +
  • 2023/07/31: The ColabFold MSA server is back to normal. It was using older DB (UniRef30 2202/PDB70 220313) from 27th ~8:30 AM CEST to 31st ~11:10 AM CEST.

  • +
  • 2023/06/12: New databases! UniRef30 updated to 2023_02 and PDB to 230517. We now use PDB100 instead of PDB70 (see notes).

  • +
  • 2023/06/12: We introduced a new default pairing strategy: Previously, for multimer predictions with more than 2 chains, we only pair if all sequences taxonomically match (“complete” pairing). The new default “greedy” strategy pairs any taxonomically matching subsets.

  • +
+
+
+
+
+

Instructions #

+

Quick start

+
    +
  1. Paste your protein sequence(s) in the input field.

  2. +
  3. Press “Runtime” -> “Run all”.

  4. +
  5. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.

  6. +
+

Result zip file contents

+
    +
  1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if use_amber is enabled).

  2. +
  3. Plots of the model quality.

  4. +
  5. Plots of the MSA coverage.

  6. +
  7. Parameter log file.

  8. +
  9. A3M formatted input MSA.

  10. +
  11. A predicted_aligned_error_v1.json using AlphaFold-DB’s format and a scores.json for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.

  12. +
  13. BibTeX file with citations for all used tools and databases.

  14. +
+

At the end of the job a download modal box will pop up with a jobname.result.zip file. Additionally, if the save_to_google_drive option was selected, the jobname.result.zip will be uploaded to your Google Drive.

+

License +githubusercontent.com/sokrypton/ColabFold/main/LICENSE). Additionally, this > notebook uses the AlphaFold2 source code and its parameters licensed under Apache 2.0 > and CC BY 4.0 respectively. Read more about the AlphaFold license [here](deepmind/> alphafold).

+

Acknowledgments

+
    +
  • We thank the AlphaFold team for developing an excellent model and open > sourcing the software.

  • +
  • KOBIC and Söding Lab for providing the computational resources for the MMseqs2 MSA server.

  • +
  • Richard Evans for helping to benchmark the ColabFold’s Alphafold-multimer support.

  • +
  • David Koes for his awesome py3Dmol plugin, without whom these notebooks would be quite boring!

  • +
  • Do-Yoon Kim for creating the ColabFold logo.

  • +
  • A colab by Sergey Ovchinnikov (@sokrypton), Milot Mirdita (@milot_mirdita) and Martin Steinegger (@thesteinegger).

  • +
+
+ + + + +
+ + + + +
+ +
+ +
+
+
+ +
+ +
+ +
+ + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/ColabFold/Tutorial_Multimer.html b/ColabFold/Tutorial_Multimer.html new file mode 100644 index 0000000..260a620 --- /dev/null +++ b/ColabFold/Tutorial_Multimer.html @@ -0,0 +1,1038 @@ + + + + + + + + + + + + 1. ColabFold Tutorial: Predicting Protein-Protein Complexes of TA Systems — Tutorials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

1. ColabFold Tutorial: Predicting Protein-Protein Complexes of TA Systems

+ +
+ +
+
+ + + + +
+ +

Open In Colab

+
+
+
%%time
+
+# @title **Install Python Packages** { run: "auto", display-mode: "form" }
+
+import os
+from sys import version_info
+PYTHON_VERSION = f"{version_info.major}.{version_info.minor}"
+
+if not os.path.isfile("COLABFOLD_READY"):
+  print("installing colabfold...")
+  os.system("pip install -q --no-warn-conflicts 'colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold'")
+  os.system("pip install --upgrade dm-haiku")
+  os.system("ln -s /usr/local/lib/python3.*/dist-packages/colabfold colabfold")
+  os.system("ln -s /usr/local/lib/python3.*/dist-packages/alphafold alphafold")
+  # patch for jax > 0.3.25
+  os.system("sed -i 's/weights = jax.nn.softmax(logits)/logits=jnp.clip(logits,-1e8,1e8);weights=jax.nn.softmax(logits)/g' alphafold/model/modules.py")
+  os.system("touch COLABFOLD_READY")
+
+
+if not os.path.isfile("CONDA_READY"):
+  print("installing conda...")
+  os.system("wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh")
+  os.system("bash Miniforge3-Linux-x86_64.sh -bfp /usr/local")
+  os.system("conda config --set auto_update_conda false")
+  os.system("touch CONDA_READY")
+
+
+if not os.path.isfile("CONDA_READY"):
+  print("installing conda...")
+  os.system("wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh")
+  os.system("bash Mambaforge-Linux-x86_64.sh -bfp /usr/local")
+  os.system("mamba config --set auto_update_conda false")
+  os.system("touch CONDA_READY")
+
+
+if not os.path.isfile("HH_READY") and not os.path.isfile("AMBER_READY"):
+  print("installing hhsuite and amber...")
+  os.system(f"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer")
+  os.system("touch HH_READY")
+  os.system("touch AMBER_READY")
+else:
+  if not os.path.isfile("HH_READY"):
+    print("installing hhsuite...")
+    os.system(f"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python='{PYTHON_VERSION}'")
+    os.system("touch HH_READY")
+  if not os.path.isfile("AMBER_READY"):
+    print("installing amber...")
+    os.system(f"mamba install -y -c conda-forge openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer")
+    os.system("touch AMBER_READY")
+
+
+
+
+
+

1. ColabFold Tutorial: Predicting Protein-Protein Complexes of TA Systems#

+

Like the monomer example, we will use the default options set by Steinegger et al. which excludes Amber minimization and structure templates.

+

Predicting the structure of protein complexes can be investigated using the AlphaFold oligomers

+

There are subtle differences when running the AF-Multimer externsion:

+
    +
  • Model confidence metric is iPTM

    +
      +
    • Interference predicted template modelling score

    • +
    +
  • +
  • Better for homomeric interfaces than for heteromeric interfaces (high conservation)

  • +
  • COM between chains are added to the loss function

  • +
+

This example focuses on a toxin-antitoxin (TA) protein system, prevalent in bacterial systems. Toxins, or over-expressed proteins, become accumulated in the cell causing disturbing other cellular processes. Yet, their natural role aids in infections and apoptosis. Antitoxin, protein or RNA, can neutralize the toxin by forming stable complexes. How does the protein-protein interactions maintianing a balance between the toxin and antitoxin.

+

We will predict the TA complex in Vibrio cholerae, specifically, VCParD1/2 (antitoxin) and VcParE (toxin)1/2.

+

a. Background

+
    +
  • TA systems are essential in maintaining cellular homeostasis

  • +
  • Low sequence similariy to maintain specificity towards cognate receptor

  • +
  • ParDE was the first TA system to be identified as a stabilizing element upon plasmisd loss

  • +
  • Potential in biotechnological applications

  • +
+

b. ParE attenuates Toxicity Protecting Cells

+
    +
  • ParE can inhibit DNA gyrase supercoiling

  • +
  • Protects from anti-gyrase antibiotitcs

  • +
  • At the same time ParD is degraded

  • +
  • C-terminal domain is key to formation of PaParDE complexes

  • +
+

The C-terminal residues of ParD was found to be crucial in formation and stabilizatino of toxin-antitoxin complexes. This resulted in protection from proteases and attenuates toxicitiy from antibiotics in bacterial systems.

+

Interestingly, structure-based studies have resolved several oligomeric TA complexes. Despite low sequence similarity, their structure is highly conserved. Let’s investivate VcParDE and later compare it with PaParDE.

+
+
+
#@title # **2. Notebook Setup** { display-mode: "form" }
+
+from google.colab import files
+import os
+import re
+import hashlib
+import random
+
+from sys import version_info
+python_version = f"{version_info.major}.{version_info.minor}"
+
+def add_hash(x,y):
+  return x+"_"+hashlib.sha1(y.encode()).hexdigest()[:5]
+
+#@markdown \
+#@markdown ##a. Protein Sequence for Structure Prediction
+#@markdown For bax (human), the amino acid sequence was obtained from
+#@markdown UniProt ([Q07812](https://www.uniprot.org/uniprotkb/Q07812/entry))
+query_sequence = 'MHTLTANDAKRNFGELLLSAQREPVIISKNSKNTVVVMSIKDFEELEAMKLDYLKHCFESAQKDLDSGKTVDGATFLNTL:MQNKQYKLSQLAQEHLLKIKHYTIENFAEAQWQKYKSTLLSGFQTLADNPGLGKSCEDIYQNGFYFPVGKHMAYYTKEANFILIVAVLGQSQLPQKHLKQSRFVS:MAKNTSITLGEHFDGFITSQIQSGRYGSASEVIRSALRLLENQETKLQSLRQLLIEGEQSGDADYDLDSFINELDSENI:MKPFNLTVAAKADLRDIALFTQRRWGKEQRNVYLKQFDDSFWLLAENPDIGKSCDEIREGYRKFPQGSHVIFYQQTGSQQIRVIRILHKSMDVNPIFGA ' #@param {type:"string"}
+#@markdown **Note:** For modeling complexes, use `:` to specify inter-protein chainbreaks
+#@markdown (supports homo- and hetro-oligomers).
+#@markdown For example, **PI...SK:PI...SK** for a homodimer.
+
+#@markdown \
+#@markdown ## b. Job Name (also name of saving directory)
+jobname = '' #@param {type:"string"}
+
+#@markdown \
+#@markdown  ## c. Number of predicted models to relax using Amber
+num_relax = 5 #@param [0, 1, 5] {type:"raw"}
+
+#@markdown \
+#@markdown ## **d. Option for Structure Template**
+#@markdown  Search for PDB structure (xyz-coordinates)
+template_mode = "none" #@param ["none", "pdb100","custom"]
+#@markdown `none` = no template information is used. \
+#@markdown `pdb100` = detect templates in pdb100 (see [notes](#pdb100)). \
+#@markdown `custom` - upload and search own templates (PDB or mmCIF format, see [notes](#custom_templates))
+
+use_amber = num_relax > 0
+
+query_sequence = "".join(query_sequence.split()) # remove whitespaces
+
+basejobname = "".join(jobname.split())
+basejobname = re.sub(r'\W+', '', basejobname)
+jobname = add_hash(basejobname, query_sequence)
+
+# check if directory with jobname exists
+def check(folder):
+  if os.path.exists(folder):
+    return False
+  else:
+    return True
+if not check(jobname):
+  n = 0
+  while not check(f"{jobname}_{n}"): n += 1
+  jobname = f"{jobname}_{n}"
+
+# make directory to save results
+os.makedirs(jobname, exist_ok=True)
+
+# save queries
+queries_path = os.path.join(jobname, f"{jobname}.csv")
+with open(queries_path, "w") as text_file:
+  text_file.write(f"id,sequence\n{jobname},{query_sequence}")
+
+if template_mode == "pdb100":
+  use_templates = True
+  custom_template_path = None
+elif template_mode == "custom":
+  custom_template_path = os.path.join(jobname,f"template")
+  os.makedirs(custom_template_path, exist_ok=True)
+  uploaded = files.upload()
+  use_templates = True
+  for fn in uploaded.keys():
+    os.rename(fn,os.path.join(custom_template_path,fn))
+else:
+  custom_template_path = None
+  use_templates = False
+
+
+
+
+
+
+
#@title # **3. Multiple Sequence Alignment (MSA)**
+
+#@markdown ## a. MSA options
+msa_mode = "mmseqs2_uniref_env" #@param ["mmseqs2_uniref_env", "mmseqs2_uniref","single_sequence","custom"]
+#@markdown - pairing mode
+#@markdown - single sequence
+#@markdown - custom MSA upload
+
+#@markdown \
+pair_mode = "unpaired_paired" #@param ["unpaired_paired","unpaired","paired"] {type:"string"}
+#@markdown - "unpaired_paired" - pair sequences from same species + unpaired MSA
+#@markdown - "unpaired" - seperate MSA for each chain
+#@markdown - "paired" - only use paired sequences
+
+# decide which a3m to use
+if "mmseqs2" in msa_mode:
+  a3m_file = os.path.join(jobname,f"{jobname}.a3m")
+
+elif msa_mode == "custom":
+  a3m_file = os.path.join(jobname,f"{jobname}.custom.a3m")
+  if not os.path.isfile(a3m_file):
+    custom_msa_dict = files.upload()
+    custom_msa = list(custom_msa_dict.keys())[0]
+    header = 0
+    import fileinput
+    for line in fileinput.FileInput(custom_msa,inplace=1):
+      if line.startswith(">"):
+         header = header + 1
+      if not line.rstrip():
+        continue
+      if line.startswith(">") == False and header == 1:
+         query_sequence = line.rstrip()
+      print(line, end='')
+
+    os.rename(custom_msa, a3m_file)
+    queries_path=a3m_file
+    print(f"moving {custom_msa} to {a3m_file}")
+
+else:
+  a3m_file = os.path.join(jobname,f"{jobname}.single_sequence.a3m")
+  with open(a3m_file, "w") as text_file:
+    text_file.write(">1\n%s" % query_sequence)
+
+
+
+
+
+
+
# @title # **4. Advanced Settings** { run: "auto", display-mode: "form" }
+
+#@markdown ## a. ML Model
+model_type = "auto" #@param ["auto", "alphafold2_ptm", "alphafold2_multimer_v1", "alphafold2_multimer_v2", "alphafold2_multimer_v3"]
+#@markdown **Note:** If `auto` selected, will use `alphafold2_ptm` for monomer prediction
+#@markdown and `alphafold2_multimer_v3` for complex prediction.
+#@markdown Any of the `mode_types` can be used (regardless if input is monomer or complex).
+
+#@markdown \
+#@markdown ## b. Re-Train with Predicted Structures
+num_recycles = "0" #@param ["auto", "0", "1", "3", "6", "12", "24", "48"]
+#@markdown **Note:**
+#@markdown - If `auto` selected, will use `num_recycles=20`,
+#@markdown - If `model_type=alphafold2_multimer_v3`, else `num_recycles=3`
+
+#@markdown \
+recycle_early_stop_tolerance = "auto" #@param ["auto", "0.0", "0.5", "1.0"]
+#@markdown - if `auto` selected, will use `tol=0.5`
+#@markdown - If `model_type=alphafold2_multimer_v3`,  else `tol=0.0`.
+
+#@markdown \
+#@markdown ## c. Amber Relaxation
+relax_max_iterations = 200 #@param [0, 200, 2000] {type:"raw"}
+#@markdown - max amber relax iterations
+#@markdown -  `0` = unlimited (AlphaFold2 default, can take very long)
+
+#@markdown \
+#@markdown ## d. MSA Pairing
+pairing_strategy = "greedy" #@param ["greedy", "complete"] {type:"string"}
+#@markdown - `greedy` = pair any taxonomically matching subsets,
+#@markdown - `complete` = all sequences have to match in one line.
+
+#@markdown \
+#@markdown ## e. Sample settings
+#@markdown -  enable dropouts and increase number of seeds to sample predictions from uncertainty of the model.
+#@markdown -  decrease `max_msa` to increase uncertainity
+max_msa = "auto" #@param ["auto", "512:1024", "256:512", "64:128", "32:64", "16:32"]
+num_seeds = 1 #@param [1,2,4,8,16] {type:"raw"}
+use_dropout = False #@param {type:"boolean"}
+
+num_recycles = None if num_recycles == "auto" else int(num_recycles)
+recycle_early_stop_tolerance = None if recycle_early_stop_tolerance == "auto" else float(recycle_early_stop_tolerance)
+if max_msa == "auto": max_msa = None
+
+#@markdown \
+#@markdown # **5. Save settings**
+#@markdown This will ask for your credentials, to save the outputs.
+save_all = False #@param {type:"boolean"}
+save_recycles = False #@param {type:"boolean"}
+save_to_google_drive = False #@param {type:"boolean"}
+#@markdown -  if the save_to_google_drive option was selected, the result zip will be uploaded to your Google Drive
+dpi = 200 #@param {type:"integer"}
+#@markdown - set dpi for image resolution
+
+if save_to_google_drive:
+  from pydrive.drive import GoogleDrive
+  from pydrive.auth import GoogleAuth
+  from google.colab import auth
+  from oauth2client.client import GoogleCredentials
+  auth.authenticate_user()
+  gauth = GoogleAuth()
+  gauth.credentials = GoogleCredentials.get_application_default()
+  drive = GoogleDrive(gauth)
+  print("You are logged into Google Drive and are good to go!")
+
+#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form.
+
+
+
+
+
+
+
#@title # **6. Run Prediction** { display-mode: "form" }
+
+display_images = True #@param {type:"boolean"}
+
+
+import sys
+import warnings
+warnings.simplefilter(action='ignore', category=FutureWarning)
+from Bio import BiopythonDeprecationWarning
+warnings.simplefilter(action='ignore', category=BiopythonDeprecationWarning)
+from pathlib import Path
+from colabfold.download import download_alphafold_params, default_data_dir
+from colabfold.utils import setup_logging
+from colabfold.batch import get_queries, run, set_model_type
+from colabfold.plot import plot_msa_v2
+
+import os
+import numpy as np
+try:
+  K80_chk = os.popen('nvidia-smi | grep "Tesla K80" | wc -l').read()
+except:
+  K80_chk = "0"
+  pass
+if "1" in K80_chk:
+  print("WARNING: found GPU Tesla K80: limited to total length < 1000")
+  if "TF_FORCE_UNIFIED_MEMORY" in os.environ:
+    del os.environ["TF_FORCE_UNIFIED_MEMORY"]
+  if "XLA_PYTHON_CLIENT_MEM_FRACTION" in os.environ:
+    del os.environ["XLA_PYTHON_CLIENT_MEM_FRACTION"]
+
+from colabfold.colabfold import plot_protein
+from pathlib import Path
+import matplotlib.pyplot as plt
+
+# For some reason we need that to get pdbfixer to import
+if use_amber and f"/usr/local/lib/python{python_version}/site-packages/" not in sys.path:
+    sys.path.insert(0, f"/usr/local/lib/python{python_version}/site-packages/")
+
+def input_features_callback(input_features):
+  if display_images:
+    plot_msa_v2(input_features)
+    plt.show()
+    plt.close()
+
+def prediction_callback(protein_obj, length,
+                        prediction_result, input_features, mode):
+  model_name, relaxed = mode
+  if not relaxed:
+    if display_images:
+      fig = plot_protein(protein_obj, Ls=length, dpi=150)
+      plt.show()
+      plt.close()
+
+result_dir = jobname
+log_filename = os.path.join(jobname,"log.txt")
+setup_logging(Path(log_filename))
+
+queries, is_complex = get_queries(queries_path)
+model_type = set_model_type(is_complex, model_type)
+
+if "multimer" in model_type and max_msa is not None:
+  use_cluster_profile = False
+else:
+  use_cluster_profile = True
+
+download_alphafold_params(model_type, Path("."))
+results = run(
+    queries=queries,
+    result_dir=result_dir,
+    use_templates=use_templates,
+    custom_template_path=custom_template_path,
+    num_relax=num_relax,
+    msa_mode=msa_mode,
+    model_type=model_type,
+    num_models=5,
+    num_recycles=num_recycles,
+    relax_max_iterations=relax_max_iterations,
+    recycle_early_stop_tolerance=recycle_early_stop_tolerance,
+    num_seeds=num_seeds,
+    use_dropout=use_dropout,
+    model_order=[1,2,3,4,5],
+    is_complex=is_complex,
+    data_dir=Path("."),
+    keep_existing_results=False,
+    rank_by="auto",
+    pair_mode=pair_mode,
+    pairing_strategy=pairing_strategy,
+    stop_at_score=float(100),
+    prediction_callback=prediction_callback,
+    dpi=dpi,
+    zip_results=False,
+    save_all=save_all,
+    max_msa=max_msa,
+    use_cluster_profile=use_cluster_profile,
+    input_features_callback=input_features_callback,
+    save_recycles=save_recycles,
+    user_agent="colabfold/google-colab-main",
+)
+results_zip = f"{jobname}.result.zip"
+os.system(f"zip -r {results_zip} {jobname}")
+
+
+
+
+
2023-12-08 03:34:55,968 alphafold2_multimer_v3_model_2_seed_000 recycle=18 pLDDT=85.8 pTM=0.479 ipTM=0.372 tol=0.629
+2023-12-08 03:35:09,602 alphafold2_multimer_v3_model_2_seed_000 recycle=19 pLDDT=85.5 pTM=0.478 ipTM=0.374 tol=1.08
+
+
+
+
+
+
+
# @title # **7. Visualize 3D Structure of ColabFold Prediction** { run: "auto", display-mode: "form" }
+
+#@markdown Rank number/score for the **monomer model is the average pLDDT**,
+#@markdown where a ranking of 1 correlates better local structure confidence.
+#@markdown An acceptable model prediction should average $\ge 85$.
+#@markdown The number of ranked models was set in step `6. Run Prediction` (step 6, line 75.).
+
+#@markdown \
+#@markdown Here, you can change the value for `rank_num` to visualize the 5 predictions.
+
+import py3Dmol
+import glob
+import matplotlib.pyplot as plt
+from colabfold.colabfold import plot_plddt_legend
+from colabfold.colabfold import pymol_color_list, alphabet_list
+
+rank_num = 1 #@param ["1", "2", "3", "4", "5"] {type:"raw"}
+color = "rainbow" #@param ["chain", "lDDT", "rainbow"]
+show_sidechains = False #@param {type:"boolean"}
+show_mainchains = False #@param {type:"boolean"}
+
+tag = results["rank"][0][rank_num - 1]
+jobname_prefix = ".custom" if msa_mode == "custom" else ""
+pdb_filename = f"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb"
+pdb_file = glob.glob(pdb_filename)
+
+def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color="lDDT"):
+  model_name = f"rank_{rank_num}"
+  view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)
+  view.addModel(open(pdb_file[0],'r').read(),'pdb')
+
+
+  if color == "lDDT":
+    view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})
+  elif color == "rainbow":
+    view.setStyle({'cartoon': {'color':'spectrum'}})
+  elif color == "chain":
+    chains = len(queries[0][1]) + 1 if is_complex else 1
+    for n,chain,color in zip(range(chains),alphabet_list,pymol_color_list):
+       view.setStyle({'chain':chain},{'cartoon': {'color':color}})
+
+  if show_sidechains:
+    BB = ['C','O','N']
+    view.addStyle({'and':[{'resn':["GLY","PRO"],'invert':True},{'atom':BB,'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"GLY"},{'atom':'CA'}]},
+                        {'sphere':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"PRO"},{'atom':['C','O'],'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+  if show_mainchains:
+    BB = ['C','O','N','CA']
+    view.addStyle({'atom':BB},{'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}}, viewer=(0,0))
+
+  view.zoomTo()
+  return view
+
+print('Prediction: Rank %d' % rank_num)
+show_pdb(rank_num, show_sidechains, show_mainchains, color).show()
+if color == "lDDT":
+  plot_plddt_legend().show()
+
+
+#@markdown \
+
+
+
+
+
+
+
#@title **8. Package and Download**
+
+#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \"Download\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).
+
+if msa_mode == "custom":
+  print("Don't forget to cite your custom MSA generation method.")
+
+files.download(f"{jobname}.result.zip")
+
+if save_to_google_drive == True and drive:
+  uploaded = drive.CreateFile({'title': f"{jobname}.result.zip"})
+  uploaded.SetContentFile(f"{jobname}.result.zip")
+  uploaded.Upload()
+  print(f"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}")
+
+
+
+
+

Colab notebooks are adapted from:

+ +

From the original notebook:

+
+
https://raw.githubusercontent.com/sokrypton/ColabFold/main/.github/ColabFold_Marv_Logo_Small.png +
+
+

ColabFold v1.5.3: AlphaFold2 using MMseqs2#

+

Easy to use protein structure and complex prediction using AlphaFold2 and Alphafold2-multimer. Sequence alignments/templates are generated through MMseqs2 and HHsearch. For more details, see bottom of the notebook, checkout the ColabFold GitHub and read our manuscript.

+

Old versions: v1.4, v1.5.1, v1.5.2

+

Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all. +Nature Methods, 2022

+
+
+

News#

+
    +
  • 2023/07/31: The ColabFold MSA server is back to normal. It was using older DB (UniRef30 2202/PDB70 220313) from 27th ~8:30 AM CEST to 31st ~11:10 AM CEST.

  • +
  • 2023/06/12: New databases! UniRef30 updated to 2023_02 and PDB to 230517. We now use PDB100 instead of PDB70 (see notes).

  • +
  • 2023/06/12: We introduced a new default pairing strategy: Previously, for multimer predictions with more than 2 chains, we only pair if all sequences taxonomically match (“complete” pairing). The new default “greedy” strategy pairs any taxonomically matching subsets.

  • +
+
+
+
+
+

Instructions #

+

Quick start

+
    +
  1. Paste your protein sequence(s) in the input field.

  2. +
  3. Press “Runtime” -> “Run all”.

  4. +
  5. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.

  6. +
+

Result zip file contents

+
    +
  1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if use_amber is enabled).

  2. +
  3. Plots of the model quality.

  4. +
  5. Plots of the MSA coverage.

  6. +
  7. Parameter log file.

  8. +
  9. A3M formatted input MSA.

  10. +
  11. A predicted_aligned_error_v1.json using AlphaFold-DB’s format and a scores.json for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.

  12. +
  13. BibTeX file with citations for all used tools and databases.

  14. +
+

At the end of the job a download modal box will pop up with a jobname.result.zip file. Additionally, if the save_to_google_drive option was selected, the jobname.result.zip will be uploaded to your Google Drive.

+

License +githubusercontent.com/sokrypton/ColabFold/main/LICENSE). Additionally, this > notebook uses the AlphaFold2 source code and its parameters licensed under Apache 2.0 > and CC BY 4.0 respectively. Read more about the AlphaFold license [here](deepmind/> alphafold).

+

Acknowledgments

+
    +
  • We thank the AlphaFold team for developing an excellent model and open > sourcing the software.

  • +
  • KOBIC and Söding Lab for providing the computational resources for the MMseqs2 MSA server.

  • +
  • Richard Evans for helping to benchmark the ColabFold’s Alphafold-multimer support.

  • +
  • David Koes for his awesome py3Dmol plugin, without whom these notebooks would be quite boring!

  • +
  • Do-Yoon Kim for creating the ColabFold logo.

  • +
  • A colab by Sergey Ovchinnikov (@sokrypton), Milot Mirdita (@milot_mirdita) and Martin Steinegger (@thesteinegger).

  • +
+
+ + + + +
+ + + + +
+ +
+ +
+
+
+ +
+ +
+ +
+ + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/ColabFold/old/ColabFold_AF2_mmseqs2.html b/ColabFold/old/ColabFold_AF2_mmseqs2.html new file mode 100644 index 0000000..e8248b3 --- /dev/null +++ b/ColabFold/old/ColabFold_AF2_mmseqs2.html @@ -0,0 +1,1155 @@ + + + + + + + + + + + + Instructions — Tutorials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Instructions

+ +
+
+ +
+
+
+ + + + +
+ +

Open In Colab

+https://raw.githubusercontent.com/sokrypton/ColabFold/main/.github/ColabFold_Marv_Logo_Small.png +

##ColabFold: AlphaFold2 using MMseqs2

+

Easy to use protein structure and complex prediction using AlphaFold2 and Alphafold2-multimer. Sequence alignments/templates are generated through MMseqs2 and HHsearch. For more details, see bottom of the notebook, checkout the ColabFold GitHub and read our manuscript. Old versions: v1.0, v1.1, v1.2, v1.3

+

Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all. +Nature Methods, 2022

+
+
+
#@title Input protein sequence(s), then hit `Runtime` -> `Run all`
+from google.colab import files
+import os.path
+import re
+import hashlib
+import random
+
+def add_hash(x,y):
+  return x+"_"+hashlib.sha1(y.encode()).hexdigest()[:5]
+
+#@markdown Example query sequence is for bax (obtained from 00_monomer_pred/bax.fasta).
+#@markdown - Use `:` to specify inter-protein chainbreaks for **modeling complexes** (supports homo- and hetro-oligomers). 
+#@markdown   - For example **MDG...KMG:MDF...KMG** for a bax homodimer.
+query_sequence = 'MDGSGEQPRGGGPTSSEQIMKTGALLLQGFIQDRAGRMGGEAPELALDPVPQDASTKKLSECLKRIGDELDSNMELQRMIAAVDTDSPREVFFRVAADMFSDGNFNWGRVVALFYFASKLVLKALCTKVPELIRTIMGWTLDFLRERLLGWIQDQGGWDGLLSYFGTPTWQTVTIFVAGVLTASLTIWKKMG' #@param {type:"string"}
+
+# remove whitespaces
+query_sequence = "".join(query_sequence.split())
+
+jobname = 'bax' #@param {type:"string"}
+# remove whitespaces
+basejobname = "".join(jobname.split())
+basejobname = re.sub(r'\W+', '', basejobname)
+jobname = add_hash(basejobname, query_sequence)
+while os.path.isfile(f"{jobname}.csv"):
+  jobname = add_hash(basejobname, ''.join(random.sample(query_sequence,len(query_sequence))))
+
+with open(f"{jobname}.csv", "w") as text_file:
+    text_file.write(f"id,sequence\n{jobname},{query_sequence}")
+
+queries_path=f"{jobname}.csv"
+
+#@markdown Amber minimization option.
+# number of models to use
+use_amber = True #@param {type:"boolean"}
+#@markdown Template mode refers to usage of PDB templates from RCSB.
+
+#@markdown 3 options:
+#@markdown - "none" = no template information is used
+#@markdown - "pdb70" = detect templates in pdb70
+#@markdown - "custom" - upload and search own templates (PDB or mmCIF format, see [notes below](#custom_templates)).
+template_mode = "none" #@param ["none", "pdb70","custom"]
+
+
+if template_mode == "pdb70":
+  use_templates = True
+  custom_template_path = None
+elif template_mode == "custom":
+  custom_template_path = f"{jobname}_template"
+  os.mkdir(custom_template_path)
+  uploaded = files.upload()
+  use_templates = True
+  for fn in uploaded.keys():
+    os.rename(fn, f"{jobname}_template/{fn}")
+else:
+  custom_template_path = None
+  use_templates = False
+
+
+
+
+
---------------------------------------------------------------------------
+ModuleNotFoundError                       Traceback (most recent call last)
+Cell In[1], line 2
+      1 #@title Input protein sequence(s), then hit `Runtime` -> `Run all`
+----> 2 from google.colab import files
+      3 import os.path
+      4 import re
+
+ModuleNotFoundError: No module named 'google'
+
+
+
+
+
+
+
#@markdown ### MSA options (custom MSA upload, single sequence, pairing mode)
+#@markdown 4 options:
+#@markdown - "MMseqs2 (UniRef+Environmental)"
+#@markdown - "MMseqs2 (Uniref only)"
+#@markdown - "single sequence"
+#@markdown - "custom"
+msa_mode = "MMseqs2 (UniRef+Environmental)" #@param ["MMseqs2 (UniRef+Environmental)", "MMseqs2 (UniRef only)","single_sequence","custom"]
+
+#@markdown 3 options:
+#@markdown - "unpaired+paired" = pair sequences from same species + unpaired MSA
+#@markdown - "unpaired" = seperate MSA for each chain
+#@markdown - "paired" = only use paired sequences
+pair_mode = "unpaired+paired" #@param ["unpaired+paired","paired","unpaired"] {type:"string"}
+
+# decide which a3m to use
+if msa_mode.startswith("MMseqs2"):
+  a3m_file = f"{jobname}.a3m"
+elif msa_mode == "custom":
+  a3m_file = f"{jobname}.custom.a3m"
+  if not os.path.isfile(a3m_file):
+    custom_msa_dict = files.upload()
+    custom_msa = list(custom_msa_dict.keys())[0]
+    header = 0
+    import fileinput
+    for line in fileinput.FileInput(custom_msa,inplace=1):
+      if line.startswith(">"):
+         header = header + 1
+      if not line.rstrip():
+        continue
+      if line.startswith(">") == False and header == 1:
+         query_sequence = line.rstrip()
+      print(line, end='')
+
+    os.rename(custom_msa, a3m_file)
+    queries_path=a3m_file
+    print(f"moving {custom_msa} to {a3m_file}")
+else:
+  a3m_file = f"{jobname}.single_sequence.a3m"
+  with open(a3m_file, "w") as text_file:
+    text_file.write(">1\n%s" % query_sequence)
+
+
+
+
+
+
+
#@markdown ### Advanced settings
+#@markdown - "auto" = protein structure prediction using "AlphaFold2-ptm" and complex prediction "AlphaFold-multimer-v2". 
+#@markdown - For complexes "AlphaFold-multimer-v[1,2]" and "AlphaFold-ptm" can be used.
+model_type = "auto" #@param ["auto", "AlphaFold2-ptm", "AlphaFold2-multimer-v1", "AlphaFold2-multimer-v2"]
+
+num_recycles = 3 #@param [1,3,6,12,24,48] {type:"raw"}
+
+#@markdown -  The save_to_google_drive option will upload zip file to your Google Drive
+save_to_google_drive = False #@param {type:"boolean"}
+
+dpi = 300 #@param {type:"integer"}
+#@markdown - set dpi for image resolution
+
+#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form.
+
+
+if save_to_google_drive:
+  from pydrive.drive import GoogleDrive
+  from pydrive.auth import GoogleAuth
+  from google.colab import auth
+  from oauth2client.client import GoogleCredentials
+  auth.authenticate_user()
+  gauth = GoogleAuth()
+  gauth.credentials = GoogleCredentials.get_application_default()
+  drive = GoogleDrive(gauth)
+  print("You are logged into Google Drive and are good to go!")
+
+
+
+
+
+
+
#@title Install dependencies
+%%bash -s $use_amber $use_templates
+
+set -e
+
+USE_AMBER=$1
+USE_TEMPLATES=$2
+
+if [ ! -f COLABFOLD_READY ]; then
+  # install dependencies
+  # We have to use "--no-warn-conflicts" because colab already has a lot preinstalled with requirements different to ours
+  pip install -q --no-warn-conflicts "colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold"
+  # high risk high gain
+  pip install -q "jax[cuda11_cudnn805]>=0.3.8,<0.4" -f https://storage.googleapis.com/jax-releases/jax_releases.html
+  touch COLABFOLD_READY
+fi
+
+# setup conda
+if [ ${USE_AMBER} == "True" ] || [ ${USE_TEMPLATES} == "True" ]; then
+  if [ ! -f CONDA_READY ]; then
+    wget -qnc https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+    bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local 2>&1 1>/dev/null
+    rm Miniconda3-latest-Linux-x86_64.sh
+    touch CONDA_READY
+  fi
+fi
+# setup template search
+if [ ${USE_TEMPLATES} == "True" ] && [ ! -f HH_READY ]; then
+  conda install -y -q -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python=3.7 2>&1 1>/dev/null
+  touch HH_READY
+fi
+# setup openmm for amber refinement
+if [ ${USE_AMBER} == "True" ] && [ ! -f AMBER_READY ]; then
+  conda install -y -q -c conda-forge openmm=7.5.1 python=3.7 pdbfixer 2>&1 1>/dev/null
+  touch AMBER_READY
+fi
+
+
+
+
+
  0%|          | 0/40 [00:00<?, ?it/s]
+Extracting : ld_impl_linux-64-2.35.1-h7274673_9.conda:   0%|          | 0/40 [00:00<?, ?it/s]
+Extracting : zlib-1.2.12-h7f8727e_1.conda:   2%|▎         | 1/40 [00:00<00:02, 15.82it/s]    
+Extracting : _libgcc_mutex-0.1-main.conda:   5%|▌         | 2/40 [00:00<00:01, 27.74it/s]
+Extracting : pysocks-1.7.1-py39h06a4308_0.conda:   8%|▊         | 3/40 [00:00<00:00, 37.19it/s]
+Extracting : pycosat-0.6.3-py39h27cfd23_0.conda:  10%|█         | 4/40 [00:00<00:02, 13.49it/s]
+Extracting : pycosat-0.6.3-py39h27cfd23_0.conda:  12%|█▎        | 5/40 [00:00<00:02, 16.85it/s]
+Extracting : pycparser-2.21-pyhd3eb1b0_0.conda:  12%|█▎        | 5/40 [00:00<00:02, 16.85it/s] 
+Extracting : cffi-1.15.0-py39hd667e15_1.conda:  15%|█▌        | 6/40 [00:00<00:02, 16.85it/s] 
+Extracting : openssl-1.1.1n-h7f8727e_0.conda:  18%|█▊        | 7/40 [00:00<00:01, 16.85it/s] 
+Extracting : wheel-0.37.1-pyhd3eb1b0_0.conda:  20%|██        | 8/40 [00:00<00:01, 16.85it/s]
+Extracting : libffi-3.3-he6710b0_2.conda:  22%|██▎       | 9/40 [00:00<00:01, 16.85it/s]    
+Extracting : certifi-2021.10.8-py39h06a4308_2.conda:  25%|██▌       | 10/40 [00:00<00:01, 16.85it/s]
+Extracting : ca-certificates-2022.3.29-h06a4308_1.conda:  28%|██▊       | 11/40 [00:00<00:01, 16.85it/s]
+Extracting : xz-5.2.5-h7b6447c_0.conda:  30%|███       | 12/40 [00:00<00:01, 16.85it/s]                 
+Extracting : pip-21.2.4-py39h06a4308_0.conda:  32%|███▎      | 13/40 [00:00<00:01, 16.85it/s]
+Extracting : pip-21.2.4-py39h06a4308_0.conda:  35%|███▌      | 14/40 [00:00<00:00, 33.28it/s]
+Extracting : tqdm-4.63.0-pyhd3eb1b0_0.conda:  35%|███▌      | 14/40 [00:00<00:00, 33.28it/s] 
+Extracting : python-3.9.12-h12debd9_0.conda:  38%|███▊      | 15/40 [00:01<00:00, 33.28it/s]
+Extracting : brotlipy-0.7.0-py39h27cfd23_1003.conda:  40%|████      | 16/40 [00:01<00:00, 33.28it/s]
+Extracting : libstdcxx-ng-9.3.0-hd4cf53a_17.conda:  42%|████▎     | 17/40 [00:01<00:00, 33.28it/s]  
+Extracting : libstdcxx-ng-9.3.0-hd4cf53a_17.conda:  45%|████▌     | 18/40 [00:01<00:01, 15.90it/s]
+Extracting : charset-normalizer-2.0.4-pyhd3eb1b0_0.conda:  45%|████▌     | 18/40 [00:01<00:01, 15.90it/s]
+Extracting : cryptography-36.0.0-py39h9ce1e76_0.conda:  48%|████▊     | 19/40 [00:01<00:01, 15.90it/s]   
+Extracting : idna-3.3-pyhd3eb1b0_0.conda:  50%|█████     | 20/40 [00:01<00:01, 15.90it/s]             
+Extracting : tk-8.6.11-h1ccaba5_0.conda:  52%|█████▎    | 21/40 [00:01<00:01, 15.90it/s] 
+Extracting : yaml-0.2.5-h7b6447c_0.conda:  55%|█████▌    | 22/40 [00:01<00:01, 15.90it/s]
+Extracting : ncurses-6.3-h7f8727e_2.conda:  57%|█████▊    | 23/40 [00:01<00:01, 15.90it/s]
+Extracting : ncurses-6.3-h7f8727e_2.conda:  60%|██████    | 24/40 [00:01<00:00, 19.03it/s]
+Extracting : requests-2.27.1-pyhd3eb1b0_0.conda:  60%|██████    | 24/40 [00:01<00:00, 19.03it/s]
+Extracting : conda-4.12.0-py39h06a4308_0.conda:  62%|██████▎   | 25/40 [00:01<00:00, 19.03it/s] 
+Extracting : ruamel_yaml-0.15.100-py39h27cfd23_0.conda:  65%|██████▌   | 26/40 [00:01<00:00, 19.03it/s]
+Extracting : ruamel_yaml-0.15.100-py39h27cfd23_0.conda:  68%|██████▊   | 27/40 [00:01<00:00, 13.02it/s]
+Extracting : setuptools-61.2.0-py39h06a4308_0.conda:  68%|██████▊   | 27/40 [00:01<00:00, 13.02it/s]   
+Extracting : conda-package-handling-1.8.1-py39h7f8727e_0.conda:  70%|███████   | 28/40 [00:01<00:00, 13.02it/s]
+Extracting : tzdata-2022a-hda174b7_0.conda:  72%|███████▎  | 29/40 [00:01<00:00, 13.02it/s]                    
+Extracting : colorama-0.4.4-pyhd3eb1b0_0.conda:  75%|███████▌  | 30/40 [00:01<00:00, 13.02it/s]
+Extracting : conda-content-trust-0.1.1-pyhd3eb1b0_0.conda:  78%|███████▊  | 31/40 [00:01<00:00, 13.02it/s]
+Extracting : readline-8.1.2-h7f8727e_1.conda:  80%|████████  | 32/40 [00:01<00:00, 13.02it/s]             
+Extracting : libgcc-ng-9.3.0-h5101ec6_17.conda:  82%|████████▎ | 33/40 [00:01<00:00, 13.02it/s]
+Extracting : libgcc-ng-9.3.0-h5101ec6_17.conda:  85%|████████▌ | 34/40 [00:01<00:00, 19.90it/s]
+Extracting : urllib3-1.26.8-pyhd3eb1b0_0.conda:  85%|████████▌ | 34/40 [00:01<00:00, 19.90it/s]
+Extracting : sqlite-3.38.2-hc218d9a_0.conda:  88%|████████▊ | 35/40 [00:01<00:00, 19.90it/s]   
+Extracting : libgomp-9.3.0-h5101ec6_17.conda:  90%|█████████ | 36/40 [00:01<00:00, 19.90it/s]
+Extracting : pyopenssl-22.0.0-pyhd3eb1b0_0.conda:  92%|█████████▎| 37/40 [00:01<00:00, 19.90it/s]
+Extracting : six-1.16.0-pyhd3eb1b0_1.conda:  95%|█████████▌| 38/40 [00:01<00:00, 19.90it/s]      
+Extracting : six-1.16.0-pyhd3eb1b0_1.conda:  98%|█████████▊| 39/40 [00:01<00:00, 23.43it/s]
+Extracting : _openmp_mutex-4.5-1_gnu.tar.bz2:  98%|█████████▊| 39/40 [00:01<00:00, 23.43it/s]
+                                                                                             
+
+
+
+
+
+
+
#@title Run Prediction
+import sys
+import warnings
+warnings.simplefilter(action='ignore', category=FutureWarning)
+
+from colabfold.download import download_alphafold_params, default_data_dir
+from colabfold.utils import setup_logging
+from colabfold.batch import get_queries, run, set_model_type
+K80_chk = !nvidia-smi | grep "Tesla K80" | wc -l
+if "1" in K80_chk:
+  print("WARNING: found GPU Tesla K80: limited to total length < 1000")
+  if "TF_FORCE_UNIFIED_MEMORY" in os.environ:
+    del os.environ["TF_FORCE_UNIFIED_MEMORY"]
+  if "XLA_PYTHON_CLIENT_MEM_FRACTION" in os.environ:
+    del os.environ["XLA_PYTHON_CLIENT_MEM_FRACTION"]
+
+from colabfold.colabfold import plot_protein
+from pathlib import Path
+import matplotlib.pyplot as plt
+
+
+# For some reason we need that to get pdbfixer to import
+if use_amber and '/usr/local/lib/python3.7/site-packages/' not in sys.path:
+    sys.path.insert(0, '/usr/local/lib/python3.7/site-packages/')
+
+def prediction_callback(unrelaxed_protein, length, prediction_result, input_features, type):
+  fig = plot_protein(unrelaxed_protein, Ls=length, dpi=150)
+  plt.show()
+  plt.close()
+
+result_dir="."
+if 'logging_setup' not in globals():
+    setup_logging(Path(".").joinpath("log.txt"))
+    logging_setup = True
+
+queries, is_complex = get_queries(queries_path)
+model_type = set_model_type(is_complex, model_type)
+download_alphafold_params(model_type, Path("."))
+run(
+    queries=queries,
+    result_dir=result_dir,
+    use_templates=use_templates,
+    custom_template_path=custom_template_path,
+    use_amber=use_amber,
+    msa_mode=msa_mode,    
+    model_type=model_type,
+    num_models=5,
+    num_recycles=num_recycles,
+    model_order=[1, 2, 3, 4, 5],
+    is_complex=is_complex,
+    data_dir=Path("."),
+    keep_existing_results=False,
+    recompile_padding=1.0,
+    rank_by="auto",
+    pair_mode=pair_mode,
+    stop_at_score=float(100),
+    prediction_callback=prediction_callback,
+    dpi=dpi
+)
+
+
+
+
+
Downloading alphafold2 weights to .: 100%|██████████| 3.47G/3.47G [00:22<00:00, 162MB/s]
+
+
+
2022-09-14 19:50:01,569 Found 6 citations for tools or databases
+2022-09-14 19:50:07,414 Query 1/1: bax_f85cf (length 192)
+
+
+
COMPLETE: 100%|██████████| 150/150 [elapsed: 00:01 remaining: 00:00]
+
+
+
2022-09-14 19:50:09,525 Running model_1
+2022-09-14 19:51:48,517 model_1 took 94.4s (3 recycles) with pLDDT 80.6 and ptmscore 0.793
+
+
+../../_images/c2a76a87adf318087a2bc6981edf712e273efffc99393ff6992fe1b943838835.png +
2022-09-14 19:53:42,597 Relaxation took 78.4s
+
+
+../../_images/5ba7fb9f5aa0115877c4e750271cd6596d70f7ec021781b68dbbd01b78ca826a.png +
2022-09-14 19:53:42,884 Running model_2
+2022-09-14 19:54:46,588 model_2 took 61.5s (3 recycles) with pLDDT 80.4 and ptmscore 0.803
+
+
+../../_images/0eeb61c92a8a8369c280106ca142d01a7468bb04b642f553d2ddffd6e53bbb06.png +
2022-09-14 19:56:06,648 Relaxation took 71.9s
+
+
+../../_images/92e7e51893be363f2476d175090f73cfedcef8f7cc8f4be891e8a204be562827.png +
2022-09-14 19:56:06,938 Running model_3
+2022-09-14 19:57:10,632 model_3 took 61.5s (3 recycles) with pLDDT 85.1 and ptmscore 0.831
+
+
+../../_images/1c9a112d326603b6a145d3d380e85a1e63ac7617f257de92664452c9410b9e4b.png +
2022-09-14 19:58:27,707 Relaxation took 69.0s
+
+
+../../_images/3a7713484cd113db8a04c3f2186e4fade8d3bb9ab75323d72ef1d4178c84aa0a.png +
2022-09-14 19:58:27,969 Running model_4
+2022-09-14 19:59:31,845 model_4 took 61.7s (3 recycles) with pLDDT 78 and ptmscore 0.757
+
+
+../../_images/1c1081c0c1a13efbb0cddb25af0b1876d8ac443475716485d7736ad5f37a2cd3.png +
2022-09-14 20:00:44,946 Relaxation took 64.8s
+
+
+../../_images/b1654eb5bde2180c42268a8f437445d8ec15158f73abf78755a7a5090445d6b0.png +
2022-09-14 20:00:45,235 Running model_5
+2022-09-14 20:01:49,152 model_5 took 61.7s (3 recycles) with pLDDT 83.5 and ptmscore 0.832
+
+
+../../_images/19da840fc8691bde82401616cf390a239f40ce6d4c01b8a1a95e1df22daab2c3.png +
2022-09-14 20:03:01,405 Relaxation took 64.0s
+
+
+../../_images/0c4540f054eb50af50ff5ed1ce0ca2d38d8d3a85cb91c6b031ae0c2d82cfdc75.png +
2022-09-14 20:03:01,711 reranking models by plddt
+2022-09-14 20:03:04,582 Done
+
+
+
+
+
+
+
#@title Display 3D structure {run: "auto"}
+import py3Dmol
+import glob
+import matplotlib.pyplot as plt
+from colabfold.colabfold import plot_plddt_legend
+rank_num = 1 #@param ["1", "2", "3", "4", "5"] {type:"raw"}
+color = "lDDT" #@param ["chain", "lDDT", "rainbow"]
+show_sidechains = False #@param {type:"boolean"}
+show_mainchains = False #@param {type:"boolean"}
+
+jobname_prefix = ".custom" if msa_mode == "custom" else ""
+if use_amber:
+  pdb_filename = f"{jobname}{jobname_prefix}_relaxed_rank_{rank_num}_model_*.pdb"
+else:
+  pdb_filename = f"{jobname}{jobname_prefix}_unrelaxed_rank_{rank_num}_model_*.pdb"
+
+pdb_file = glob.glob(pdb_filename)
+
+def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color="lDDT"):
+  model_name = f"rank_{rank_num}"
+  view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)
+  view.addModel(open(pdb_file[0],'r').read(),'pdb')
+
+  if color == "lDDT":
+    view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})
+  elif color == "rainbow":
+    view.setStyle({'cartoon': {'color':'spectrum'}})
+  elif color == "chain":
+    chains = len(queries[0][1]) + 1 if is_complex else 1
+    for n,chain,color in zip(range(chains),list("ABCDEFGH"),
+                     ["lime","cyan","magenta","yellow","salmon","white","blue","orange"]):
+      view.setStyle({'chain':chain},{'cartoon': {'color':color}})
+  if show_sidechains:
+    BB = ['C','O','N']
+    view.addStyle({'and':[{'resn':["GLY","PRO"],'invert':True},{'atom':BB,'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"GLY"},{'atom':'CA'}]},
+                        {'sphere':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+    view.addStyle({'and':[{'resn':"PRO"},{'atom':['C','O'],'invert':True}]},
+                        {'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})  
+  if show_mainchains:
+    BB = ['C','O','N','CA']
+    view.addStyle({'atom':BB},{'stick':{'colorscheme':f"WhiteCarbon",'radius':0.3}})
+
+  view.zoomTo()
+  return view
+
+
+show_pdb(rank_num,show_sidechains, show_mainchains, color).show()
+if color == "lDDT":
+  plot_plddt_legend().show() 
+
+
+
+
+
+

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
+ jupyter labextension install jupyterlab_3dmol

+
+
../../_images/881216eaf59076a500ab959ea9ac5d26abf22a1d489ce07303016bf35e6ea465.png +
+
+
+
+
#@title Plots {run: "auto"}
+from IPython.display import display, HTML
+import base64
+from html import escape
+
+# see: https://stackoverflow.com/a/53688522
+def image_to_data_url(filename):
+  ext = filename.split('.')[-1]
+  prefix = f'data:image/{ext};base64,'
+  with open(filename, 'rb') as f:
+    img = f.read()
+  return prefix + base64.b64encode(img).decode('utf-8')
+
+pae = image_to_data_url(f"{jobname}{jobname_prefix}_PAE.png")
+cov = image_to_data_url(f"{jobname}{jobname_prefix}_coverage.png")
+plddt = image_to_data_url(f"{jobname}{jobname_prefix}_plddt.png")
+display(HTML(f"""
+<style>
+  img {{
+    float:left;
+  }}
+  .full {{
+    max-width:100%;
+  }}
+  .half {{
+    max-width:50%;
+  }}
+  @media (max-width:640px) {{
+    .half {{
+      max-width:100%;
+    }}
+  }}
+</style>
+<div style="max-width:90%; padding:2em;">
+  <h1>Plots for {escape(jobname)}</h1>
+  <img src="{pae}" class="full" />
+  <img src="{cov}" class="half" />
+  <img src="{plddt}" class="half" />
+</div>
+"""))
+
+
+
+
+
+ +
+

Plots for bax_f85cf

+ + + +
+
+
+
+
+
#@title Package and download results
+#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \"Download\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).
+
+if msa_mode == "custom":
+  print("Don't forget to cite your custom MSA generation method.")
+
+!zip -FSr $jobname".result.zip" config.json $jobname*".json" $jobname*".a3m" $jobname*"relaxed_rank_"*".pdb" "cite.bibtex" $jobname*".png"
+files.download(f"{jobname}.result.zip")
+
+if save_to_google_drive == True and drive:
+  uploaded = drive.CreateFile({'title': f"{jobname}.result.zip"})
+  uploaded.SetContentFile(f"{jobname}.result.zip")
+  uploaded.Upload()
+  print(f"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}")
+
+
+
+
+
  adding: config.json (deflated 49%)
+  adding: bax_f85cf_predicted_aligned_error_v1.json (deflated 89%)
+  adding: bax_f85cf_unrelaxed_rank_1_model_3_scores.json (deflated 70%)
+  adding: bax_f85cf_unrelaxed_rank_2_model_5_scores.json (deflated 70%)
+  adding: bax_f85cf_unrelaxed_rank_3_model_1_scores.json (deflated 69%)
+  adding: bax_f85cf_unrelaxed_rank_4_model_2_scores.json (deflated 70%)
+  adding: bax_f85cf_unrelaxed_rank_5_model_4_scores.json (deflated 69%)
+  adding: bax_f85cf.a3m (deflated 66%)
+  adding: bax_f85cf_relaxed_rank_1_model_3.pdb (deflated 78%)
+  adding: bax_f85cf_relaxed_rank_2_model_5.pdb (deflated 78%)
+  adding: bax_f85cf_relaxed_rank_3_model_1.pdb (deflated 78%)
+  adding: bax_f85cf_relaxed_rank_4_model_2.pdb (deflated 78%)
+  adding: bax_f85cf_relaxed_rank_5_model_4.pdb (deflated 78%)
+  adding: bax_f85cf_unrelaxed_rank_1_model_3.pdb (deflated 78%)
+  adding: bax_f85cf_unrelaxed_rank_2_model_5.pdb (deflated 78%)
+  adding: bax_f85cf_unrelaxed_rank_3_model_1.pdb (deflated 78%)
+  adding: bax_f85cf_unrelaxed_rank_4_model_2.pdb (deflated 78%)
+  adding: bax_f85cf_unrelaxed_rank_5_model_4.pdb (deflated 78%)
+  adding: cite.bibtex (deflated 52%)
+  adding: bax_f85cf_coverage.png (deflated 8%)
+  adding: bax_f85cf_PAE.png (deflated 1%)
+  adding: bax_f85cf_plddt.png (deflated 7%)
+
+
+
+
+
+

Instructions #

+

Quick start

+
    +
  1. Paste your protein sequence(s) in the input field.

  2. +
  3. Press “Runtime” -> “Run all”.

  4. +
  5. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.

  6. +
+

Result zip file contents

+
    +
  1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if use_amber is enabled).

  2. +
  3. Plots of the model quality.

  4. +
  5. Plots of the MSA coverage.

  6. +
  7. Parameter log file.

  8. +
  9. A3M formatted input MSA.

  10. +
  11. A predicted_aligned_error_v1.json using AlphaFold-DB’s format and a scores.json for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.

  12. +
  13. BibTeX file with citations for all used tools and databases.

  14. +
+

At the end of the job a download modal box will pop up with a jobname.result.zip file. Additionally, if the save_to_google_drive option was selected, the jobname.result.zip will be uploaded to your Google Drive.

+

MSA generation for complexes

+

For the complex prediction we use unpaired and paired MSAs. Unpaired MSA is generated the same way as for the protein structures prediction by searching the UniRef100 and environmental sequences three iterations each.

+

The paired MSA is generated by searching the UniRef100 database and pairing the best hits sharing the same NCBI taxonomic identifier (=species or sub-species). We only pair sequences if all of the query sequences are present for the respective taxonomic identifier.

+

Using a custom MSA as input

+

To predict the structure with a custom MSA (A3M formatted): (1) Change the msa_mode: to “custom”, (2) Wait for an upload box to appear at the end of the “MSA options …” box. Upload your A3M. The first fasta entry of the A3M must be the query sequence without gaps.

+

It is also possilbe to proide custom MSAs for complex predictions. Read more about the format here.

+

As an alternative for MSA generation the HHblits Toolkit server can be used. After submitting your query, click “Query Template MSA” -> “Download Full A3M”. Download the A3M file and upload it in this notebook.

+

Using custom templates

+

To predict the structure with a custom template (PDB or mmCIF formatted): (1) change the template_mode to “custom” in the execute cell and (2) wait for an upload box to appear at the end of the “Input Protein” box. Select and upload your templates (multiple choices are possible).

+
    +
  • Templates must follow the four letter PDB naming with lower case letters.

  • +
  • Templates in mmCIF format must contain _entity_poly_seq. An error is thrown if this field is not present. The field _pdbx_audit_revision_history.revision_date is automatically generated if it is not present.

  • +
  • Templates in PDB format are automatically converted to the mmCIF format. _entity_poly_seq and _pdbx_audit_revision_history.revision_date are automatically generated.

  • +
+

If you encounter problems, please report them to this issue.

+

Comparison to the full AlphaFold2 and Alphafold2 colab

+

This notebook replaces the homology detection and MSA pairing of AlphaFold2 with MMseqs2. For a comparison against the AlphaFold2 Colab and the full AlphaFold2 system read our preprint.

+

Troubleshooting

+
    +
  • Check that the runtime type is set to GPU at “Runtime” -> “Change runtime type”.

  • +
  • Try to restart the session “Runtime” -> “Factory reset runtime”.

  • +
  • Check your input sequence.

  • +
+

Known issues

+
    +
  • Google Colab assigns different types of GPUs with varying amount of memory. Some might not have enough memory to predict the structure for a long sequence.

  • +
  • Your browser can block the pop-up for downloading the result file. You can choose the save_to_google_drive option to upload to Google Drive instead or manually download the result file: Click on the little folder icon to the left, navigate to file: jobname.result.zip, right-click and select “Download” (see screenshot).

  • +
+

Limitations

+
    +
  • Computing resources: Our MMseqs2 API can handle ~20-50k requests per day.

  • +
  • MSAs: MMseqs2 is very precise and sensitive but might find less hits compared to HHblits/HMMer searched against BFD or MGnify.

  • +
  • We recommend to additionally use the full AlphaFold2 pipeline.

  • +
+

Description of the plots

+
    +
  • Number of sequences per position - We want to see at least 30 sequences per position, for best performance, ideally 100 sequences.

  • +
  • Predicted lDDT per position - model confidence (out of 100) at each position. The higher the better.

  • +
  • Predicted Alignment Error - For homooligomers, this could be a useful metric to assess how confident the model is about the interface. The lower the better.

  • +
+

Bugs

+ +

License

+

The source code of ColabFold is licensed under MIT. Additionally, this notebook uses the AlphaFold2 source code and its parameters licensed under Apache 2.0 and CC BY 4.0 respectively. Read more about the AlphaFold license here.

+

Acknowledgments

+
    +
  • We thank the AlphaFold team for developing an excellent model and open sourcing the software.

  • +
  • KOBIC and Söding Lab for providing the computational resources for the MMseqs2 MSA server.

  • +
  • Richard Evans for helping to benchmark the ColabFold’s Alphafold-multimer support.

  • +
  • David Koes for his awesome py3Dmol plugin, without whom these notebooks would be quite boring!

  • +
  • Do-Yoon Kim for creating the ColabFold logo.

  • +
  • A colab by Sergey Ovchinnikov (@sokrypton), Milot Mirdita (@milot_mirdita) and Martin Steinegger (@thesteinegger).

  • +
+
+ + + + +
+ + + + +
+ +
+ +
+
+
+ +
+ +
+ +
+ + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/_images/056fe209adc8b6f3e35c1a5161f46f7a9ad34b5190df977a7ba43c55fded4685.png b/_images/056fe209adc8b6f3e35c1a5161f46f7a9ad34b5190df977a7ba43c55fded4685.png new file mode 100644 index 0000000..ff468ca Binary files /dev/null and b/_images/056fe209adc8b6f3e35c1a5161f46f7a9ad34b5190df977a7ba43c55fded4685.png differ diff --git a/_images/0c4540f054eb50af50ff5ed1ce0ca2d38d8d3a85cb91c6b031ae0c2d82cfdc75.png b/_images/0c4540f054eb50af50ff5ed1ce0ca2d38d8d3a85cb91c6b031ae0c2d82cfdc75.png new file mode 100644 index 0000000..af0e01f Binary files /dev/null and b/_images/0c4540f054eb50af50ff5ed1ce0ca2d38d8d3a85cb91c6b031ae0c2d82cfdc75.png differ diff --git a/_images/0eeb61c92a8a8369c280106ca142d01a7468bb04b642f553d2ddffd6e53bbb06.png b/_images/0eeb61c92a8a8369c280106ca142d01a7468bb04b642f553d2ddffd6e53bbb06.png new file mode 100644 index 0000000..fdfc5d0 Binary files /dev/null and b/_images/0eeb61c92a8a8369c280106ca142d01a7468bb04b642f553d2ddffd6e53bbb06.png differ diff --git a/_images/1044d6c4f48649fb7224c0e3b6dbfdc327df4ebf04fde37b437647f254b50063.png b/_images/1044d6c4f48649fb7224c0e3b6dbfdc327df4ebf04fde37b437647f254b50063.png new file mode 100644 index 0000000..e565338 Binary files /dev/null and b/_images/1044d6c4f48649fb7224c0e3b6dbfdc327df4ebf04fde37b437647f254b50063.png differ diff --git a/_images/19da840fc8691bde82401616cf390a239f40ce6d4c01b8a1a95e1df22daab2c3.png b/_images/19da840fc8691bde82401616cf390a239f40ce6d4c01b8a1a95e1df22daab2c3.png new file mode 100644 index 0000000..8f24aa3 Binary files /dev/null and b/_images/19da840fc8691bde82401616cf390a239f40ce6d4c01b8a1a95e1df22daab2c3.png differ diff --git a/_images/1c1081c0c1a13efbb0cddb25af0b1876d8ac443475716485d7736ad5f37a2cd3.png b/_images/1c1081c0c1a13efbb0cddb25af0b1876d8ac443475716485d7736ad5f37a2cd3.png new file mode 100644 index 0000000..a56b3aa Binary files /dev/null and b/_images/1c1081c0c1a13efbb0cddb25af0b1876d8ac443475716485d7736ad5f37a2cd3.png differ diff --git a/_images/1c9a112d326603b6a145d3d380e85a1e63ac7617f257de92664452c9410b9e4b.png b/_images/1c9a112d326603b6a145d3d380e85a1e63ac7617f257de92664452c9410b9e4b.png new file mode 100644 index 0000000..6b0c479 Binary files /dev/null and b/_images/1c9a112d326603b6a145d3d380e85a1e63ac7617f257de92664452c9410b9e4b.png differ diff --git a/_images/3a7713484cd113db8a04c3f2186e4fade8d3bb9ab75323d72ef1d4178c84aa0a.png b/_images/3a7713484cd113db8a04c3f2186e4fade8d3bb9ab75323d72ef1d4178c84aa0a.png new file mode 100644 index 0000000..3679fe6 Binary files /dev/null and b/_images/3a7713484cd113db8a04c3f2186e4fade8d3bb9ab75323d72ef1d4178c84aa0a.png differ diff --git a/_images/45c21eb98d5e1c04f68d6357455e20d8e855a9242c8d18230861eb03a1f8edb3.png b/_images/45c21eb98d5e1c04f68d6357455e20d8e855a9242c8d18230861eb03a1f8edb3.png new file mode 100644 index 0000000..2d51589 Binary files /dev/null and b/_images/45c21eb98d5e1c04f68d6357455e20d8e855a9242c8d18230861eb03a1f8edb3.png differ diff --git a/_images/51afc86871184df45c2b11a63d853044193ea9104d12bf9adf0d571de06bceb2.png b/_images/51afc86871184df45c2b11a63d853044193ea9104d12bf9adf0d571de06bceb2.png new file mode 100644 index 0000000..42c2eb7 Binary files /dev/null and b/_images/51afc86871184df45c2b11a63d853044193ea9104d12bf9adf0d571de06bceb2.png differ diff --git a/_images/5ba7fb9f5aa0115877c4e750271cd6596d70f7ec021781b68dbbd01b78ca826a.png b/_images/5ba7fb9f5aa0115877c4e750271cd6596d70f7ec021781b68dbbd01b78ca826a.png new file mode 100644 index 0000000..24ef0a3 Binary files /dev/null and b/_images/5ba7fb9f5aa0115877c4e750271cd6596d70f7ec021781b68dbbd01b78ca826a.png differ diff --git a/_images/881216eaf59076a500ab959ea9ac5d26abf22a1d489ce07303016bf35e6ea465.png b/_images/881216eaf59076a500ab959ea9ac5d26abf22a1d489ce07303016bf35e6ea465.png new file mode 100644 index 0000000..31d80ef Binary files /dev/null and b/_images/881216eaf59076a500ab959ea9ac5d26abf22a1d489ce07303016bf35e6ea465.png differ diff --git a/_images/90772f57f1ec3fe79cbbc8c18bdf73cc975282b5b48acff8eab5f014fec562e8.png b/_images/90772f57f1ec3fe79cbbc8c18bdf73cc975282b5b48acff8eab5f014fec562e8.png new file mode 100644 index 0000000..c314c19 Binary files /dev/null and b/_images/90772f57f1ec3fe79cbbc8c18bdf73cc975282b5b48acff8eab5f014fec562e8.png differ diff --git a/_images/92e7e51893be363f2476d175090f73cfedcef8f7cc8f4be891e8a204be562827.png b/_images/92e7e51893be363f2476d175090f73cfedcef8f7cc8f4be891e8a204be562827.png new file mode 100644 index 0000000..31fc97e Binary files /dev/null and b/_images/92e7e51893be363f2476d175090f73cfedcef8f7cc8f4be891e8a204be562827.png differ diff --git a/_images/9994329806f45a5389c0debb2644aa89065e9c2ac09ed381afb2155d0ef75450.png b/_images/9994329806f45a5389c0debb2644aa89065e9c2ac09ed381afb2155d0ef75450.png new file mode 100644 index 0000000..c1e63a1 Binary files /dev/null and b/_images/9994329806f45a5389c0debb2644aa89065e9c2ac09ed381afb2155d0ef75450.png differ diff --git a/_images/b1654eb5bde2180c42268a8f437445d8ec15158f73abf78755a7a5090445d6b0.png b/_images/b1654eb5bde2180c42268a8f437445d8ec15158f73abf78755a7a5090445d6b0.png new file mode 100644 index 0000000..df701ff Binary files /dev/null and b/_images/b1654eb5bde2180c42268a8f437445d8ec15158f73abf78755a7a5090445d6b0.png differ diff --git a/_images/c2a76a87adf318087a2bc6981edf712e273efffc99393ff6992fe1b943838835.png b/_images/c2a76a87adf318087a2bc6981edf712e273efffc99393ff6992fe1b943838835.png new file mode 100644 index 0000000..23e4d2e Binary files /dev/null and b/_images/c2a76a87adf318087a2bc6981edf712e273efffc99393ff6992fe1b943838835.png differ diff --git a/_images/f65c685391c095fc6944b7e34723544d79938dec21f0d4d5f9f930b0c1266b97.png b/_images/f65c685391c095fc6944b7e34723544d79938dec21f0d4d5f9f930b0c1266b97.png new file mode 100644 index 0000000..2994306 Binary files /dev/null and b/_images/f65c685391c095fc6944b7e34723544d79938dec21f0d4d5f9f930b0c1266b97.png differ diff --git a/_sources/ColabFold/AlphaFold2.ipynb b/_sources/ColabFold/AlphaFold2.ipynb new file mode 100644 index 0000000..1c67ded --- /dev/null +++ b/_sources/ColabFold/AlphaFold2.ipynb @@ -0,0 +1,759 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [], + "machine_shape": "hm", + "gpuType": "T4", + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "G4yBrceuFbf3" + }, + "source": [ + "\n", + "\n", + "##ColabFold v1.5.3: AlphaFold2 using MMseqs2\n", + "\n", + "Easy to use protein structure and complex prediction using [AlphaFold2](https://www.nature.com/articles/s41586-021-03819-2) and [Alphafold2-multimer](https://www.biorxiv.org/content/10.1101/2021.10.04.463034v1). Sequence alignments/templates are generated through [MMseqs2](mmseqs.com) and [HHsearch](https://github.com/soedinglab/hh-suite). For more details, see bottom of the notebook, checkout the [ColabFold GitHub](https://github.com/sokrypton/ColabFold) and read our manuscript.\n", + "Old versions: [v1.4](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.4.0/AlphaFold2.ipynb), [v1.5.1](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.5.1/AlphaFold2.ipynb), [v1.5.2](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.5.2/AlphaFold2.ipynb)\n", + "\n", + "[Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all.\n", + "*Nature Methods*, 2022](https://www.nature.com/articles/s41592-022-01488-1)\n", + "\n", + "-----------\n", + "\n", + "### News\n", + "- 2023/07/31: The ColabFold MSA server is back to normal. It was using older DB (UniRef30 2202/PDB70 220313) from 27th ~8:30 AM CEST to 31st ~11:10 AM CEST.\n", + "- 2023/06/12: New databases! UniRef30 updated to 2023_02 and PDB to 230517. We now use PDB100 instead of PDB70 (see [notes](#pdb100)).\n", + "- 2023/06/12: We introduced a new default pairing strategy: Previously, for multimer predictions with more than 2 chains, we only pair if all sequences taxonomically match (\"complete\" pairing). The new default \"greedy\" strategy pairs any taxonomically matching subsets." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kOblAo-xetgx", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "fd5d6895-cd56-4678-8e88-cb82cca50871", + "collapsed": true + }, + "source": [ + "# @title Input protein sequence(s), then hit `Runtime` -> `Run all` { display-mode: \"form\" }\n", + "from google.colab import files\n", + "import os\n", + "import re\n", + "import hashlib\n", + "import random\n", + "\n", + "from sys import version_info\n", + "python_version = f\"{version_info.major}.{version_info.minor}\"\n", + "\n", + "def add_hash(x,y):\n", + " return x+\"_\"+hashlib.sha1(y.encode()).hexdigest()[:5]\n", + "\n", + "query_sequence = 'PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK' #@param {type:\"string\"}\n", + "#@markdown - Use `:` to specify inter-protein chainbreaks for **modeling complexes** (supports homo- and hetro-oligomers). For example **PI...SK:PI...SK** for a homodimer\n", + "jobname = 'test' #@param {type:\"string\"}\n", + "# number of models to use\n", + "num_relax = 0 #@param [0, 1, 5] {type:\"raw\"}\n", + "#@markdown - specify how many of the top ranked structures to relax using amber\n", + "template_mode = \"none\" #@param [\"none\", \"pdb100\",\"custom\"]\n", + "#@markdown - `none` = no template information is used. `pdb100` = detect templates in pdb100 (see [notes](#pdb100)). `custom` - upload and search own templates (PDB or mmCIF format, see [notes](#custom_templates))\n", + "\n", + "use_amber = num_relax > 0\n", + "\n", + "# remove whitespaces\n", + "query_sequence = \"\".join(query_sequence.split())\n", + "\n", + "basejobname = \"\".join(jobname.split())\n", + "basejobname = re.sub(r'\\W+', '', basejobname)\n", + "jobname = add_hash(basejobname, query_sequence)\n", + "\n", + "# check if directory with jobname exists\n", + "def check(folder):\n", + " if os.path.exists(folder):\n", + " return False\n", + " else:\n", + " return True\n", + "if not check(jobname):\n", + " n = 0\n", + " while not check(f\"{jobname}_{n}\"): n += 1\n", + " jobname = f\"{jobname}_{n}\"\n", + "\n", + "# make directory to save results\n", + "os.makedirs(jobname, exist_ok=True)\n", + "\n", + "# save queries\n", + "queries_path = os.path.join(jobname, f\"{jobname}.csv\")\n", + "with open(queries_path, \"w\") as text_file:\n", + " text_file.write(f\"id,sequence\\n{jobname},{query_sequence}\")\n", + "\n", + "if template_mode == \"pdb100\":\n", + " use_templates = True\n", + " custom_template_path = None\n", + "elif template_mode == \"custom\":\n", + " custom_template_path = os.path.join(jobname,f\"template\")\n", + " os.makedirs(custom_template_path, exist_ok=True)\n", + " uploaded = files.upload()\n", + " use_templates = True\n", + " for fn in uploaded.keys():\n", + " os.rename(fn,os.path.join(custom_template_path,fn))\n", + "else:\n", + " custom_template_path = None\n", + " use_templates = False\n", + "\n", + "print(\"jobname\",jobname)\n", + "print(\"sequence\",query_sequence)\n", + "print(\"length\",len(query_sequence.replace(\":\",\"\")))\n", + "\n" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "jobname test_a5e17\n", + "sequence PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK\n", + "length 59\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# @title Install dependencies { display-mode: \"form\" }\n", + "%%time\n", + "import os\n", + "USE_AMBER = use_amber\n", + "USE_TEMPLATES = use_templates\n", + "PYTHON_VERSION = python_version\n", + "\n", + "if not os.path.isfile(\"COLABFOLD_READY\"):\n", + " print(\"installing colabfold...\")\n", + " os.system(\"pip install -q --no-warn-conflicts 'colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold'\")\n", + " os.system(\"pip install --upgrade dm-haiku\")\n", + " os.system(\"ln -s /usr/local/lib/python3.*/dist-packages/colabfold colabfold\")\n", + " os.system(\"ln -s /usr/local/lib/python3.*/dist-packages/alphafold alphafold\")\n", + " # patch for jax > 0.3.25\n", + " os.system(\"sed -i 's/weights = jax.nn.softmax(logits)/logits=jnp.clip(logits,-1e8,1e8);weights=jax.nn.softmax(logits)/g' alphafold/model/modules.py\")\n", + " os.system(\"touch COLABFOLD_READY\")\n", + "\n", + "if USE_AMBER or USE_TEMPLATES:\n", + " if not os.path.isfile(\"CONDA_READY\"):\n", + " print(\"installing conda...\")\n", + " os.system(\"wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh\")\n", + " os.system(\"bash Mambaforge-Linux-x86_64.sh -bfp /usr/local\")\n", + " os.system(\"mamba config --set auto_update_conda false\")\n", + " os.system(\"touch CONDA_READY\")\n", + "\n", + "if USE_TEMPLATES and not os.path.isfile(\"HH_READY\") and USE_AMBER and not os.path.isfile(\"AMBER_READY\"):\n", + " print(\"installing hhsuite and amber...\")\n", + " os.system(f\"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer\")\n", + " os.system(\"touch HH_READY\")\n", + " os.system(\"touch AMBER_READY\")\n", + "else:\n", + " if USE_TEMPLATES and not os.path.isfile(\"HH_READY\"):\n", + " print(\"installing hhsuite...\")\n", + " os.system(f\"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python='{PYTHON_VERSION}'\")\n", + " os.system(\"touch HH_READY\")\n", + " if USE_AMBER and not os.path.isfile(\"AMBER_READY\"):\n", + " print(\"installing amber...\")\n", + " os.system(f\"mamba install -y -c conda-forge openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer\")\n", + " os.system(\"touch AMBER_READY\")" + ], + "metadata": { + "id": "AzIKiDiCaHAn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5b6b9ab0-af96-45ef-c903-43ae13525af0", + "collapsed": true + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "installing colabfold...\n", + "CPU times: user 114 ms, sys: 27.2 ms, total: 142 ms\n", + "Wall time: 42.9 s\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#@markdown ### MSA options (custom MSA upload, single sequence, pairing mode)\n", + "msa_mode = \"mmseqs2_uniref_env\" #@param [\"mmseqs2_uniref_env\", \"mmseqs2_uniref\",\"single_sequence\",\"custom\"]\n", + "pair_mode = \"unpaired_paired\" #@param [\"unpaired_paired\",\"paired\",\"unpaired\"] {type:\"string\"}\n", + "#@markdown - \"unpaired_paired\" = pair sequences from same species + unpaired MSA, \"unpaired\" = seperate MSA for each chain, \"paired\" - only use paired sequences.\n", + "\n", + "# decide which a3m to use\n", + "if \"mmseqs2\" in msa_mode:\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.a3m\")\n", + "\n", + "elif msa_mode == \"custom\":\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.custom.a3m\")\n", + " if not os.path.isfile(a3m_file):\n", + " custom_msa_dict = files.upload()\n", + " custom_msa = list(custom_msa_dict.keys())[0]\n", + " header = 0\n", + " import fileinput\n", + " for line in fileinput.FileInput(custom_msa,inplace=1):\n", + " if line.startswith(\">\"):\n", + " header = header + 1\n", + " if not line.rstrip():\n", + " continue\n", + " if line.startswith(\">\") == False and header == 1:\n", + " query_sequence = line.rstrip()\n", + " print(line, end='')\n", + "\n", + " os.rename(custom_msa, a3m_file)\n", + " queries_path=a3m_file\n", + " print(f\"moving {custom_msa} to {a3m_file}\")\n", + "\n", + "else:\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.single_sequence.a3m\")\n", + " with open(a3m_file, \"w\") as text_file:\n", + " text_file.write(\">1\\n%s\" % query_sequence)" + ], + "metadata": { + "id": "C2_sh2uAonJH", + "cellView": "form" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# @title { display-mode: \"form\" }\n", + "#@markdown ### Advanced settings\n", + "model_type = \"auto\" #@param [\"auto\", \"alphafold2_ptm\", \"alphafold2_multimer_v1\", \"alphafold2_multimer_v2\", \"alphafold2_multimer_v3\"]\n", + "#@markdown - if `auto` selected, will use `alphafold2_ptm` for monomer prediction and `alphafold2_multimer_v3` for complex prediction.\n", + "#@markdown Any of the mode_types can be used (regardless if input is monomer or complex).\n", + "num_recycles = \"3\" #@param [\"auto\", \"0\", \"1\", \"3\", \"6\", \"12\", \"24\", \"48\"]\n", + "#@markdown - if `auto` selected, will use `num_recycles=20` if `model_type=alphafold2_multimer_v3`, else `num_recycles=3` .\n", + "recycle_early_stop_tolerance = \"auto\" #@param [\"auto\", \"0.0\", \"0.5\", \"1.0\"]\n", + "#@markdown - if `auto` selected, will use `tol=0.5` if `model_type=alphafold2_multimer_v3` else `tol=0.0`.\n", + "relax_max_iterations = 200 #@param [0, 200, 2000] {type:\"raw\"}\n", + "#@markdown - max amber relax iterations, `0` = unlimited (AlphaFold2 default, can take very long)\n", + "pairing_strategy = \"greedy\" #@param [\"greedy\", \"complete\"] {type:\"string\"}\n", + "#@markdown - `greedy` = pair any taxonomically matching subsets, `complete` = all sequences have to match in one line.\n", + "\n", + "\n", + "#@markdown #### Sample settings\n", + "#@markdown - enable dropouts and increase number of seeds to sample predictions from uncertainty of the model.\n", + "#@markdown - decrease `max_msa` to increase uncertainity\n", + "max_msa = \"auto\" #@param [\"auto\", \"512:1024\", \"256:512\", \"64:128\", \"32:64\", \"16:32\"]\n", + "num_seeds = 1 #@param [1,2,4,8,16] {type:\"raw\"}\n", + "use_dropout = False #@param {type:\"boolean\"}\n", + "\n", + "num_recycles = None if num_recycles == \"auto\" else int(num_recycles)\n", + "recycle_early_stop_tolerance = None if recycle_early_stop_tolerance == \"auto\" else float(recycle_early_stop_tolerance)\n", + "if max_msa == \"auto\": max_msa = None\n", + "\n", + "#@markdown #### Save settings\n", + "save_all = False #@param {type:\"boolean\"}\n", + "save_recycles = False #@param {type:\"boolean\"}\n", + "save_to_google_drive = False #@param {type:\"boolean\"}\n", + "#@markdown - if the save_to_google_drive option was selected, the result zip will be uploaded to your Google Drive\n", + "dpi = 200 #@param {type:\"integer\"}\n", + "#@markdown - set dpi for image resolution\n", + "\n", + "if save_to_google_drive:\n", + " from pydrive.drive import GoogleDrive\n", + " from pydrive.auth import GoogleAuth\n", + " from google.colab import auth\n", + " from oauth2client.client import GoogleCredentials\n", + " auth.authenticate_user()\n", + " gauth = GoogleAuth()\n", + " gauth.credentials = GoogleCredentials.get_application_default()\n", + " drive = GoogleDrive(gauth)\n", + " print(\"You are logged into Google Drive and are good to go!\")\n", + "\n", + "#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form." + ], + "metadata": { + "id": "ADDuaolKmjGW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#@title Run Prediction\n", + "display_images = True #@param {type:\"boolean\"}\n", + "\n", + "import sys\n", + "import warnings\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)\n", + "from Bio import BiopythonDeprecationWarning\n", + "warnings.simplefilter(action='ignore', category=BiopythonDeprecationWarning)\n", + "from pathlib import Path\n", + "from colabfold.download import download_alphafold_params, default_data_dir\n", + "from colabfold.utils import setup_logging\n", + "from colabfold.batch import get_queries, run, set_model_type\n", + "from colabfold.plot import plot_msa_v2\n", + "\n", + "import os\n", + "import numpy as np\n", + "try:\n", + " K80_chk = os.popen('nvidia-smi | grep \"Tesla K80\" | wc -l').read()\n", + "except:\n", + " K80_chk = \"0\"\n", + " pass\n", + "if \"1\" in K80_chk:\n", + " print(\"WARNING: found GPU Tesla K80: limited to total length < 1000\")\n", + " if \"TF_FORCE_UNIFIED_MEMORY\" in os.environ:\n", + " del os.environ[\"TF_FORCE_UNIFIED_MEMORY\"]\n", + " if \"XLA_PYTHON_CLIENT_MEM_FRACTION\" in os.environ:\n", + " del os.environ[\"XLA_PYTHON_CLIENT_MEM_FRACTION\"]\n", + "\n", + "from colabfold.colabfold import plot_protein\n", + "from pathlib import Path\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# For some reason we need that to get pdbfixer to import\n", + "if use_amber and f\"/usr/local/lib/python{python_version}/site-packages/\" not in sys.path:\n", + " sys.path.insert(0, f\"/usr/local/lib/python{python_version}/site-packages/\")\n", + "\n", + "def input_features_callback(input_features):\n", + " if display_images:\n", + " plot_msa_v2(input_features)\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "def prediction_callback(protein_obj, length,\n", + " prediction_result, input_features, mode):\n", + " model_name, relaxed = mode\n", + " if not relaxed:\n", + " if display_images:\n", + " fig = plot_protein(protein_obj, Ls=length, dpi=150)\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "result_dir = jobname\n", + "log_filename = os.path.join(jobname,\"log.txt\")\n", + "setup_logging(Path(log_filename))\n", + "\n", + "queries, is_complex = get_queries(queries_path)\n", + "model_type = set_model_type(is_complex, model_type)\n", + "\n", + "if \"multimer\" in model_type and max_msa is not None:\n", + " use_cluster_profile = False\n", + "else:\n", + " use_cluster_profile = True\n", + "\n", + "download_alphafold_params(model_type, Path(\".\"))\n", + "results = run(\n", + " queries=queries,\n", + " result_dir=result_dir,\n", + " use_templates=use_templates,\n", + " custom_template_path=custom_template_path,\n", + " num_relax=num_relax,\n", + " msa_mode=msa_mode,\n", + " model_type=model_type,\n", + " num_models=5,\n", + " num_recycles=num_recycles,\n", + " relax_max_iterations=relax_max_iterations,\n", + " recycle_early_stop_tolerance=recycle_early_stop_tolerance,\n", + " num_seeds=num_seeds,\n", + " use_dropout=use_dropout,\n", + " model_order=[1,2,3,4,5],\n", + " is_complex=is_complex,\n", + " data_dir=Path(\".\"),\n", + " keep_existing_results=False,\n", + " rank_by=\"auto\",\n", + " pair_mode=pair_mode,\n", + " pairing_strategy=pairing_strategy,\n", + " stop_at_score=float(100),\n", + " prediction_callback=prediction_callback,\n", + " dpi=dpi,\n", + " zip_results=False,\n", + " save_all=save_all,\n", + " max_msa=max_msa,\n", + " use_cluster_profile=use_cluster_profile,\n", + " input_features_callback=input_features_callback,\n", + " save_recycles=save_recycles,\n", + " user_agent=\"colabfold/google-colab-main\",\n", + ")\n", + "results_zip = f\"{jobname}.result.zip\"\n", + "os.system(f\"zip -r {results_zip} {jobname}\")" + ], + "metadata": { + "id": "mbaIO9pWjaN0", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "9beb72b5-c2a3-4e28-a80e-f9583095f4ff", + "collapsed": true, + "cellView": "form" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "Downloading alphafold2 weights to .: 100%|██████████| 3.47G/3.47G [02:40<00:00, 23.2MB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-07 22:02:42,821 Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: \"rocm\". Available platform names are: CUDA\n", + "2023-12-07 22:02:42,823 Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory\n", + "2023-12-07 22:02:44,726 Running on GPU\n", + "2023-12-07 22:02:44,904 Found 4 citations for tools or databases\n", + "2023-12-07 22:02:44,904 Query 1/1: test_a5e17 (length 59)\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "COMPLETE: 100%|██████████| 150/150 [elapsed: 00:01 remaining: 00:00]\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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8Pfff+O///0vZs2ahSlTpohyDkMxSTVA4w4F/yISERFZAmc3R7zVNxi/fnUQe3848coktbQU1GNrHqv7AchEigPAycmp0DtOubq6QiaTISEhQa88ISEBnp75d7hNmTIFffv2xeDBgwEAderUQVpaGj788ENMmjQJUmnpzxBlkmoAJxcumiIiImrbsyF+/eogju++iPSnmbCxk5u0PQX12JpDT6opyOVyNGzYENHR0ejWrRsAQKvVIjo6GiNGjMj3mKdPn+ZJRGWynMxYEExztysmqURERGSQWg2rwMPXBQnxj3BizyW06tbApO0x655UqQCIONxfVBEREQgPD0ejRo3QuHFjLF26FGlpabrV/v369UOlSpUwb948AECXLl2wePFiNGjQQDfcP2XKFHTp0kWXrJY2JqlERERkEIlEgtbdX8eWZXtx6JfTJk9SzZnwwsr84sYxRK9evZCUlISpU6dCpVKhfv362LVrl24xVXx8vF7P6eTJkyGRSDB58mTcvXsXbm5u6NKlC+bMmVP8xhtJIpiqD7cMUavVUCqV+Omf+bB3sjV1c4iIiEzu7/O3MaL1QshtrPHDtTmwcyyZuxIVZ4eA3PfvlJSUQudxii333M6rbkNiW/xzC8/USB7mY5JrMRX2pBrAJjsLNlmm6fImIiIyJ7UD3FG5mivu3HyA05FnERL2eomc52DSIqOPTXuSLmJLjCOINNwvxg4BZQ038yciIiKDSSQStO1WHwCwb/tZk7bFnGmlArQyER4WmKSyJ5WIiIiM0vadevhu8V6c2HcVT1KewVFpmilxrd0+ybdcrVADmFy6jSHRMEklIiIio1QL9ELVAA/cik3A4Z0X0bH3GyZpR0FTAsxhuF8rBSQijFsLFjj2bYGXTERERGJp9059AMB+DvnnSyMVRHtYGvakEhERkdHadquPdfN349Sh60h+mAbniobd+KagoXoxcLi/bGOSSkREREbz8XdD9de88ffFe/gz8gK69Gtq0PHFWb2fqyQT3eLSygCJCfZJLQ843E9ERETFkrvKf/+vZ03aDnOklQqiPSwNe1KJiIioWNp2rYc1s//A2SM38CjxCVzcHUv1/Oa8cIqMxySViIiIisW7akUEvu6DK6dv4+Dv59F9UPNSPb85b0HF1f3GY5JKRERExdb2nfq4cvo29v96ttSTVHPuSc2ZkyrCHacs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\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-07 22:02:47,182 Setting max_seq=512, max_extra_seq=5120\n" + ] + }, + { + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0mdownload_alphafold_params\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel_type\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mPath\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\".\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 65\u001b[0;31m results = run(\n\u001b[0m\u001b[1;32m 66\u001b[0m \u001b[0mqueries\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mqueries\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 67\u001b[0m \u001b[0mresult_dir\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mresult_dir\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/content/colabfold/batch.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(queries, result_dir, num_models, is_complex, num_recycles, recycle_early_stop_tolerance, model_order, num_ensemble, model_type, msa_mode, use_templates, custom_template_path, num_relax, relax_max_iterations, relax_tolerance, relax_stiffness, relax_max_outer_iterations, keep_existing_results, rank_by, pair_mode, pairing_strategy, data_dir, host_url, user_agent, random_seed, num_seeds, recompile_padding, zip_results, prediction_callback, save_single_representations, save_pair_representations, save_all, save_recycles, use_dropout, use_gpu_relax, stop_at_score, dpi, max_seq, max_extra_seq, pdb_hit_file, local_pdb_path, use_cluster_profile, feature_dict_callback, **kwargs)\u001b[0m\n\u001b[1;32m 1568\u001b[0m \u001b[0mfirst_job\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1569\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1570\u001b[0;31m results = predict_structure(\n\u001b[0m\u001b[1;32m 1571\u001b[0m \u001b[0mprefix\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mjobname\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1572\u001b[0m \u001b[0mresult_dir\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mresult_dir\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/content/colabfold/batch.py\u001b[0m in \u001b[0;36mpredict_structure\u001b[0;34m(prefix, result_dir, feature_dict, is_complex, use_templates, sequences_lengths, pad_len, model_type, model_runner_and_params, num_relax, relax_max_iterations, relax_tolerance, relax_stiffness, relax_max_outer_iterations, rank_by, random_seed, num_seeds, stop_at_score, prediction_callback, use_gpu_relax, save_all, save_single_representations, save_pair_representations, save_recycles)\u001b[0m\n\u001b[1;32m 419\u001b[0m \u001b[0;31m# predict\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 420\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrecycles\u001b[0m \u001b[0;34m=\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 421\u001b[0;31m model_runner.predict(input_features,\n\u001b[0m\u001b[1;32m 422\u001b[0m \u001b[0mrandom_seed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mseed\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 423\u001b[0m \u001b[0mreturn_representations\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mreturn_representations\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/content/alphafold/model/model.py\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, feat, random_seed, return_representations, callback)\u001b[0m\n\u001b[1;32m 183\u001b[0m \u001b[0;31m# run\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 184\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_key\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mjax\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 185\u001b[0;31m \u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprev\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msub_key\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_feat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprev\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 186\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mreturn_representations\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/content/alphafold/model/model.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(key, feat, prev)\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfloat16\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 164\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 165\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_jnp_to_np\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mfeat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"prev\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mprev\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 166\u001b[0m \u001b[0mprev\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"prev\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 167\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprev\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + " \u001b[0;31m[... skipping hidden 1 frame]\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py\u001b[0m in \u001b[0;36mcache_miss\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 254\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mapi_boundary\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 255\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcache_miss\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 256\u001b[0;31m outs, out_flat, out_tree, args_flat, jaxpr = _python_pjit_helper(\n\u001b[0m\u001b[1;32m 257\u001b[0m fun, infer_params_fn, *args, **kwargs)\n\u001b[1;32m 258\u001b[0m \u001b[0mexecutable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_read_most_recent_pjit_call_executable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mjaxpr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py\u001b[0m in \u001b[0;36m_python_pjit_helper\u001b[0;34m(fun, infer_params_fn, *args, **kwargs)\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0mdispatch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcheck_arg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 166\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 167\u001b[0;31m \u001b[0mout_flat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpjit_p\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs_flat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 168\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mpxla\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDeviceAssignmentMismatchError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 169\u001b[0m \u001b[0mfails\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/core.py\u001b[0m in \u001b[0;36mbind\u001b[0;34m(self, *args, **params)\u001b[0m\n\u001b[1;32m 2654\u001b[0m top_trace = (top_trace if not axis_main or axis_main.level < top_trace.level\n\u001b[1;32m 2655\u001b[0m else axis_main.with_cur_sublevel())\n\u001b[0;32m-> 2656\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind_with_trace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtop_trace\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2657\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2658\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/core.py\u001b[0m in \u001b[0;36mbind_with_trace\u001b[0;34m(self, trace, args, params)\u001b[0m\n\u001b[1;32m 386\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 387\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mbind_with_trace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 388\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprocess_primitive\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrace\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfull_raise\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 389\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfull_lower\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmultiple_results\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mfull_lower\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 390\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/core.py\u001b[0m in \u001b[0;36mprocess_primitive\u001b[0;34m(self, primitive, tracers, params)\u001b[0m\n\u001b[1;32m 866\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 867\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mprocess_primitive\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprimitive\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtracers\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 868\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mprimitive\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimpl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mtracers\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 869\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 870\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mprocess_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprimitive\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtracers\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py\u001b[0m in \u001b[0;36m_pjit_call_impl\u001b[0;34m(jaxpr, in_shardings, out_shardings, resource_env, donated_invars, name, keep_unused, inline, *args)\u001b[0m\n\u001b[1;32m 1210\u001b[0m has_explicit_sharding = _pjit_explicit_sharding(\n\u001b[1;32m 1211\u001b[0m in_shardings, out_shardings, None, None)\n\u001b[0;32m-> 1212\u001b[0;31m return xc._xla.pjit(name, f, call_impl_cache_miss, [], [], donated_argnums,\n\u001b[0m\u001b[1;32m 1213\u001b[0m \u001b[0mtree_util\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdispatch_registry\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1214\u001b[0m _get_cpp_global_cache(has_explicit_sharding))(*args)\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py\u001b[0m in \u001b[0;36mcall_impl_cache_miss\u001b[0;34m(*args_, **kwargs_)\u001b[0m\n\u001b[1;32m 1194\u001b[0m donated_invars, name, keep_unused, inline):\n\u001b[1;32m 1195\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcall_impl_cache_miss\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs_\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1196\u001b[0;31m out_flat, compiled = _pjit_call_impl_python(\n\u001b[0m\u001b[1;32m 1197\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0min_shardings\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0min_shardings\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1198\u001b[0m \u001b[0mout_shardings\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mout_shardings\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresource_env\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mresource_env\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py\u001b[0m in \u001b[0;36m_pjit_call_impl_python\u001b[0;34m(jaxpr, in_shardings, out_shardings, resource_env, donated_invars, name, keep_unused, inline, *args)\u001b[0m\n\u001b[1;32m 1127\u001b[0m resource_env.physical_mesh if resource_env is not None else None)\n\u001b[1;32m 1128\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1129\u001b[0;31m compiled = _pjit_lower(\n\u001b[0m\u001b[1;32m 1130\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0min_shardings\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mout_shardings\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresource_env\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1131\u001b[0m \u001b[0mdonated_invars\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkeep_unused\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minline\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py\u001b[0m in \u001b[0;36m_pjit_lower\u001b[0;34m(jaxpr, in_shardings, out_shardings, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1258\u001b[0m \u001b[0min_shardings\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSameDeviceAssignmentTuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0min_shardings\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mda\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1259\u001b[0m \u001b[0mout_shardings\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSameDeviceAssignmentTuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mout_shardings\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mda\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1260\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_pjit_lower_cached\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0min_shardings\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mout_shardings\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1261\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1262\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/pjit.py\u001b[0m in \u001b[0;36m_pjit_lower_cached\u001b[0;34m(jaxpr, sdat_in_shardings, sdat_out_shardings, resource_env, donated_invars, name, keep_unused, inline, lowering_parameters)\u001b[0m\n\u001b[1;32m 1297\u001b[0m lowering_parameters=lowering_parameters)\n\u001b[1;32m 1298\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1299\u001b[0;31m return pxla.lower_sharding_computation(\n\u001b[0m\u001b[1;32m 1300\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mapi_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0min_shardings\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mout_shardings\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1301\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdonated_invars\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mjaxpr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0min_avals\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/profiler.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 338\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 339\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mTraceAnnotation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mdecorator_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 340\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 341\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 342\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/pxla.py\u001b[0m in \u001b[0;36mlower_sharding_computation\u001b[0;34m(fun_or_jaxpr, api_name, fun_name, in_shardings, out_shardings, donated_invars, global_in_avals, keep_unused, inline, devices_from_context, lowering_parameters)\u001b[0m\n\u001b[1;32m 2029\u001b[0m \u001b[0msemantic_out_shardings\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSemanticallyEqualShardings\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mout_shardings\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2030\u001b[0m (module, keepalive, host_callbacks, unordered_effects, ordered_effects,\n\u001b[0;32m-> 2031\u001b[0;31m \u001b[0mnreps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple_args\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshape_poly_state\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_cached_lowering_to_hlo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2032\u001b[0m \u001b[0mclosed_jaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mapi_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfun_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbackend\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msemantic_in_shardings\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2033\u001b[0m \u001b[0msemantic_out_shardings\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mda_object\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/pxla.py\u001b[0m in \u001b[0;36m_cached_lowering_to_hlo\u001b[0;34m(closed_jaxpr, api_name, fun_name, backend, semantic_in_shardings, semantic_out_shardings, da_object, donated_invars, name_stack, all_default_mem_kind, lowering_parameters)\u001b[0m\n\u001b[1;32m 1830\u001b[0m \u001b[0;34m\"Finished jaxpr to MLIR module conversion {fun_name} in {elapsed_time} sec\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1831\u001b[0m fun_name=str(name_stack), event=dispatch.JAXPR_TO_MLIR_MODULE_EVENT):\n\u001b[0;32m-> 1832\u001b[0;31m lowering_result = mlir.lower_jaxpr_to_module(\n\u001b[0m\u001b[1;32m 1833\u001b[0m \u001b[0mmodule_name\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1834\u001b[0m \u001b[0mclosed_jaxpr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mlower_jaxpr_to_module\u001b[0;34m(module_name, jaxpr, ordered_effects, backend_or_name, platforms, axis_context, name_stack, donated_args, replicated_args, arg_shardings, result_shardings, arg_names, result_names, num_replicas, num_partitions, all_default_mem_kind, lowering_parameters)\u001b[0m\n\u001b[1;32m 804\u001b[0m \u001b[0mattrs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"mhlo.num_partitions\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mi32_attr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_partitions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 805\u001b[0m \u001b[0mreplace_tokens_with_dummy\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlowering_parameters\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreplace_tokens_with_dummy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 806\u001b[0;31m lower_jaxpr_to_fun(\n\u001b[0m\u001b[1;32m 807\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"main\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mordered_effects\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpublic\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 808\u001b[0m \u001b[0mcreate_tokens\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mreplace_tokens_with_dummy\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mlower_jaxpr_to_fun\u001b[0;34m(ctx, name, jaxpr, effects, create_tokens, public, replace_tokens_with_dummy, replicated_args, arg_shardings, result_shardings, use_sharding_annotations, input_output_aliases, num_output_tokens, api_name, arg_names, result_names, arg_memory_kinds, result_memory_kinds)\u001b[0m\n\u001b[1;32m 1211\u001b[0m \u001b[0mcallee_name_stack\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname_stack\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mutil\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwrap_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mapi_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1212\u001b[0m \u001b[0mconsts\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mir_constants\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxla\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcanonicalize_dtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconsts\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1213\u001b[0;31m out_vals, tokens_out = jaxpr_subcomp(\n\u001b[0m\u001b[1;32m 1214\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreplace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname_stack\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcallee_name_stack\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtokens_in\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1215\u001b[0m consts, *args, dim_var_values=dim_var_values)\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mjaxpr_subcomp\u001b[0;34m(ctx, jaxpr, tokens, consts, dim_var_values, *args)\u001b[0m\n\u001b[1;32m 1429\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatforms\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1430\u001b[0m \u001b[0;31m# Classic, single-platform lowering\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1431\u001b[0;31m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrule_ctx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mrule_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0meqn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1432\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1433\u001b[0m ans = lower_multi_platform(rule_ctx, str(eqn), rules,\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mf_lowered\u001b[0;34m(ctx, *args, **params)\u001b[0m\n\u001b[1;32m 1626\u001b[0m \u001b[0;31m# TODO(frostig,mattjj): check ctx.avals_out against jaxpr avals out?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1627\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1628\u001b[0;31m out, tokens = jaxpr_subcomp(\n\u001b[0m\u001b[1;32m 1629\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodule_context\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtokens_in\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_ir_consts\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconsts\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1630\u001b[0m *map(wrap_singleton_ir_values, args), dim_var_values=ctx.dim_var_values)\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mjaxpr_subcomp\u001b[0;34m(ctx, jaxpr, tokens, consts, dim_var_values, *args)\u001b[0m\n\u001b[1;32m 1429\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatforms\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1430\u001b[0m \u001b[0;31m# Classic, single-platform lowering\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1431\u001b[0;31m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrule_ctx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mrule_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0meqn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1432\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1433\u001b[0m ans = lower_multi_platform(rule_ctx, str(eqn), rules,\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/lax/control_flow/loops.py\u001b[0m in \u001b[0;36m_while_lowering\u001b[0;34m(ctx, cond_jaxpr, body_jaxpr, cond_nconsts, body_nconsts, *args)\u001b[0m\n\u001b[1;32m 1670\u001b[0m body_consts = [mlir.ir_constants(xla.canonicalize_dtype(x))\n\u001b[1;32m 1671\u001b[0m for x in body_jaxpr.consts]\n\u001b[0;32m-> 1672\u001b[0;31m new_z, tokens_out = mlir.jaxpr_subcomp(body_ctx, body_jaxpr.jaxpr,\n\u001b[0m\u001b[1;32m 1673\u001b[0m tokens_in, body_consts, *(y + z), dim_var_values=ctx.dim_var_values)\n\u001b[1;32m 1674\u001b[0m \u001b[0mout_tokens\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mtokens_out\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meff\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0meff\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mbody_effects\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mjaxpr_subcomp\u001b[0;34m(ctx, jaxpr, tokens, consts, dim_var_values, *args)\u001b[0m\n\u001b[1;32m 1429\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatforms\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1430\u001b[0m \u001b[0;31m# Classic, single-platform lowering\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1431\u001b[0;31m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrule_ctx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mrule_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0meqn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1432\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1433\u001b[0m ans = lower_multi_platform(rule_ctx, str(eqn), rules,\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mf_lowered\u001b[0;34m(ctx, *args, **params)\u001b[0m\n\u001b[1;32m 1626\u001b[0m \u001b[0;31m# TODO(frostig,mattjj): check ctx.avals_out against jaxpr avals out?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1627\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1628\u001b[0;31m out, tokens = jaxpr_subcomp(\n\u001b[0m\u001b[1;32m 1629\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodule_context\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtokens_in\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_ir_consts\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconsts\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1630\u001b[0m *map(wrap_singleton_ir_values, args), dim_var_values=ctx.dim_var_values)\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mjaxpr_subcomp\u001b[0;34m(ctx, jaxpr, tokens, consts, dim_var_values, *args)\u001b[0m\n\u001b[1;32m 1429\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatforms\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1430\u001b[0m \u001b[0;31m# Classic, single-platform lowering\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1431\u001b[0;31m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrule_ctx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mrule_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0meqn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1432\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1433\u001b[0m ans = lower_multi_platform(rule_ctx, str(eqn), rules,\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/lax/control_flow/loops.py\u001b[0m in \u001b[0;36m_while_lowering\u001b[0;34m(ctx, cond_jaxpr, body_jaxpr, cond_nconsts, body_nconsts, *args)\u001b[0m\n\u001b[1;32m 1632\u001b[0m \u001b[0mmlir\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mir_constants\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxla\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcanonicalize_dtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mcond_jaxpr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconsts\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1633\u001b[0m ]\n\u001b[0;32m-> 1634\u001b[0;31m ((pred,),), _ = mlir.jaxpr_subcomp(\n\u001b[0m\u001b[1;32m 1635\u001b[0m \u001b[0mcond_ctx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1636\u001b[0m \u001b[0mcond_jaxpr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjaxpr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/jax/_src/interpreters/mlir.py\u001b[0m in \u001b[0;36mjaxpr_subcomp\u001b[0;34m(ctx, jaxpr, tokens, consts, dim_var_values, *args)\u001b[0m\n\u001b[1;32m 1313\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc_op\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1314\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1315\u001b[0;31m def jaxpr_subcomp(ctx: ModuleContext, jaxpr: core.Jaxpr,\n\u001b[0m\u001b[1;32m 1316\u001b[0m \u001b[0mtokens\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mTokenSet\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1317\u001b[0m \u001b[0mconsts\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mSequence\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mSequence\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mir\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mValue\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "KK7X9T44pWb7", + "cellView": "form" + }, + "source": [ + "#@title Display 3D structure {run: \"auto\"}\n", + "import py3Dmol\n", + "import glob\n", + "import matplotlib.pyplot as plt\n", + "from colabfold.colabfold import plot_plddt_legend\n", + "from colabfold.colabfold import pymol_color_list, alphabet_list\n", + "rank_num = 1 #@param [\"1\", \"2\", \"3\", \"4\", \"5\"] {type:\"raw\"}\n", + "color = \"lDDT\" #@param [\"chain\", \"lDDT\", \"rainbow\"]\n", + "show_sidechains = False #@param {type:\"boolean\"}\n", + "show_mainchains = False #@param {type:\"boolean\"}\n", + "\n", + "tag = results[\"rank\"][0][rank_num - 1]\n", + "jobname_prefix = \".custom\" if msa_mode == \"custom\" else \"\"\n", + "pdb_filename = f\"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb\"\n", + "pdb_file = glob.glob(pdb_filename)\n", + "\n", + "def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color=\"lDDT\"):\n", + " model_name = f\"rank_{rank_num}\"\n", + " view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)\n", + " view.addModel(open(pdb_file[0],'r').read(),'pdb')\n", + "\n", + " if color == \"lDDT\":\n", + " view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})\n", + " elif color == \"rainbow\":\n", + " view.setStyle({'cartoon': {'color':'spectrum'}})\n", + " elif color == \"chain\":\n", + " chains = len(queries[0][1]) + 1 if is_complex else 1\n", + " for n,chain,color in zip(range(chains),alphabet_list,pymol_color_list):\n", + " view.setStyle({'chain':chain},{'cartoon': {'color':color}})\n", + "\n", + " if show_sidechains:\n", + " BB = ['C','O','N']\n", + " view.addStyle({'and':[{'resn':[\"GLY\",\"PRO\"],'invert':True},{'atom':BB,'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"GLY\"},{'atom':'CA'}]},\n", + " {'sphere':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"PRO\"},{'atom':['C','O'],'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " if show_mainchains:\n", + " BB = ['C','O','N','CA']\n", + " view.addStyle({'atom':BB},{'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + "\n", + " view.zoomTo()\n", + " return view\n", + "\n", + "show_pdb(rank_num, show_sidechains, show_mainchains, color).show()\n", + "if color == \"lDDT\":\n", + " plot_plddt_legend().show()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "11l8k--10q0C", + "cellView": "form" + }, + "source": [ + "#@title Plots {run: \"auto\"}\n", + "from IPython.display import display, HTML\n", + "import base64\n", + "from html import escape\n", + "\n", + "# see: https://stackoverflow.com/a/53688522\n", + "def image_to_data_url(filename):\n", + " ext = filename.split('.')[-1]\n", + " prefix = f'data:image/{ext};base64,'\n", + " with open(filename, 'rb') as f:\n", + " img = f.read()\n", + " return prefix + base64.b64encode(img).decode('utf-8')\n", + "\n", + "pae = image_to_data_url(os.path.join(jobname,f\"{jobname}{jobname_prefix}_pae.png\"))\n", + "cov = image_to_data_url(os.path.join(jobname,f\"{jobname}{jobname_prefix}_coverage.png\"))\n", + "plddt = image_to_data_url(os.path.join(jobname,f\"{jobname}{jobname_prefix}_plddt.png\"))\n", + "display(HTML(f\"\"\"\n", + "\n", + "
\n", + "

Plots for {escape(jobname)}

\n", + " \n", + " \n", + " \n", + "
\n", + "\"\"\"))\n" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "33g5IIegij5R", + "cellView": "form" + }, + "source": [ + "#@title Package and download results\n", + "#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \\\"Download\\\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).\n", + "\n", + "if msa_mode == \"custom\":\n", + " print(\"Don't forget to cite your custom MSA generation method.\")\n", + "\n", + "files.download(f\"{jobname}.result.zip\")\n", + "\n", + "if save_to_google_drive == True and drive:\n", + " uploaded = drive.CreateFile({'title': f\"{jobname}.result.zip\"})\n", + " uploaded.SetContentFile(f\"{jobname}.result.zip\")\n", + " uploaded.Upload()\n", + " print(f\"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UGUBLzB3C6WN", + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Instructions \n", + "**Quick start**\n", + "1. Paste your protein sequence(s) in the input field.\n", + "2. Press \"Runtime\" -> \"Run all\".\n", + "3. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.\n", + "\n", + "**Result zip file contents**\n", + "\n", + "1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if `use_amber` is enabled).\n", + "2. Plots of the model quality.\n", + "3. Plots of the MSA coverage.\n", + "4. Parameter log file.\n", + "5. A3M formatted input MSA.\n", + "6. A `predicted_aligned_error_v1.json` using [AlphaFold-DB's format](https://alphafold.ebi.ac.uk/faq#faq-7) and a `scores.json` for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.\n", + "7. BibTeX file with citations for all used tools and databases.\n", + "\n", + "At the end of the job a download modal box will pop up with a `jobname.result.zip` file. Additionally, if the `save_to_google_drive` option was selected, the `jobname.result.zip` will be uploaded to your Google Drive.\n", + "\n", + "**MSA generation for complexes**\n", + "\n", + "For the complex prediction we use unpaired and paired MSAs. Unpaired MSA is generated the same way as for the protein structures prediction by searching the UniRef100 and environmental sequences three iterations each.\n", + "\n", + "The paired MSA is generated by searching the UniRef100 database and pairing the best hits sharing the same NCBI taxonomic identifier (=species or sub-species). We only pair sequences if all of the query sequences are present for the respective taxonomic identifier.\n", + "\n", + "**Using a custom MSA as input**\n", + "\n", + "To predict the structure with a custom MSA (A3M formatted): (1) Change the `msa_mode`: to \"custom\", (2) Wait for an upload box to appear at the end of the \"MSA options ...\" box. Upload your A3M. The first fasta entry of the A3M must be the query sequence without gaps.\n", + "\n", + "It is also possilbe to proide custom MSAs for complex predictions. Read more about the format [here](https://github.com/sokrypton/ColabFold/issues/76).\n", + "\n", + "As an alternative for MSA generation the [HHblits Toolkit server](https://toolkit.tuebingen.mpg.de/tools/hhblits) can be used. After submitting your query, click \"Query Template MSA\" -> \"Download Full A3M\". Download the A3M file and upload it in this notebook.\n", + "\n", + "**PDB100** \n", + "\n", + "As of 23/06/08, we have transitioned from using the PDB70 to a 100% clustered PDB, the PDB100. The construction methodology of PDB100 differs from that of PDB70.\n", + "\n", + "The PDB70 was constructed by running each PDB70 representative sequence through [HHblits](https://github.com/soedinglab/hh-suite) against the [Uniclust30](https://uniclust.mmseqs.com/). On the other hand, the PDB100 is built by searching each PDB100 representative structure with [Foldseek](https://github.com/steineggerlab/foldseek) against the [AlphaFold Database](https://alphafold.ebi.ac.uk).\n", + "\n", + "To maintain compatibility with older Notebook versions and local installations, the generated files and API responses will continue to be named \"PDB70\", even though we're now using the PDB100.\n", + "\n", + "**Using custom templates** \n", + "\n", + "To predict the structure with a custom template (PDB or mmCIF formatted): (1) change the `template_mode` to \"custom\" in the execute cell and (2) wait for an upload box to appear at the end of the \"Input Protein\" box. Select and upload your templates (multiple choices are possible).\n", + "\n", + "* Templates must follow the four letter PDB naming with lower case letters.\n", + "\n", + "* Templates in mmCIF format must contain `_entity_poly_seq`. An error is thrown if this field is not present. The field `_pdbx_audit_revision_history.revision_date` is automatically generated if it is not present.\n", + "\n", + "* Templates in PDB format are automatically converted to the mmCIF format. `_entity_poly_seq` and `_pdbx_audit_revision_history.revision_date` are automatically generated.\n", + "\n", + "If you encounter problems, please report them to this [issue](https://github.com/sokrypton/ColabFold/issues/177).\n", + "\n", + "**Comparison to the full AlphaFold2 and AlphaFold2 Colab**\n", + "\n", + "This notebook replaces the homology detection and MSA pairing of AlphaFold2 with MMseqs2. For a comparison against the [AlphaFold2 Colab](https://colab.research.google.com/github/deepmind/alphafold/blob/main/notebooks/AlphaFold.ipynb) and the full [AlphaFold2](https://github.com/deepmind/alphafold) system read our [paper](https://www.nature.com/articles/s41592-022-01488-1).\n", + "\n", + "**Troubleshooting**\n", + "* Check that the runtime type is set to GPU at \"Runtime\" -> \"Change runtime type\".\n", + "* Try to restart the session \"Runtime\" -> \"Factory reset runtime\".\n", + "* Check your input sequence.\n", + "\n", + "**Known issues**\n", + "* Google Colab assigns different types of GPUs with varying amount of memory. Some might not have enough memory to predict the structure for a long sequence.\n", + "* Your browser can block the pop-up for downloading the result file. You can choose the `save_to_google_drive` option to upload to Google Drive instead or manually download the result file: Click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \\\"Download\\\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).\n", + "\n", + "**Limitations**\n", + "* Computing resources: Our MMseqs2 API can handle ~20-50k requests per day.\n", + "* MSAs: MMseqs2 is very precise and sensitive but might find less hits compared to HHblits/HMMer searched against BFD or MGnify.\n", + "* We recommend to additionally use the full [AlphaFold2 pipeline](https://github.com/deepmind/alphafold).\n", + "\n", + "**Description of the plots**\n", + "* **Number of sequences per position** - We want to see at least 30 sequences per position, for best performance, ideally 100 sequences.\n", + "* **Predicted lDDT per position** - model confidence (out of 100) at each position. The higher the better.\n", + "* **Predicted Alignment Error** - For homooligomers, this could be a useful metric to assess how confident the model is about the interface. The lower the better.\n", + "\n", + "**Bugs**\n", + "- If you encounter any bugs, please report the issue to https://github.com/sokrypton/ColabFold/issues\n", + "\n", + "**License**\n", + "\n", + "The source code of ColabFold is licensed under [MIT](https://raw.githubusercontent.com/sokrypton/ColabFold/main/LICENSE). Additionally, this notebook uses the AlphaFold2 source code and its parameters licensed under [Apache 2.0](https://raw.githubusercontent.com/deepmind/alphafold/main/LICENSE) and [CC BY 4.0](https://creativecommons.org/licenses/by-sa/4.0/) respectively. Read more about the AlphaFold license [here](https://github.com/deepmind/alphafold).\n", + "\n", + "**Acknowledgments**\n", + "- We thank the AlphaFold team for developing an excellent model and open sourcing the software.\n", + "\n", + "- [KOBIC](https://kobic.re.kr) and [Söding Lab](https://www.mpinat.mpg.de/soeding) for providing the computational resources for the MMseqs2 MSA server.\n", + "\n", + "- Richard Evans for helping to benchmark the ColabFold's Alphafold-multimer support.\n", + "\n", + "- [David Koes](https://github.com/dkoes) for his awesome [py3Dmol](https://3dmol.csb.pitt.edu/) plugin, without whom these notebooks would be quite boring!\n", + "\n", + "- Do-Yoon Kim for creating the ColabFold logo.\n", + "\n", + "- A colab by Sergey Ovchinnikov ([@sokrypton](https://twitter.com/sokrypton)), Milot Mirdita ([@milot_mirdita](https://twitter.com/milot_mirdita)) and Martin Steinegger ([@thesteinegger](https://twitter.com/thesteinegger)).\n" + ] + } + ] +} \ No newline at end of file diff --git a/_sources/ColabFold/Tutorial_Monomer.ipynb b/_sources/ColabFold/Tutorial_Monomer.ipynb new file mode 100644 index 0000000..fb770d9 --- /dev/null +++ b/_sources/ColabFold/Tutorial_Monomer.ipynb @@ -0,0 +1,1132 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "source": [ + "%%time\n", + "\n", + "# @title **Install Python Packages** { run: \"auto\", display-mode: \"form\" }\n", + "\n", + "import os\n", + "from sys import version_info\n", + "PYTHON_VERSION = f\"{version_info.major}.{version_info.minor}\"\n", + "\n", + "if not os.path.isfile(\"COLABFOLD_READY\"):\n", + " print(\"installing colabfold...\")\n", + " os.system(\"pip install -q --no-warn-conflicts 'colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold'\")\n", + " os.system(\"pip install --upgrade dm-haiku\")\n", + " os.system(\"ln -s /usr/local/lib/python3.*/dist-packages/colabfold colabfold\")\n", + " os.system(\"ln -s /usr/local/lib/python3.*/dist-packages/alphafold alphafold\")\n", + " # patch for jax > 0.3.25\n", + " os.system(\"sed -i 's/weights = jax.nn.softmax(logits)/logits=jnp.clip(logits,-1e8,1e8);weights=jax.nn.softmax(logits)/g' alphafold/model/modules.py\")\n", + " os.system(\"touch COLABFOLD_READY\")\n", + "\n", + "\n", + "if not os.path.isfile(\"CONDA_READY\"):\n", + " print(\"installing conda...\")\n", + " os.system(\"wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh\")\n", + " os.system(\"bash Miniforge3-Linux-x86_64.sh -bfp /usr/local\")\n", + " os.system(\"conda config --set auto_update_conda false\")\n", + " os.system(\"touch CONDA_READY\")\n", + "\n", + "\n", + "if not os.path.isfile(\"CONDA_READY\"):\n", + " print(\"installing conda...\")\n", + " os.system(\"wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh\")\n", + " os.system(\"bash Mambaforge-Linux-x86_64.sh -bfp /usr/local\")\n", + " os.system(\"mamba config --set auto_update_conda false\")\n", + " os.system(\"touch CONDA_READY\")\n", + "\n", + "\n", + "if not os.path.isfile(\"HH_READY\") and not os.path.isfile(\"AMBER_READY\"):\n", + " print(\"installing hhsuite and amber...\")\n", + " os.system(f\"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer\")\n", + " os.system(\"touch HH_READY\")\n", + " os.system(\"touch AMBER_READY\")\n", + "else:\n", + " if not os.path.isfile(\"HH_READY\"):\n", + " print(\"installing hhsuite...\")\n", + " os.system(f\"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python='{PYTHON_VERSION}'\")\n", + " os.system(\"touch HH_READY\")\n", + " if not os.path.isfile(\"AMBER_READY\"):\n", + " print(\"installing amber...\")\n", + " os.system(f\"mamba install -y -c conda-forge openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer\")\n", + " os.system(\"touch AMBER_READY\")\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "collapsed": true, + "id": "CX768sUrS7lV", + "outputId": "1d72ced4-56b6-473c-843c-97e232c1ab6f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "installing colabfold...\n", + "installing conda...\n", + "installing hhsuite and amber...\n", + "CPU times: user 269 ms, sys: 52.3 ms, total: 321 ms\n", + "Wall time: 1min 24s\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uTVzPTKjTjXX" + }, + "source": [ + "# 1. **ColabFold Tutorial:** Predicting the structure of Bax protein\n", + "\n", + "Let's get familar with the workflow for predicting a monomer structure. This example looks at Bax, an apoptosis regulating protein.\n", + "\n", + "We will only use the default options set by Steinegger *et al.* which excludes Amber minimization and structure templates.\n", + "\n", + "**a. Background**\n", + " - Encoded by the BAX gene in the Bcl-2 family\n", + " - Highly conserved DNA sequence and structural motifs\n", + " - Different regulatory function in anti-apoptosis or pro-apoptosis\n", + " - Permeation of the mitochondrial outer membrane\n", + "\n", + "\n", + "**b. Pro-death signals triggers conformational shift**\n", + " - Bax adopts a globular state when inactive\n", + " - Apoptotic signals displaces N-terminal $\\alpha$-helicies\n", + " - Becomes membrane-associated\n", + " - Oligomers form, resulting in a pore and cell death\n", + "\n", + "Dysregulation of Bax is implicated in cancer progression, and suggests some contributions towards in Alzheimer's and Parkinson's disease.\n", + "\n", + "Experiments have shown point-mutations near opposite of the binding site region, has been shown to affect activity. This is also near the loop region between $\\alpha$-helix1 and $\\alpha$-helicies2, which has been difficult to structurally resolve. Does this loop play a role in membrane insertion mechanism?\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kOblAo-xetgx" + }, + "outputs": [], + "source": [ + "#@title # **2. Notebook Setup** { display-mode: \"form\" }\n", + "\n", + "from google.colab import files\n", + "import os\n", + "import re\n", + "import hashlib\n", + "import random\n", + "\n", + "from sys import version_info\n", + "python_version = f\"{version_info.major}.{version_info.minor}\"\n", + "\n", + "def add_hash(x,y):\n", + " return x+\"_\"+hashlib.sha1(y.encode()).hexdigest()[:5]\n", + "\n", + "#@markdown \\\n", + "#@markdown ##a. Protein Sequence for Structure Prediction\n", + "#@markdown For bax (human), the amino acid sequence was obtained from\n", + "#@markdown UniProt ([Q07812](https://www.uniprot.org/uniprotkb/Q07812/entry))\n", + "query_sequence = 'MDGSGEQPRGGGPTSSEQIMKTGALLLQGFIQDRAGRMGGEAPELALDPVPQDASTKKLSECLKRIGDELDSNMELQRMIAAVDTDSPREVFFRVAADMFSDGNFNWGRVVALFYFASKLVLKALCTKVPELIRTIMGWTLDFLRERLLGWIQDQGGWDGLLSYFGTPTWQTVTIFVAGVLTASLTIWKKMG' #@param {type:\"string\"}\n", + "#@markdown **Note:** For modeling complexes, use `:` to specify inter-protein chainbreaks\n", + "#@markdown (supports homo- and hetro-oligomers).\n", + "#@markdown For example, **PI...SK:PI...SK** for a homodimer.\n", + "\n", + "#@markdown \\\n", + "#@markdown ## b. Job Name (also name of saving directory)\n", + "jobname = 'colabfold-bax-1f16' #@param {type:\"string\"}\n", + "\n", + "#@markdown \\\n", + "#@markdown ## c. Number of predicted models to relax using Amber\n", + "num_relax = 0 #@param [0, 1, 5] {type:\"raw\"}\n", + "\n", + "#@markdown \\\n", + "#@markdown ## **d. Option for Structure Template**\n", + "#@markdown Search for PDB structure (xyz-coordinates)\n", + "template_mode = \"none\" #@param [\"none\", \"pdb100\",\"custom\"]\n", + "#@markdown `none` = no template information is used. \\\n", + "#@markdown `pdb100` = detect templates in pdb100 (see [notes](#pdb100)). \\\n", + "#@markdown `custom` - upload and search own templates (PDB or mmCIF format, see [notes](#custom_templates))\n", + "\n", + "use_amber = num_relax > 0\n", + "\n", + "query_sequence = \"\".join(query_sequence.split()) # remove whitespaces\n", + "\n", + "basejobname = \"\".join(jobname.split())\n", + "basejobname = re.sub(r'\\W+', '', basejobname)\n", + "jobname = add_hash(basejobname, query_sequence)\n", + "\n", + "# check if directory with jobname exists\n", + "def check(folder):\n", + " if os.path.exists(folder):\n", + " return False\n", + " else:\n", + " return True\n", + "if not check(jobname):\n", + " n = 0\n", + " while not check(f\"{jobname}_{n}\"): n += 1\n", + " jobname = f\"{jobname}_{n}\"\n", + "\n", + "# make directory to save results\n", + "os.makedirs(jobname, exist_ok=True)\n", + "\n", + "# save queries\n", + "queries_path = os.path.join(jobname, f\"{jobname}.csv\")\n", + "with open(queries_path, \"w\") as text_file:\n", + " text_file.write(f\"id,sequence\\n{jobname},{query_sequence}\")\n", + "\n", + "if template_mode == \"pdb100\":\n", + " use_templates = True\n", + " custom_template_path = None\n", + "elif template_mode == \"custom\":\n", + " custom_template_path = os.path.join(jobname,f\"template\")\n", + " os.makedirs(custom_template_path, exist_ok=True)\n", + " uploaded = files.upload()\n", + " use_templates = True\n", + " for fn in uploaded.keys():\n", + " os.rename(fn,os.path.join(custom_template_path,fn))\n", + "else:\n", + " custom_template_path = None\n", + " use_templates = False\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "C2_sh2uAonJH", + "cellView": "form" + }, + "outputs": [], + "source": [ + "#@title # **3. Multiple Sequence Alignment (MSA)**\n", + "\n", + "#@markdown ## a. MSA options\n", + "msa_mode = \"mmseqs2_uniref\" #@param [\"mmseqs2_uniref_env\", \"mmseqs2_uniref\",\"single_sequence\",\"custom\"]\n", + "#@markdown - pairing mode\n", + "#@markdown - single sequence\n", + "#@markdown - custom MSA upload\n", + "\n", + "#@markdown \\\n", + "pair_mode = \"unpaired_paired\" #@param [\"unpaired_paired\",\"unpaired\",\"paired\"] {type:\"string\"}\n", + "#@markdown - \"unpaired_paired\" - pair sequences from same species + unpaired MSA\n", + "#@markdown - \"unpaired\" - seperate MSA for each chain\n", + "#@markdown - \"paired\" - only use paired sequences\n", + "\n", + "# decide which a3m to use\n", + "if \"mmseqs2\" in msa_mode:\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.a3m\")\n", + "\n", + "elif msa_mode == \"custom\":\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.custom.a3m\")\n", + " if not os.path.isfile(a3m_file):\n", + " custom_msa_dict = files.upload()\n", + " custom_msa = list(custom_msa_dict.keys())[0]\n", + " header = 0\n", + " import fileinput\n", + " for line in fileinput.FileInput(custom_msa,inplace=1):\n", + " if line.startswith(\">\"):\n", + " header = header + 1\n", + " if not line.rstrip():\n", + " continue\n", + " if line.startswith(\">\") == False and header == 1:\n", + " query_sequence = line.rstrip()\n", + " print(line, end='')\n", + "\n", + " os.rename(custom_msa, a3m_file)\n", + " queries_path=a3m_file\n", + " print(f\"moving {custom_msa} to {a3m_file}\")\n", + "\n", + "else:\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.single_sequence.a3m\")\n", + " with open(a3m_file, \"w\") as text_file:\n", + " text_file.write(\">1\\n%s\" % query_sequence)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ADDuaolKmjGW" + }, + "outputs": [], + "source": [ + "# @title # **4. Advanced Settings** { run: \"auto\", display-mode: \"form\" }\n", + "\n", + "#@markdown ## a. ML Model\n", + "model_type = \"auto\" #@param [\"auto\", \"alphafold2_ptm\", \"alphafold2_multimer_v1\", \"alphafold2_multimer_v2\", \"alphafold2_multimer_v3\"]\n", + "#@markdown **Note:** If `auto` selected, will use `alphafold2_ptm` for monomer prediction\n", + "#@markdown and `alphafold2_multimer_v3` for complex prediction.\n", + "#@markdown Any of the `mode_types` can be used (regardless if input is monomer or complex).\n", + "\n", + "#@markdown \\\n", + "#@markdown ## b. Re-Train with Predicted Structures\n", + "num_recycles = \"3\" #@param [\"auto\", \"0\", \"1\", \"3\", \"6\", \"12\", \"24\", \"48\"]\n", + "#@markdown **Note:**\n", + "#@markdown - If `auto` selected, will use `num_recycles=20`,\n", + "#@markdown - If `model_type=alphafold2_multimer_v3`, else `num_recycles=3`\n", + "\n", + "#@markdown \\\n", + "recycle_early_stop_tolerance = \"auto\" #@param [\"auto\", \"0.0\", \"0.5\", \"1.0\"]\n", + "#@markdown - if `auto` selected, will use `tol=0.5`\n", + "#@markdown - If `model_type=alphafold2_multimer_v3`, else `tol=0.0`.\n", + "\n", + "#@markdown \\\n", + "#@markdown ## c. Amber Relaxation\n", + "relax_max_iterations = 200 #@param [0, 200, 2000] {type:\"raw\"}\n", + "#@markdown - max amber relax iterations\n", + "#@markdown - `0` = unlimited (AlphaFold2 default, can take very long)\n", + "\n", + "#@markdown \\\n", + "#@markdown ## d. MSA Pairing\n", + "pairing_strategy = \"greedy\" #@param [\"greedy\", \"complete\"] {type:\"string\"}\n", + "#@markdown - `greedy` = pair any taxonomically matching subsets,\n", + "#@markdown - `complete` = all sequences have to match in one line.\n", + "\n", + "#@markdown \\\n", + "#@markdown ## e. Sample settings\n", + "#@markdown - enable dropouts and increase number of seeds to sample predictions from uncertainty of the model.\n", + "#@markdown - decrease `max_msa` to increase uncertainity\n", + "max_msa = \"auto\" #@param [\"auto\", \"512:1024\", \"256:512\", \"64:128\", \"32:64\", \"16:32\"]\n", + "num_seeds = 1 #@param [1,2,4,8,16] {type:\"raw\"}\n", + "use_dropout = False #@param {type:\"boolean\"}\n", + "\n", + "num_recycles = None if num_recycles == \"auto\" else int(num_recycles)\n", + "recycle_early_stop_tolerance = None if recycle_early_stop_tolerance == \"auto\" else float(recycle_early_stop_tolerance)\n", + "if max_msa == \"auto\": max_msa = None\n", + "\n", + "#@markdown \\\n", + "#@markdown # **5. Save settings**\n", + "#@markdown This will ask for your credentials, to save the outputs.\n", + "save_all = False #@param {type:\"boolean\"}\n", + "save_recycles = False #@param {type:\"boolean\"}\n", + "save_to_google_drive = False #@param {type:\"boolean\"}\n", + "#@markdown - if the save_to_google_drive option was selected, the result zip will be uploaded to your Google Drive\n", + "dpi = 200 #@param {type:\"integer\"}\n", + "#@markdown - set dpi for image resolution\n", + "\n", + "if save_to_google_drive:\n", + " from pydrive.drive import GoogleDrive\n", + " from pydrive.auth import GoogleAuth\n", + " from google.colab import auth\n", + " from oauth2client.client import GoogleCredentials\n", + " auth.authenticate_user()\n", + " gauth = GoogleAuth()\n", + " gauth.credentials = GoogleCredentials.get_application_default()\n", + " drive = GoogleDrive(gauth)\n", + " print(\"You are logged into Google Drive and are good to go!\")\n", + "\n", + "#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "mbaIO9pWjaN0", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "collapsed": true, + "outputId": "78730d97-e9e1-424a-e392-2ef0241e13e3" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "Downloading alphafold2 weights to .: 100%|██████████| 3.47G/3.47G [01:33<00:00, 39.9MB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 01:03:26,095 Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: \"rocm\". Available platform names are: CUDA\n", + "2023-12-08 01:03:26,097 Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory\n", + "2023-12-08 01:03:28,068 Running on GPU\n", + "2023-12-08 01:03:28,251 Found 3 citations for tools or databases\n", + "2023-12-08 01:03:28,252 Query 1/1: colabfoldbax1f16_f85cf (length 192)\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "COMPLETE: 100%|██████████| 150/150 [elapsed: 00:02 remaining: 00:00]\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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r1y5MkMympYEHjx4ULtMpVJluCRcu3ZtAgMD+fLLL4mLi8sQ65MnT3L7drW6dOmCXC5n2rRpGfqzpr2/tm3b4ubmxqxZs0hJScnzdrt166btPvGqtG106NCB8PBwnb6mqampLF68GBcXF5o1a6ZdLpfL6d69O//++y+//vorqampGUbs9+jRg4cPH7Js2bIM23zx4gXx8fHZxgyaVmiZTKbTon3nzh02bdqks17btm0B+P7773WWv3qnMoVCQbdu3Vi/fn2mSbs+358gCEJOREuqIFi4kSNHkpCQwNtvv03FihVJTk7m6NGj/PHHH5QuXVo7N2dgYCAzZsxgwoQJ3Llzhy5duuDq6kpoaCgbN25k6NChjB07Fjs7O2bMmMEHH3xAy5YteffddwkNDWXFihUZ+qRWqVKFBg0aMGHCBCIjI/H09OT3338nNTVVZz25XM5PP/1E+/btqVKlCgMHDqR48eI8fPiQffv24ebmxr///pun9122bFkmTpzI9OnTef311+natSsODg6cPHmSYsWKMXv2bNzc3FiyZAl9+/alVq1a9OzZE29vb+7du8eWLVto3Lgx3377bZbb+OSTT/jrr7945513GDRoELVr1yYyMpJ//vmHpUuXUr16dYYOHcoPP/zAgAEDOH36NKVLl+avv/7iyJEjLFy4EFdXV50y3333XRYvXszkyZOpWrWqtu9qmr59+7Ju3To+/PBD9u3bR+PGjVGpVFy7do1169axY8cObSt5Vjp27MiCBQto164dvXv35vHjx3z33XeULVuWCxcuaNerXbs23bp1Y+HChTx79owGDRpw4MABbty4Aeh255gzZw779u2jfv36DBkyhMqVKxMZGcmZM2fYvXs3kZGRuf7uBEEQcsVU0woIgmAY27ZtkwYNGiRVrFhRcnFxkezt7aWyZctKI0eOlCIiIjKsv379eqlJkyZSoUKFpEKFCkkVK1aUhg8fLl2/fl1nve+//14KCAiQHBwcpDp16kgHDx6UmjVrpjMFlSRJUkhIiNS6dWvJwcFB8vX1lT777DNp165dOlNQpTl79qzUtWtXqUiRIpKDg4NUqlQpqUePHtKePXu066RNQfXkyROd12Y13dXy5culmjVrSg4ODlLhwoWlZs2aSbt27dJZZ9++fVLbtm0ld3d3ydHRUQoMDJQGDBggnTp1KsfP99mzZ9KI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3javdTodzGYzAMDT0xOZmZn417/+hd69e2Pt2rXo0aMHCgsLnV4XEZGaMaQSkeK0atUK3bp1Q1RUFLy8bp6V1KtXL9TW1uLgwYPW8a5evYq8vDz07t3bOiwyMhJz587F9u3b8dxzz2HDhg12v8PHxwcmk6nBOnr16oWLFy/i4sWL1mFnzpyB0Wi0+c7G6HQ6DBkyBIsXL8bx48fh4+ODjz76qMmfJyJyRwypRKQK3bt3x/jx4zFnzhx88803+O677/Bf//Vf6NixI8aPHw8AePbZZ/HFF1+gsLAQx44dw549e9CrVy+70+vUqRPKysqQlZWFn3/+GTdu3Kg3TmJiImJiYjB16lQcO3YMhw4dwvTp0zF8+HAMGDCgSXUfPHgQy5cvx5EjR1BUVITt27fjypUrt62LiIhuYkglItXYuHEj4uLi8NBDDyEhIQFCCHz22WfW7naTyYTk5GT06tULo0aNwp133om//e1vdqc1ePBgzJ07F5MnT0b79u2xatWqeuPodDp8/PHHaNOmDYYNG4bExER06dIF77//fpNrDgoKwr59+zBmzBjceeedWLRoEV555RWMHj1a2kIgInITOsH7oBARERGRwvBIKhEREREpDkMqERERESkOQyoRERERKQ5DKhEREREpDkMqERERESkOQyoRERERKQ5DKhEREREpDkMqERERESkOQyoRERERKQ5DKhEREREpDkMqERERESnO/wP9nb0T08VZRAAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 01:03:32,044 Setting max_seq=512, max_extra_seq=1703\n", + "2023-12-08 01:04:07,724 alphafold2_ptm_model_1_seed_000 recycle=0 pLDDT=70.2 pTM=0.694\n", + "2023-12-08 01:04:13,490 alphafold2_ptm_model_1_seed_000 recycle=1 pLDDT=80.9 pTM=0.793 tol=1.07\n", + "2023-12-08 01:04:19,257 alphafold2_ptm_model_1_seed_000 recycle=2 pLDDT=78.4 pTM=0.775 tol=0.281\n", + "2023-12-08 01:04:25,019 alphafold2_ptm_model_1_seed_000 recycle=3 pLDDT=81.1 pTM=0.798 tol=0.165\n", + "2023-12-08 01:04:25,021 alphafold2_ptm_model_1_seed_000 took 39.0s (3 recycles)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABcSAAAXEgFnn9JSAAEAAElEQVR4nOzdd5xcVfn48c+5907b3pJsekhPaCGhI02KdKQoRZqKAgoCCoLyRVBAFPiBoF+lC8pXRECq0juElpBKKulbsrvZPjv93vP7Y2Y3W6bcTTb9efvaF2bm3HvPbJlnnnPPeY7SWmuEEEIIIYQQQmBs6w4IIYQQQgghxPZCEiQhhBBCCCGESJEESQghhBBCCCFSJEESQgghhBBCiBRJkIQQQgghhBAiRRIkIYQQQgghhEiRBEkIIYQQQgghUiRBEkIIIYQQQogUSZCEEEIIIYQQIkUSJCGEEEIIIYRIkQRJCCGEEEIIIVIkQRJCCCGEEEKIFEmQhBBCCCGEECJFEiQhhBBCCCGESJEESbh2xBFHoJRi9erV27or/XbRRRehlOLdd9911f6xxx5DKcXNN9+8RfuVjVIKpRQlJSW0tLSkbfO73/1uq/Szo6ODu+++myOPPJIhQ4bg9XopLS3loIMO4le/+hVr167dotcXQogtRWLb9q/zZ+Tmda5evborfnZ++Xw+Bg8ezIwZM7jkkkt444030FoP6PHpjsv1dcQRRwzAd0dsCda27oAQIrvW1lbuvvtufvOb32yT68+cOZMzzjiD9evXk5eXx4EHHsiQIUNobW3l888/55NPPuGOO+7g5Zdf5uijj94mfRRCCCG6y8/P58wzzwTAtm1aWlpYuHAhDz74IA8++CAzZszgH//4BxMnThyQ4wsKCrjwwgv7nOfVV1+lrq6OQw45hPHjx/d4bvLkyQP5ksUAkgRJiO1Y58jVvffey9VXX01paelWvf7cuXM56qijiEQiXHfdddx4443k5+d3Pe84Ds8//zw///nPqaqq2qp9E0IIITKpqKjgscce6/P4vHnz+OlPf8rbb7/NYYcdxueff87IkSM3+/hM7Y844gjq6uq4+OKLueiiizb/hYmtQqbYCbEdMwyDH/7wh7S1tXHXXXdt1WtrrTn//POJRCLcfPPN/O53v+uRHHX27/TTT2f27Nnsu+++W7V/QgghRH/tvffevP766xx77LHU1dVx5ZVXbtXjxY5BEqSdzLp16/jJT37CxIkTCQQClJWVse+++/LrX/+atra2Hm1DoRC33HILe+yxB4FAgOLiYg477DD++c9/9vu6ixYt4jvf+Q5Dhw7F6/UyfPhwLrjgApYuXdqn7bvvvotSiosuuoj169dz8cUXM2LECCzL4g9/+EOP13L55Zczbtw4/H4/ZWVlnHTSScycOTNjPx599FGmTZtGIBCgsrKy6xqbY+nSpZxxxhmUl5eTn5/PIYccwn//+98ebWbNmoVSioMPPjjjeX7729+ilOKmm27q1/Wvv/56AoEAf/zjH2lsbNyk15BJVVUV1dXVaZ979dVXWbhwISNGjOCGG27Iep7i4mL22GOPAe2bEEJ0kti2c8S2znU6RxxxBG1tbVx55ZWMHDkSv9/PlClTuOeee3AcZ7NelxumafKnP/0JpRTPP/98v9fRbu7xYgegxU7j/fff1yUlJRrQY8aM0d/61rf0SSedpMePH68BPWfOnK62bW1tesaMGRrQgwYN0meeeaY+/vjjtc/n04D+yU9+0uf8hx9+uAb0qlWrejz+5ptv6kAgoAG9zz776LPPPltPmzZNA7qgoEC///77Pdq/8847GtAnnHCCHjFihK6srNRnnnmmPumkk/QDDzygtdZ65syZurS0VAN60qRJ+vTTT9eHHnqotixLm6ap//nPf/bp33XXXacB7fF49LHHHqu/9a1v6cGDB+tRo0bpk08+WQP6nXfecfW9/Otf/6oBfd555+ni4mK922676bPPPlsfdthhWimllVL60Ucf7XHM9OnTNaAXLlzY53yO4+ixY8dqwzD0mjVrXPUB0KZpaq21vvrqqzWgr7vuuh5tbr/9dg3om266ydU5u2ttbdXjx4/XEydO1DU1NX2e//GPf6wBffXVV/f73EIIMVAktu08sW3VqlUa0AceeKCeMWOGLikp0aeffro+6aSTur7XF154YZ/jOn9Gbl5n5zVGjx6ds+2+++6rAf23v/1twI7P1Pe//vWvOc8nth+SIO0kGhsb9aBBgzSg77zzTm3bdo/nZ86cqevq6rr+ffnll2tAH3nkkbqtra3r8cWLF+vBgwdrQL/00ks9zpEuiASDQT1kyBAN6D/96U892t99990a0CNGjNDhcLjr8c4gAujTTjutx3NaJz+4Dx06VJumqZ944okez33++ee6tLRUFxQU6Pr6+q7HP/74Y62U0sXFxfqLL77oery9vV1//etf77pef4MIoC+44AIdj8e7nnvppZe0aZo6Ly9PV1VVdT3+4IMPakBfeeWVfc73xhtvaEAff/zxrq6vdc8Eaf369TovL0/n5+f3eN2bkyBprfWNN96oAT158mS9fv36Hs8dcsghGtB///vfN+ncQgixuSS27VyxrTP5APRee+2lGxoaup776quv9LBhwzSgn3vuuR7HbakE6eKLL9aA/sUvfjFgx/cmCdKOSRKkncTvf/97DejjjjsuZ9tgMKgDgYA2DEMvXry4z/P33XefBvTRRx/d4/F0QeTRRx/VgD7ooIPSXqtzJK97MOgMIj6fr8ebcKd77rlHA/pnP/tZ2nN2Bqe7776767ELLrhAA/pXv/pVn/ZffvmlVkptUhApKCjQTU1NfZ4/66yzNKBvueWWrseCwaAuKirSZWVlOhKJpG3/73//29X1te6ZIGmt9c9+9rM+35fNTZC01vp//ud/NKCnTp3a44PG5MmTNaBfffXVTT63EEJsDoltO1ds654gvf76632e/8tf/qIBfdRRR/V4fEslSNdff70G9KWXXjpgx/cmCdKOSdYg7STefPNNAC655JKcbWfPnk04HGb69OlpS0yef/75AHz00Uc55wJ/8MEHAHznO99J+/x5553Xo11306dPZ/jw4X0ef/311wE4/fTT057z0EMPBeCzzz7r04+zzz67T/upU6ey9957Z3wN2Rx77LFpK8edc845Pa4LyZKg5513Hk1NTTz77LNdj2/YsIHnnnuOyspKTj755E3qB8B1111Hfn4+f/nLX6irq8vY7sMPP2Ty5Mmuv55++mkMw2DRokUcddRRm9w/IYQYaBLbds7YVlZWxjHHHJPx+jNnztwqa5F0ai8jpdQ2OV5svyRB2kmsW7cOgHHjxuVsW1NTA8CYMWPSPl9SUkJxcTHhcJjm5ubNOlfn4+kKAYwaNSrtMZ2b9R1yyCFpN1bbb7/9gOSbc+9+jB49Oms/+ivX+Tqv2+nSSy8F4KGHHup67G9/+xuxWIzvfve7WNamV9YfNGgQP/7xjwmFQvzud7/L2C4YDLJ06dJ+fXUGou7f0/LycgAaGho2uc9CCLE5JLbtnLEt0/WLi4spKSlx9TMaCJ3f67Kysm1yvNh+yT5IIq2BGg3Jdh6/35/28c4P62eeeWafstLdbY8brO25554cfPDBvPvuuyxfvpwJEybwyCOPoJTi4osv3uzzX3vttfz5z3/m/vvv5+c//3naNscdd1zGHcLT+fvf/85FF11ERUUFb7/9dtfj06ZN46OPPuKLL77oGi0VQogdmcS2TbOlY9u2MmfOHCB5N25bHC+2X5Ig7SRGjhzJkiVLWLFiBXvuuWfWtsOGDQNgzZo1aZ9vbW2lpaWFQCCQc2PSXOfqHDFLN90gkxEjRrB06VKuv/56ZsyY4eqYoUOHsnr1atasWcOUKVP6PJ+pf7lkOq7z8c7X392ll17KzJkzefjhhznllFNYtGgRRx99NGPHjt2kPnRXUVHBFVdcwe23387tt9+e9vr98cQTT3DRRRdRVlbGW2+91eN7d+KJJ/K///u/PP3009xxxx2bdfdLCCE2hcS2nTO2ZSqL3dbW1vUzKikp6fd5+2P58uXMmTMHwzA47LDDtvrxYvsmU+x2EkcffTQADz74YM62M2bMIBAIMHv2bJYvX97n+SeeeAJITgMwjOy/Ip1zpp988sm0z3eeq7OdG53zkp977jnXx3Se/1//+lef55YsWcLcuXNdn6u7119/nZaWlj6Pd+6n8bWvfa3Pc9/61rcoLy/nscce489//jMAP/jBDzbp+un87Gc/o7CwkAcffDDjHkZutLW18dOf/pTS0lLeeuutPvsYHXfccey+++5UVVVx22235TzXl19+ucl9EUKIdCS27ZyxrbGxkbfeeivj9Q866CBM09ykc7th2zaXX345WmvOOOMMRowYsVWPFzuAbVoiQgyYxsZGXVFRoQF9zz33aMdxejz/8ccf96hQ1rnHzTHHHKODwWDX40uXLtWVlZUa0C+++GKPc+Qqhdq5z0One++9VwN6+PDhaUuhptvrQGutm5ub9eDBg7XH49EPPPBAn7Ku8Xhcv/rqq3rBggVdj3300Uca0CUlJXru3Lk9+nf00UdvVinU7373uz1Kof73v//VpmnqQCCg161bl/b4n/70p13HDxo0SEejUVfX7Y5eVey6u+GGGzTQtW/Eplaxmz17do/Ssb3NmTNH+/1+Dejrr7++x++K1sk9MF544QU9YcIEqdAjhBhwEtt2rtjWvYrdtGnT9IYNG7qeW7lypR4+fLgG9LPPPtvjuIGsYjdv3ryuEulDhw7V1dXVA3p8b1LFbsckCdJO5J133tGFhYUa0Lvttpv+9re/rU8++eScm+kNHjxYf+tb39InnHBC14fhTd1Mb8aMGfqcc87R++yzT1cp0Uyb6WUKIlong15nUBw5cqQ+/vjj9bnnnqu//vWvd20Y2HufhGuuuUZDcjO9b3zjG/rb3/62HjJkyGZtpved73ynx2Z6hx9+eFdZ1Yceeijj8UuXLu1qd80117i6Zm/ZEqSmpiZdVFTUFWg2p8x3Lh9++GHXB4W8vDx91FFH6XPPPVefeOKJXY/7/X795ptvbrE+CCF2XRLbdp7Y1n2j2OnTp3dtFHvyySfrvLw8DclNbHvr/BlNmTJFH3DAAWm/Lrvssh7XyM/P1xdeeKG+8MIL9XnnnadPPvlkPXbs2K64ud9+++nly5dn7OOmHp+p75Ig7VgkQdrJrFy5Ul966aV6zJgx2uv16rKyMj1jxgz9m9/8psemeVonR6B+/etf66lTp2qfz6cLCwv11772Nf2Pf/wj7bkzBRGttV64cKE+55xz9JAhQ7TH49FDhw7V5513nl6yZEmftm6CiNZa19bW6p///Od6991313l5eTovL0+PGzdOn3rqqfqxxx7T7e3tfY556KGH9F577aV9Pp8ePHiwPu+883R1dbW+8MILNymI3HTTTXrRokX61FNP1aWlpToQCOiDDjqoz0aD6YwcOVIDab8HbmRLkLTW+le/+tVWSZC0Tm5KeNddd+nDDz9cDxo0SFuWpUtKSvQBBxygb7rppoyjjUIIMRAktu0csa0z+Tj88MN1S0uL/tGPfqSHDRumvV6vnjRpkr7rrrt0IpHoc1znzyjb1+GHH97jGt2/PB6Prqio0NOnT9c//OEP9euvv97nbmTvPm7q8Zn6LgnSjkVp3Y9yV0IIVz7++GMOPvhgDj/8cN59991t3R0hhBBis21ubFu9ejW77babxEax3ZMiDUJsAZ1FDS6//PJt3BMhhBBiYEhsE7sKqdsrxACZOXMmjzzyCAsXLuSzzz5j+vTpGXdMF0IIIXYEEtvErkgSJCEGyLJly3j00UcpLCzs2kMoVylZIYQQYnsmsU3simQNkhBCCCGEEEKkyBCAEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBCCCFEiiRIQgghhBBCCJEiCZIQQgghhBBCpEiCJIQQQgghhBApkiAJIYQQQgghRIokSEIIIYQQQgiRIgmSEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBCCCFEiiRIQgghhBBCCJEiCZIQQgghhBBCpEiCJIQQQgghhBApkiAJIYQQQgghRIokSEIIIYQQQgiRIgmSEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBCCCFEiiRIQgghhBBCCJEiCZIQQgghhBBCpEiCJIQQQgghhBApkiAJIYQQQgghRIokSEIIIYQQQgiRIgmSEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBCCCFEiiRIQgghhBBCCJEiCZIQQgghhBBCpEiCJIQQQgghhBApkiAJIYQQQgghRIokSEIIIYQQQgiRIgmSEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBCCCFEiiRIQgghhBBCCJEiCZIQQgghhBBCpEiCJIQQQgghhBApkiAJIYQQQgghRIokSEIIIYQQQgiRIgmSEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBCCCFEiiRIQgghhBBCCJEiCZIQQgghhBBCpEiCJIQQQgghhBApkiAJIYQQQgghRIokSEIIIYQQQgiRIgmSEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBCCCFEiiRIQgghhBBCCJEiCZIQQgghhBBCpEiCJIQQQgghhBApkiAJIYQQQgghRIokSEIIIYQQQgiRIgmSEEIIIYQQQqRIgiSEEEIIIYQQKZIgCSGEEEIIIUSKJEhCCCGEEEIIkSIJkhBCCCGEEEKkSIIkhBBCCCGEECmSIAkhhBBC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\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 01:04:31,023 alphafold2_ptm_model_2_seed_000 recycle=0 pLDDT=68.3 pTM=0.67\n", + "2023-12-08 01:04:36,783 alphafold2_ptm_model_2_seed_000 recycle=1 pLDDT=79.3 pTM=0.783 tol=1.21\n", + "2023-12-08 01:04:42,548 alphafold2_ptm_model_2_seed_000 recycle=2 pLDDT=78.2 pTM=0.779 tol=0.353\n", + "2023-12-08 01:04:48,310 alphafold2_ptm_model_2_seed_000 recycle=3 pLDDT=79.4 pTM=0.789 tol=0.121\n", + "2023-12-08 01:04:48,311 alphafold2_ptm_model_2_seed_000 took 23.1s (3 recycles)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABcSAAAXEgFnn9JSAAD+i0lEQVR4nOydd3wdxfW3n9m9Vb1Zsix3G2xscKeYZnowNaGF3sIvkEAglFDeUEIIndBD75jeCaGDqTa4G/cuq/d6e9l5/7iSrCvdspJlWzbz5KMY7c7Mzl5Je/Y758w5QkopUSgUCoVCoVAoFAoF2o6egEKhUCgUCoVCoVD0F5RAUigUCoVCoVAoFIo2lEBSKBQKhUKhUCgUijaUQFIoFAqFQqFQKBSKNpRAUigUCoVCoVAoFIo2lEBSKBQKhUKhUCgUijaUQFIoFAqFQqFQKBSKNpRAUigUCoVCoVAoFIo2lEBSKBQKhUKhUCgUijaUQFIoFAqFQqFQKBSKNpRAUigUCoVCoVAoFIo2lEBSKBQKhUKhUCgUijaUQFIoFAqFQqFQKBSKNpRAUigUCoVCoVAoFIo2lEBSmOaQQw5BCEFxcfGOnkqPOf/88xFC8M0335hq/8ILLyCE4B//+Mc2nVcihBAIIcjKyqKpqSlmm7vuumu7zNPtdnP//fdz6KGHUlBQgM1mIzs7m+nTp3PzzTdTUlKyTa+vUCgU2wpl2/o/7T8jM/dZXFzcYT/bv+x2O/n5+UydOpWLL76YL774Ailln/aP1S/Z1yGHHNIHn45iW2DZ0RNQKBSJaW5u5v777+ef//znDrn+nDlzOPnkk6mqqiIlJYX99tuPgoICmpubmT9/Pj/99BP33HMPH330EUccccQOmaNCoVAoFJ1JTU3llFNOASAcDtPU1MTy5ct56qmneOqpp5g6dSqvvvoqu+++e5/0T0tL47zzzus2zqeffkp1dTUHHHAAo0ePjjo3duzYvrxlRR+iBJJC0Y9pX7l66KGHuPLKK8nOzt6u11+yZAmHH344Pp+P6667jptuuonU1NSO84Zh8P7773PttddSVla2XeemUCgUCkU88vLyeOGFF7odX7p0KVdddRVff/01Bx98MPPnz2fIkCFb3T9e+0MOOYTq6mouuugizj///K2/McV2QYXYKRT9GE3T+OMf/0hLSwv33Xffdr22lJJzzjkHn8/HP/7xD+66664ocdQ+v5NOOomFCxcybdq07To/hUKhUCh6ysSJE/n888856qijqK6u5oorrtiu/RU7B0og7WKUlpZy+eWXs/vuu+N0OsnJyWHatGnceuuttLS0RLX1eDzcdttt7LnnnjidTjIzMzn44IN5/fXXe3zdlStXctZZZ1FYWIjNZqOoqIhzzz2XNWvWdGv7zTffIITg/PPPp6qqiosuuojBgwdjsVh48MEHo+7lsssuY9SoUTgcDnJycjjuuOOYM2dO3Hk899xzTJo0CafTycCBAzuusTWsWbOGk08+mdzcXFJTUznggAP4+OOPo9osWLAAIQT7779/3HHuuOMOhBDccsstPbr+9ddfj9Pp5JFHHqG+vr5X9xCPsrIyysvLY5779NNPWb58OYMHD+bvf/97wnEyMzPZc889+3RuCoVC0Y6ybbuGbWvfp3PIIYfQ0tLCFVdcwZAhQ3A4HOyxxx488MADGIaxVfdlBl3XefTRRxFC8P777/d4H+3W9lfsBEjFLsN3330ns7KyJCCHDx8uTz31VHncccfJ0aNHS0AuXry4o21LS4ucOnWqBOSAAQPkKaecImfOnCntdrsE5OWXX95t/BkzZkhAbtq0Ker4l19+KZ1OpwTk5MmT5emnny4nTZokAZmWlia/++67qPazZ8+WgDzmmGPk4MGD5cCBA+Upp5wijzvuOPnkk09KKaWcM2eOzM7OloAcM2aMPOmkk+RBBx0kLRaL1HVdvv76693md91110lAWq1WedRRR8lTTz1V5ufny6FDh8rjjz9eAnL27NmmPsvnn39eAvLss8+WmZmZcsSIEfL000+XBx98sBRCSCGEfO6556L6TJkyRQJy+fLl3cYzDEOOHDlSapomN2/ebGoOgNR1XUop5ZVXXikBed1110W1ufPOOyUgb7nlFlNjdqa5uVmOHj1a7r777rKioqLb+UsvvVQC8sorr+zx2AqFQtFXKNu269i2TZs2SUDut99+curUqTIrK0uedNJJ8rjjjuv4rM8777xu/dp/Rmbus/0aw4YNS9p22rRpEpAvvfRSn/WPN/fnn38+6XiK/oMSSLsI9fX1csCAARKQ9957rwyHw1Hn58yZI6urqzu+v+yyyyQgDz30UNnS0tJxfNWqVTI/P18C8r///W/UGLGMiMvlkgUFBRKQjz76aFT7+++/XwJy8ODB0uv1dhxvNyKA/N3vfhd1TsrIi3thYaHUdV3OmjUr6tz8+fNldna2TEtLkzU1NR3H586dK4UQMjMzUy5atKjjeGtrqzzssMM6rtdTIwLIc889VwaDwY5z//3vf6Wu6zIlJUWWlZV1HH/qqackIK+44opu433xxRcSkDNnzjR1fSmjBVJVVZVMSUmRqampUfe9NQJJSilvuukmCcixY8fKqqqqqHMHHHCABOTLL7/cq7EVCoVia1G2bdeybe3iA5ATJkyQtbW1HefWr18vBw0aJAH53nvvRfXbVgLpoosukoC84YYb+qx/V5RA2jlRAmkX4e6775aAPProo5O2dblc0ul0Sk3T5KpVq7qdf/jhhyUgjzjiiKjjsYzIc889JwE5ffr0mNdqX8nrbAzajYjdbo96CLfzwAMPSEBeffXVMcdsN073339/x7Fzzz1XAvLmm2/u1n7FihVSCNErI5KWliYbGhq6nf/9738vAXnbbbd1HHO5XDIjI0Pm5ORIn88Xs/27775r6vpSRgskKaW8+uqru30uWyuQpJTyxhtvlIAcN25c1IvG2LFjJSA//fTTXo+tUCgUW4OybbuWbesskD7//PNu5x9//HEJyMMPPzzq+LYSSNdff70E5CWXXNJn/buiBNLOidqDtIvw5ZdfAnDxxRcnbbtw4UK8Xi9TpkyJmWLynHPOAeDHH39MGgv8/fffA3DWWWfFPH/22WdHtevMlClTKCoq6nb8888/B+Ckk06KOeZBBx0EwLx587rN4/TTT+/Wfty4cUycODHuPSTiqKOOipk57owzzoi6LkRSgp599tk0NDTwzjvvdByvq6vjvffeY+DAgRx//PG9mgfAddddR2pqKo8//jjV1dVx2/3www+MHTvW9Ndbb72FpmmsXLmSww8/vNfzUygUir5G2bZd07bl5ORw5JFHxr3+nDlztsteJNlWy0gIsUP6K/ovSiDtIpSWlgIwatSopG0rKioAGD58eMzzWVlZZGZm4vV6aWxs3Kqx2o/HSgQwdOjQmH3ai/UdcMABMQur7b333kDk4dx1HsOGDUs4j56SbLz267ZzySWXAPD00093HHvppZcIBAJccMEFWCy9z6w/YMAALr30UjweD3fddVfcdi6XizVr1vToq90Qdf5Mc3NzAaitre31nBUKhWJrULZt17Rt8a6fmZlJVlaWqZ9R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pClAEhERERERSVOAJCIiIiIikqYASUREREREJE0BkoiIiIiISJoCJBERERERkTQFSCIiIiIiImkKkERERERERNIUIImIiIiIiKQpQBIREREREUlTgCQiIiIiIpKmAElERERERCRNAZKIiIiIiEiaAiQREREREZE0BUgiIiIiIiJpCpBERERERETSFCCJiIiIiIikKUASERERERFJU4AkIiIiIiKSpgBJREREREQkTQGSiIiIiIhImgIkERERERGRNAVIIiIiIiIiaQqQRERERERE0hQgiYiIiIiIpClAEhERERERSVOAJCIiIiIikqYASUREREREJE0BkoiIiIiISJoCJBERERERkTQFSCIiIiIiImkKkERERERERNIUIImIiIiIiKQpQBIREREREUlTgCQiIiIiIpKmAElERERERCRNAZKIiIiIiEiaAiQREREREZE0BUgiIiIiIiJpCpBERERERETSFCCJiIiIiIikKUASERERERFJU4AkIiIiIiKSpgBJREREREQkTQGSiIiIiIhImgIkERERERGRNAVIIiIiIiIiaQqQRERERERE0hQgiYiIiIiIpClAEhERERERSVOAJCIiIiIikqYASUREREREJE0BkoiIiIiISJoCJBERERERkTQFSCIiIiIiImkKkERERERERNIUIImIiIiIiKQpQBIREREREUlTgCQiIiIiIpKmAElERERERCRNAZKIiIiIiEiaAiQREREREZE0BUgiIiIiIiJpCpBERERERETSFCCJiIiIiIikKUASERERERFJU4AkIiIiIiKSpgBJREREREQkTQGSiIiIiIhImgIkERERERGRNAVIIiIiIiIiaQqQRERERERE0hQgiYiIiIiIpClAEhERERERSVOAJCIiIiIikqYASUREREREJE0BkoiIiIiISJoCJBERERERkTQFSCIiIiIiImkKkERERERERNIUIImIiIiIiKQpQBIREREREUlTgCQiIiIiIpKmAElERERERCRNAZKIiIiIiEiaAiQREREREZE0BUgiIiIiIiJpCpBERERERETSFCCJiIiIiIikKUASERERERFJU4AkIiIiIiKSpgBJREREREQkTQGSiIiIiIhImgIkERERERGRNAVIIiIiIiIiaQqQRERERERE0hQgiYiIiIiIpClAEhERERERSVOAJCIiIiIikqYASUREREREJE0BkoiIiIiISJoCJBERERERkTQFSCIiIiIiImkKkERERERERNIUIImIiIiIiKQpQBIREREREUlTgCQiIiIiIpKmAElERERERCRNAZKIiIiIiEiaAiQREREREZE0BUgiIiIiIiJpCpBERERERETSFCCJiIiIiIikKUASERERERFJU4AkIiIiIiKSpgBJREREREQkTQGSiIiIiIhImgIkERERERGRNAVIIiIiIiIiaQqQRERERERE0hQgiYiIiIiIpClAEhERERERSVOAJCIiIiIikqYASUREREREJE0BkoiIiIiISJoCJBERERERkTQFSCIiIiIiImkKkERERERERNIUIImIiIiIiKQpQBIREREREUlTgCQiIiIiIpKmAElERERERCRNAZKIiIiIiEiaAiQREREREZE0BUgiIiIiIiJpCpBERERERETSFCCJiIiIiIikKUASERERERFJU4AkIiIiIiKSpgBJREREREQkTQGSiIiIiIhImgIkERERERGRNAVIIiIiIiIiaQqQRERERERE0hQgiYiIiIiIpClAEhERERERSVOAJCIiIiIikqYASUREREREJE0BkoiIiIiISJoCJBERERERkTQFSCIiIiIiImkKkERERERERNIUIImIiIiIiKT9P+hkhXaHyu78AAAAAElFTkSuQmCC\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 01:04:54,270 alphafold2_ptm_model_3_seed_000 recycle=0 pLDDT=74.4 pTM=0.721\n", + "2023-12-08 01:05:00,044 alphafold2_ptm_model_3_seed_000 recycle=1 pLDDT=83.6 pTM=0.822 tol=0.98\n", + "2023-12-08 01:05:05,823 alphafold2_ptm_model_3_seed_000 recycle=2 pLDDT=84.2 pTM=0.828 tol=0.401\n", + "2023-12-08 01:05:11,599 alphafold2_ptm_model_3_seed_000 recycle=3 pLDDT=84 pTM=0.821 tol=0.224\n", + "2023-12-08 01:05:11,600 alphafold2_ptm_model_3_seed_000 took 23.1s (3 recycles)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABcSAAAXEgFnn9JSAAD/rUlEQVR4nOyddZwcRfqHn+ru0d1ZzyYbJwkJCRYS3CHAEfR3d7jm7nA/nOPww93t4HB3d4cAceLuybrvjnV3/f6Y9ZHuzW7QevjsJ2x3dVXN7Ey//a33rfcVUkqJQqFQKBQKhUKhUCjQfukJKBQKhUKhUCgUCsWvBSWQFAqFQqFQKBQKhaIFJZAUCoVCoVAoFAqFogUlkBQKhUKhUCgUCoWiBSWQFAqFQqFQKBQKhaIFJZAUCoVCoVAoFAqFogUlkBQKhUKhUCgUCoWiBSWQFAqFQqFQKBQKhaIFJZAUCoVCoVAoFAqFogUlkBQKhUKhUCgUCoWiBSWQFAqFQqFQKBQKhaIFJZAUCoVCoVAoFAqFogUlkBQKhUKhUCgUCoWiBSWQFAqFQqFQKBQKhaIFJZAUrtlzzz0RQrBixYpfeirdZtKkSQgh+OKLL1y1f+KJJxBCcPXVV2/UeWVCCIEQgry8PGpra1O2uemmm36WeTY1NXHHHXew11570bdvX7xeL/n5+ey0005ceeWVrFq1aqOOr1AoFBsLZdt+/bT+jdy8zhUrVrTZz9Yfn89HcXEx48eP59RTT+Xjjz9GStmr16e6zulnzz337IV3R7ExMH7pCSgUiszU1dVxxx13cO211/4i43/33Xf89a9/pbS0lGAwyI477kjfvn2pq6tjypQpfP/999xyyy2888477LPPPr/IHBUKhUKh6EhWVhaHHXYYAJZlUVtby5w5c3jkkUd45JFHGD9+PM899xwjR47sleuzs7M58cQTk/r54IMPKCsrY5dddmHEiBGdzm222Wa9+ZIVvYgSSArFr5jWlau7776bf/7zn+Tn5/+s48+cOZMJEyYQiUS45JJLuOKKK8jKymo7b9s2b7zxBhdffDFr1qz5WeemUCgUCkU6ioqKeOKJJ5KOz5o1i/PPP5/PPvuM3XffnSlTpjBo0KAeX5+u/Z577klZWRknnXQSkyZN6vkLU/wsqBA7heJXjKZpnHLKKdTX13Pbbbf9rGNLKTn++OOJRCJcffXV3HTTTZ3EUev8/vKXvzBt2jS23Xbbn3V+CoVCoVB0l6233pqPPvqI/fbbj7KyMs4999yf9XrFbwMlkH5nrF69mnPOOYeRI0cSCAQoKChg22235ZprrqG+vr5T2+bmZq677jq22GILAoEAubm57L777rzwwgvdHnfevHkce+yxlJSU4PV6GTBgACeccAILFy5MavvFF18ghGDSpEmUlpZy0kknMXDgQAzD4K677ur0Ws466yyGDx+O3++noKCAgw46iO+++y7tPB5//HHGjh1LIBCgX79+bWP0hIULF/LXv/6VwsJCsrKy2GWXXXjvvfc6tZk6dSpCCHbeeee0/dxwww0IIbjqqqu6Nf6ll15KIBDg3nvvpaqqaoNeQzrWrFnD2rVrU5774IMPmDNnDgMHDuTyyy/P2E9ubi5bbLFFr85NoVAoWlG27fdh21r36ey5557U19dz7rnnMmjQIPx+P6NHj+bOO+/Etu0evS436LrOfffdhxCCN954o9v7aHt6veI3gFT8bvjqq69kXl6eBOTQoUPl4YcfLg866CA5YsQICcgZM2a0ta2vr5fjx4+XgOzTp4887LDD5MSJE6XP55OAPOecc5L632OPPSQgly9f3un4J598IgOBgATkNttsI4866ig5duxYCcjs7Gz51VdfdWr/+eefS0AecMABcuDAgbJfv37ysMMOkwcddJB8+OGHpZRSfvfddzI/P18CctSoUfIvf/mL3G233aRhGFLXdfnCCy8kze+SSy6RgPR4PHK//faThx9+uCwuLpaDBw+WBx98sATk559/7uq9/N///icBedxxx8nc3Fy5ySabyKOOOkruvvvuUgghhRDy8ccf73TNuHHjJCDnzJmT1J9t23LYsGFS0zS5cuVKV3MApK7rUkop//nPf0pAXnLJJZ3a3HjjjRKQV111las+O1JXVydHjBghR44cKdetW5d0/swzz5SA/Oc//9ntvhUKhaK3ULbt92Pbli9fLgG54447yvHjx8u8vDz5l7/8RR500EFt7/WJJ56YdF3r38jN62wdY8iQIY5tt912WwnIp556qteuTzf3//3vf479KX49KIH0O6Gqqkr26dNHAvLWW2+VlmV1Ov/dd9/JsrKytt/POussCci99tpL1tfXtx2fP3++LC4uloB8++23O/WRyog0NjbKvn37SkDed999ndrf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MiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMiRBEkIIIYQQQogMSZCEEEIIIYQQIkMSJCGEEEIIIYTIkARJCCGEEEIIITIkQRJCCCGEEEKIDEmQhBBCCCGEECJDEiQhhBBCCCGEyJAESQghhBBCCCEyJEESQgghhBBCiAxJkIQQQgghhBAiQxIkIYQQQgghhMiQBEkIIYQQQgghMv4/ce8FHUbFyV8AAAAASUVORK5CYII=\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 01:05:17,555 alphafold2_ptm_model_4_seed_000 recycle=0 pLDDT=71 pTM=0.702\n", + "2023-12-08 01:05:23,318 alphafold2_ptm_model_4_seed_000 recycle=1 pLDDT=78.8 pTM=0.778 tol=0.867\n", + "2023-12-08 01:05:29,082 alphafold2_ptm_model_4_seed_000 recycle=2 pLDDT=78 pTM=0.763 tol=0.439\n", + "2023-12-08 01:05:34,846 alphafold2_ptm_model_4_seed_000 recycle=3 pLDDT=76.6 pTM=0.736 tol=0.257\n", + "2023-12-08 01:05:34,847 alphafold2_ptm_model_4_seed_000 took 23.1s (3 recycles)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABcSAAAXEgFnn9JSAAEAAElEQVR4nOydd3gdxdWH39ndW9WbbbljY8BgY4MhYDqYXkMJoQVIAoGEBEIg9NACgVADH6F3CIGEXo3pzcZg44J777Ka1W6/uzPfH1eSVW5ZyYJQ5s2jJ3h3dmb2XmnP/uacOUcopRQajUaj0Wg0Go1Go8H4X09Ao9FoNBqNRqPRaL4raIGk0Wg0Go1Go9FoNK1ogaTRaDQajUaj0Wg0rWiBpNFoNBqNRqPRaDStaIGk0Wg0Go1Go9FoNK1ogaTRaDQajUaj0Wg0rWiBpNFoNBqNRqPRaDStaIGk0Wg0Go1Go9FoNK1ogaTRaDQajUaj0Wg0rWiBpNFoNBqNRqPRaDStaIGk0Wg0Go1Go9FoNK1ogaTRaDQajUaj0Wg0rWiBpNFoNBqNRqPRaDStaIGk0Wg0Go1Go9FoNK1ogaRxzX777YcQglWrVv2vp9JjzjzzTIQQfPjhh67aP/744wghuPbaa7/ReWVDCIEQguLiYhobG9O2ufnmm7+VeYbDYe644w72339/+vfvj9frpaSkhIkTJ3L11VezZs2ab3R8jUaj+abQtu27T9t35OY+V61a1W4/2358Ph/9+vVjwoQJnHPOObzzzjsopfr0+nTX5frZb7/9+uDT0XwTWP/rCWg0muw0NTVxxx13cP311/9Pxp86dSrHH388GzduJBgMsvvuu9O/f3+ampr48ssv+fzzz7nlllt4/fXXOfDAA/8nc9RoNBqNpiN5eXmccMIJADiOQ2NjI/PmzePBBx/kwQcfZMKECTzzzDNss802fXJ9fn4+Z5xxRrd+Jk+eTHV1NXvuuSdbb711p3PbbbddX96ypg/RAkmj+Q7TtnJ11113ceGFF1JSUvKtjj979mwmTZpELBbj0ksv5S9/+Qt5eXnt56WUvPzyy1xyySWsW7fuW52bRqPRaDSZKC8v5/HHH+92fM6cOfzpT3/i/fffZ5999uHLL79kyJAhW3x9pvb77bcf1dXVnHXWWZx55plbfmOabwUdYqfRfIcxDIPf/OY3NDc3c9ttt32rYyul+MUvfkEsFuPaa6/l5ptv7iSO2uZ33HHHMXPmTHbZZZdvdX4ajUaj0fSUcePGMWXKFA4++GCqq6u54IILvtXrNd8PtED6gbF27VrOP/98ttlmGwKBAKWlpeyyyy5cd911NDc3d2obiUT461//ypgxYwgEAhQVFbHPPvvw7LPP9njcBQsWcOqpp1JZWYnX62XQoEGcfvrpLF68uFvbDz/8ECEEZ555Jhs3buSss85i8ODBWJbFP/7xj0738vvf/56RI0fi9/spLS3lyCOPZOrUqRnn8eijjzJ+/HgCgQADBgxoH2NLWLx4MccffzxlZWXk5eWx55578uabb3ZqM2PGDIQQ7LHHHhn7+dvf/oYQgmuuuaZH41922WUEAgH+7//+j/r6+l7dQybWrVvH+vXr056bPHky8+bNY/DgwVx55ZVZ+ykqKmLMmDF9OjeNRqNpQ9u2H4Zta9uns99++9Hc3MwFF1zAkCFD8Pv9jB49mjvvvBMp5RbdlxtM0+See+5BCMHLL7/c4320W3q95nuA0vxg+Pjjj1VxcbEC1PDhw9XPfvYzdeSRR6qtt95aAWrWrFntbZubm9WECRMUoCoqKtQJJ5ygDjvsMOXz+RSgzj///G7977vvvgpQK1eu7HT83XffVYFAQAFqp512UieddJIaP368AlR+fr76+OOPO7X/4IMPFKAOP/xwNXjwYDVgwAB1wgknqCOPPFI98MADSimlpk6dqkpKShSgtt12W3XcccepvffeW1mWpUzTVM8++2y3+V166aUKUB6PRx188MHqZz/7merXr58aOnSoOuqooxSgPvjgA1ef5WOPPaYAddppp6mioiK11VZbqZNOOknts88+SgihhBDq0Ucf7XTNzjvvrAA1b968bv1JKdWIESOUYRhq9erVruYAKNM0lVJKXXjhhQpQl156aac2N910kwLUNddc46rPjjQ1Namtt95abbPNNmrDhg3dzp933nkKUBdeeGGP+9ZoNJq+Qtu2H45tW7lypQLU7rvvriZMmKCKi4vVcccdp4488sj2z/qMM87odl3bd+TmPtvGGDZsWM62u+yyiwLUk08+2WfXZ5r7Y489lrM/zXcHLZB+INTX16uKigoFqFtvvVU5jtPp/NSpU1V1dXX7v3//+98rQO2///6qubm5/fjChQtVv379FKBee+21Tn2kMyKhUEj1799fAeqee+7p1P6OO+5QgBo8eLCKRqPtx9uMCKCOPfbYTueUSr24V1ZWKtM01dNPP93p3JdffqlKSkpUfn6+qqmpaT8+bdo0JYRQRUVF6quvvmo/3tLSog444ID28XpqRAB1+umnq2Qy2X7utddeU6ZpqmAwqNatW9d+/MEHH1SAuuCCC7r198477yhAHXbYYa7GV6qzQNq4caMKBoMqLy+v031viUBSSqm//OUvClDbbbed2rhxY6dze+65pwLUU0891au+NRqNZkvRtu2HZdvaxAegdtxxR1VbW9t+btmyZWrgwIEKUC+99FKn674pgXTWWWcpQF1++eV9dn1XtED6fqIF0g+Ev//97wpQhx56aM62oVBIBQIBZRiGWrhwYbfzd999twLUgQce2Ol4OiPy6KOPKkBNnDgx7VhtK3kdjUGbEfH5fJ0ewm3ceeedClAXXXRR2j7bjNMdd9zRfuz0009XgLr66qu7tZ8/f74SQvTKiOTn56tNmzZ1O//zn/9cAeqvf/1r+7FQKKQKCwtVaWmpisViadu/+OKLrsZXqrNAUkqpiy66qNvnsqUCSSmlrrrqKgWo7bffvtOLxnbbbacANXny5F73rdFoNFuCtm0/LNvWUSBNmTKl2/n77rtPAWrSpEmdjn9TAumyyy5TgDr33HP77PquaIH0/UTvQfqB8O677wJwzjnn5Gw7c+ZMotEoO++8c9oUk7/4xS8A+Oyzz3LGAn/yyScAnHrqqWnPn3baaZ3adWTnnXdm0KBB3Y5PmTIFgOOOOy5tn3vvvTcAX3zxRbd5nHTSSd3ab7/99owbNy7jPWTj4IMPTps57uSTT+40LqRSgp522mls2rSJF154of14XV0dL730EgMGDOCoo47q1TwALr30UvLy8rjvvvuorq7O2O7TTz9lu+22c/3z3//+F8MwWLBgAZMmTer1/DQajaav0bbth2nbSktLOeiggzKOP3Xq1G9lL5JqrWUkhPifXK/57qIF0g+EtWvXAjBy5MicbTds2ADA8OHD054vLi6mqKiIaDRKQ0PDFvXVdjxdIoChQ4emvaatWN+ee+6ZtrDarrvuCqQezl3nMWzYsKzz6Cm5+msbt41zzz0XgIceeqj92JNPPkkikeCXv/wlltX7zPoVFRWcd955RCIRbr755oztQqEQixcv7tFPmyHq+JmWlZUBUFtb2+s5azQazZagbdsP07ZlGr+oqIji4mJX31Ff0PZZl5aW/k+u13x30XWQNGnpq9WQbP34/f60x9te1k844YRuaaU78l0ssDZ27Fj22GMPPvzwQ5YuXcqoUaN45JFHEEJw1llnbXH/f/7zn7n33nu5//77ueSSS9K2OfTQQzNWCE/HU089xZlnnkl5eTnvv/9++/Hx48fz2Wef8dVXX7Wvlmo0Gs33GW3besc3bdv+V8yaNQtIeeP+F9drvrtogfQDYciQISxatIjly5czduzYrG0HDhwIwOrVq9Oeb2pqorGxkUAgkLMwaa6+2lbM0oUbZGLw4MEsXryYyy67jAkTJri6prKyklWrVrF69WpGjx7d7Xym+eUi03Vtx9vuvyPnnnsuU6dO5eGHH+boo49mwYIFHHjggYwYMaJXc+hIeXk5f/jDH7jpppu46aab0o7fE55++mnOPPNMSktLee+99zp9dkcccQT//Oc/+e9//8stt9yyRd4vjUaj6Q3atv0wbVumtNjNzc3t31FxcXGP++0JS5cuZdasWRiGwT777POtX6/5bqND7H4gHHjggQA8+OCDOdtOmDCBQCDAzJkzWbp0abfzTz/9NJAKAzCM7L8ibTHT//73v9Oeb+urrZ0b2uKSX3rpJdfXtPX/n//8p9u5RYsWMXv2bNd9dWTKlCk0NjZ2O95WT2Ovvfbqdu5nP/sZZWVlPP7449x7770AnH322b0aPx0XXXQRBQUFPPjggxlrGLmhubmZP/3pT5SUlPDee+91q2N06KGHssMOO7Bu3TpuvPHGnH3Nnz+/13PRaDSadGjb9sO0bfX19bz33nsZx584cSKmafaqbzc4jsPvf/97lFIcf/zxDB48+Fu9XvM94H+aIkLTZ9TX16vy8nIFqDvvvFNJKTudnzZtWqcMZW01bg466CAVCoXajy9evFgNGDBAAerVV1/t1EeuVKhtdR7auOuuuxSgBg0alDYVarpaB0op1dDQoPr166c8Ho964IEHuqV1TSaTavLkyerrr79uP/bZZ58pQBUXF6vZs2d3mt+BBx64RalQf/nLX3ZKhfrmm28q0zRVIBBQa9euTXv9n/70p/brKyoqVDwedzVuR+iSxa4jV155pQLa60b0NovdzJkzO6WO7cqsWbOU3+9XgLrssss6/a4olaqB8corr6hRo0bpDD0ajabP0bbth2XbOmaxGz9+vKqrq2s/t2LFCjVo0CAFqBdeeKHTdX2ZxW7OnDntKdIrKyvV+vXr+/T6rugsdt9PtED6AfHBBx+ogoICBaitttpKnXjiieqoo47KWUyvX79+6mc/+5k6/PDD21+Ge1tMb8KECerkk09WO+20U3sq0UzF9DIZEaVSRq/NKA4ZMkQddthh6pRTTlEHHHBAe8HArnUSLr74YgWpYnqHHHKIOvHEE1X//v23qJjeqaee2qmY3r777tueVvWhhx7KeP3ixYvb21188cWuxuxKNoG0adMmVVhY2G5otiTNdy4+/fTT9heFYDCoJk2apE455RR1xBFHtB/3+/3q3Xff/cbmoNFofrxo2/bDsW0dC8XuvPPO7YVijzrqKBUMBhWkith2pe07Gj16tNptt93S/vz2t7/tNEZeXp4644wz1BlnnKFOO+00ddRRR6kRI0a0281dd91VLV26NOMce3t9prlrgfT9QgukHxgrVqxQ5557rho+fLjyer2qtLRUTZgwQV1//fWdiuYplVqBuu6669T222+vfD6fKigoUHvttZd65pln0vadyYgopdS8efPUySefrPr37688Ho+qrKxUp512mlq0aFG3tm6MiFJKVVVVqUsuuUTtsMMOKhgMqmAwqEaOHKmOOeYY9fjjj6uWlpZu1zz00ENqxx13VD6fT/Xr10+ddtppav369eqMM87olRG55ppr1IIFC9QxxxyjSkpKVCAQUBMnTuxWaDAdQ4YMUUDaz8AN2QSSUkpdffXV34pAUipVlPC2225T++67r6qoqFCWZani4mK12267qWuuuSbjaqNGo9H0Bdq2/TBsW5v42HfffVVjY6P63e9+pwYOHKi8Xq/adttt1W233aZs2+52Xdt3lO1n33337TRGxx+Px6PKy8vVzjvvrH7zm9+oKVOmdPNGdp1jb6/PNHctkL5fCKV6kO5Ko9G4Ytq0aeyxxx7su+++fPjhh//r6Wg0Go1Gs8VsqW1btWoVW221lbaNmu88OkmDRvMN0JbU4Pe///3/eCYajUaj0fQN2rZpfizovL0aTR8xdepUHnnkEebNm8cXX3zBzjvvnLFiukaj0Wg03we0bdP8GNECSaPpI5YsWcKjjz5KQUFBew2hXKlkNRqNRqP5LqNtm+bHiN6DpNFoNBqNRqPRaDSt6CUAjUaj0Wg0Go1G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hBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhs2GiMAAAA8pJREFUhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghciRBEkIIIYQQQogcSZCEEEIIIYQQIkcSJCGEEEIIIYTIkQRJCCGEEEIIIXIkQRJCCCGEEEKIHEmQhBBCCCGEECJHEiQhhBBCCCGEyJEESQghhBBCCCFyJEESQgghhBBCiBxJkIQQQgghhBAiRxIkIYQQQgghhMiRBEkIIYQQQgghcv4/SGo/QkHsD+sAAAAASUVORK5CYII=\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 01:05:40,809 alphafold2_ptm_model_5_seed_000 recycle=0 pLDDT=75.6 pTM=0.776\n", + "2023-12-08 01:05:46,584 alphafold2_ptm_model_5_seed_000 recycle=1 pLDDT=81.9 pTM=0.828 tol=1.01\n", + "2023-12-08 01:05:52,360 alphafold2_ptm_model_5_seed_000 recycle=2 pLDDT=81.6 pTM=0.823 tol=0.38\n", + "2023-12-08 01:05:58,134 alphafold2_ptm_model_5_seed_000 recycle=3 pLDDT=81.8 pTM=0.822 tol=0.216\n", + "2023-12-08 01:05:58,135 alphafold2_ptm_model_5_seed_000 took 23.1s (3 recycles)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABcSAAAXEgFnn9JSAAEAAElEQVR4nOydd3wcxfmHn9m9qt4lW+69U2xjwBgDpvfei5MfoYeEEiAhEAiEHggttAAB0wKhQ+gYMLYxtnHvTbYsq/dydXd+f5wkq1zZkyXXefJRjHZnZ+ZOd/vud9533ldIKSUKhUKhUCgUCoVCoUDb1RNQKBQKhUKhUCgUit0FJZAUCoVCoVAoFAqFohklkBQKhUKhUCgUCoWiGSWQFAqFQqFQKBQKhaIZJZAUCoVCoVAoFAqFohklkBQKhUKhUCgUCoWiGSWQFAqFQqFQKBQKhaIZJZAUCoVCoVAoFAqFohklkBQKhUKhUCgUCoWiGSWQFAqFQqFQKBQKhaIZJZAUCoVCoVAoFAqFohklkBQKhUKhUCgUCoWiGSWQFAqFQqFQKBQKhaIZJZAUCoVCoVAoFAqFohklkBSWOeKIIxBCUFBQsKunEjfTp09HCMF3331nqf2///1vhBDcddddPTqvaAghEEKQlpZGTU1N2DYPPPDATplnY2Mjjz76KEceeSS5ubk4HA7S09M55JBDuPPOO9myZUuPjq9QKBQ9hbJtuz8tfyMrr7OgoKDVfrb8OJ1OcnJyGD9+PFdeeSVfffUVUspuvT7cdbF+jjjiiG54dxQ9gW1XT0ChUESntraWRx99lL/+9a+7ZPw5c+Zw1llnUVJSQkJCAgcffDC5ubnU1tYyf/58fvrpJx566CE++eQTjj766F0yR4VCoVAo2pKYmMjZZ58NgGEY1NTUsHz5cp5//nmef/55xo8fzxtvvMGwYcO65fqkpCQuu+yyTv18/vnnlJaWMnnyZIYMGdLu3IgRI7rzJSu6ESWQFIrdmJaVq8cff5wbbriB9PT0nTr+4sWLmTZtGl6vl1tvvZU77riDxMTE1vOmafLBBx9wyy23sHXr1p06N4VCoVAoIpGVlcW///3vTseXLFnCjTfeyLfffsvhhx/O/Pnz6du37w5fH6n9EUccQWlpKZdffjnTp0/f8Rem2CmoEDuFYjdG0zSuuOIK6urqeOSRR3bq2FJKLrnkErxeL3fddRcPPPBAO3HUMr8zzzyThQsXMmHChJ06P4VCoVAo4mW//fbjyy+/5Nhjj6W0tJTf/e53O/V6xZ6BEkh7GYWFhVx//fUMGzYMt9tNRkYGEyZM4O6776aurq5d26amJu655x7GjBmD2+0mNTWVww8/nLfeeivucVeuXMlFF11Er169cDgc5Ofnc+mll7JmzZpObb/77juEEEyfPp2SkhIuv/xy+vTpg81m4x//+Ee713LdddcxePBgXC4XGRkZnHzyycyZMyfiPF566SX2339/3G43eXl5rWPsCGvWrOGss84iMzOTxMREJk+ezP/+9792bRYsWIAQgkMPPTRiP/fddx9CCP7yl7/ENf5tt92G2+3mySefpLKyskuvIRJbt26lqKgo7LnPP/+c5cuX06dPH26//fao/aSmpjJmzJhunZtCoVC0oGzb3mHbWvbpHHHEEdTV1fG73/2Ovn374nK5GDlyJI899himae7Q67KCrus89dRTCCH44IMP4t5Hu6PXK/YApGKv4YcffpBpaWkSkAMGDJDnnHOOPPnkk+WQIUMkIBctWtTatq6uTo4fP14CMjs7W5599tnyhBNOkE6nUwLy+uuv79T/1KlTJSA3bdrU7vjXX38t3W63BOQBBxwgzz//fLn//vtLQCYlJckffvihXfuZM2dKQJ544omyT58+Mi8vT5599tny5JNPls8995yUUso5c+bI9PR0Ccjhw4fLM888U06ZMkXabDap67p86623Os3v1ltvlYC02+3y2GOPleecc47MycmR/fr1k6eccooE5MyZMy29ly+//LIE5MUXXyxTU1PlwIED5fnnny8PP/xwKYSQQgj50ksvtbvmwAMPlIBcvnx5p/5M05SDBg2SmqbJzZs3W5oDIHVdl1JKecMNN0hA3nrrre3a3H///RKQf/nLXyz12Zba2lo5ZMgQOWzYMLlt27ZO56+99loJyBtuuCHuvhUKhaK7ULZt77FtmzZtkoA8+OCD5fjx42VaWpo888wz5cknn9z6Xl922WWdrmv5G1l5nS1j9O/fP2bbCRMmSEC++uqr3XZ9pLm//PLLMftT7D4ogbSXUFlZKbOzsyUgH374YWkYRrvzc+bMkaWlpa2/X3fddRKQRx55pKyrq2s9vmrVKpmTkyMB+fHHH7frI5wRaWhokLm5uRKQTz31VLv2jz76qARknz59pMfjaT3eYkQAecYZZ7Q7J2Xowb1Xr15S13X52muvtTs3f/58mZ6eLpOSkmRZWVnr8blz50ohhExNTZW//PJL6/H6+np51FFHtY4XrxEB5KWXXioDgUDruY8//ljqui4TEhLk1q1bW48///zzEpC/+93vOvX31VdfSUCecMIJlsaXsr1AKikpkQkJCTIxMbHd694RgSSllHfccYcE5IgRI2RJSUm7c5MnT5aAnDFjRpf6VigUih1F2ba9y7a1iA9Ajhs3TpaXl7eeW79+vezdu7cE5Pvvv9/uup4SSJdffrkE5B//+Mduu74jSiDtmSiBtJfw4IMPSkAef/zxMds2NDRIt9stNU2Tq1at6nT+iSeekIA8+uij2x0PZ0ReeuklCchDDjkk7FgtK3ltjUGLEXE6ne1uwi089thjEpA33XRT2D5bjNOjjz7aeuzSSy+VgLzzzjs7tV+xYoUUQnTJiCQlJcmqqqpO58877zwJyHvuuaf1WENDg0xJSZEZGRnS6/WGbf/ee+9ZGl/K9gJJSilvuummTu/LjgokKaX885//LAE5atSodg8aI0aMkID8/PPPu9y3QqFQ7AjKtu1dtq2tQPryyy87nX/mmWckIKdNm9bueE8JpNtuu00C8qqrruq26zuiBNKeidqDtJfw9ddfA3DllVfGbLtw4UI8Hg8HHnhg2BSTl1xyCQCzZ8+OGQs8a9YsAC666KKw5y+++OJ27dpy4IEHkp+f3+n4l19+CcCZZ54Zts8pU6YA8PPPP3eax/nnn9+p/ahRo9hvv/0ivoZoHHvssWEzx11wwQXtxoVQStCLL76Yqqoq3n333dbjFRUVvP/+++Tl5XHKKad0aR4At956K4mJiTzzzDOUlpZGbPfjjz8yYsQIyz/vvPMOmqaxcuVKpk2b1uX5KRQKRXejbNveadsyMjI45phjIo4/Z86cnbIXSTbXMhJC7JLrFbsvSiDtJRQWFgIwePDgmG23bdsGwIABA8KeT0tLIzU1FY/HQ3V19Q711XI8XCKAfv36hb2mpVjf5MmTwxZWmzhxIhC6OXecR//+/aPOI15i9dcybgtXXXUVAC+88ELrsVdffRW/38+vfvUrbLauZ9bPzs7m2muvpampiQceeCBiu4aGBtasWRPXT4shavueZmZmAlBeXt7lOSsUCsWOoGzb3mnbIo2fmppKWlqapb9Rd9DyXmdkZOyS6xW7L6oOkiIs3bUaEq0fl8sV9njLw/rZZ5/dKa10W3bHAmtjx47l0EMP5bvvvmPdunUMHTqUF198ESEEl19++Q73/4c//IF//vOfPPvss9xyyy1h2xx//PERK4SHY8aMGUyfPp2srCy+/fbb1uP7778/s2fP5pdffmldLVUoFIo9GWXbukZP27ZdxaJFi4CQN25XXK/YfVECaS+hb9++rF69mg0bNjB27NiobXv37g3A5s2bw56vra2lpqYGt9sdszBprL5aVszChRtEok+fPqxZs4bbbruN8ePHW7qmV69eFBQUsHnzZkaOHNnpfKT5xSLSdS3HW15/W6666irmzJnDv/71L0499VRWrlzJ0UcfzaBBg7o0h7ZkZWXx29/+lvvvv5/7778/7Pjx8NprrzF9+nQyMjL45ptv2r13J510Ek8//TTvvPMODz300A55vxQKhaIrKNu2d9q2SGmx6+rqWv9GaWlpcfcbD+vWrWPRokVomsbhhx++069X7N6oELu9hKOPPhqA559/Pmbb8ePH43a7WbhwIevWret0/rXXXgNCYQCaFv0j0hIz/eabb4Y939JXSzsrtMQlv//++5avaen/7bff7nRu9erVLF682HJfbfnyyy+pqanpdLylnsZhhx3W6dw555xDZmYm//73v/nnP/8JwG9+85sujR+Om266ieTkZJ5//vmINYysUFdXx4033kh6ejrffPNNpzpGxx9/PKNHj2br1q387W9/i9nXihUrujwXhUKhCIeybXunbausrOSbb76JOP4hhxyCrutd6tsKhmFw3XXXIaXkrLPOok+fPjv1esUewC5NEaHoNiorK2VWVpYE5GOPPSZN02x3fu7cue0ylLXUuDnmmGNkQ0ND6/E1a9bIvLw8CciPPvqoXR+xUqG21Hlo4fHHH5eAzM/PD5sKNVytAymlrK6uljk5OdJut8vnnnuuU1rXQCAgP//8c7ls2bLWY7Nnz5aATEtLk4sXL243v6OPPnqHUqH+6le/apcK9X//+5/UdV263W5ZWFgY9vobb7yx9frs7Gzp8/ksjdsWOmSxa8vtt98ugda6EV3NYrdw4cJ2qWM7smjRIulyuSQgb7vttnafFSlDNTA+/PBDOXToUJWhR6FQdDvKtu1dtq1tFrv9999fVlRUtJ7buHGjzM/Pl4B8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CCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIk4CJCGEEEIIIYSIkwBJCCGEEEIIIeIkQBJCCCGEEEKIOAmQhBBCCCGEECJOAiQhhBBCCCGEiJMASQghhBBCCCHiJEASQgghhBBCiDgJkIQQQgghhBAiTgIkIYQQQgghhIiTAEkIIYQQQggh4iRAEkIIIYQQQog4CZCEEEIIIYQQIu7/AS8pR3htUnJ7AAAAAElFTkSuQmCC\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 01:05:58,341 reranking models by 'plddt' metric\n", + "2023-12-08 01:05:58,341 rank_001_alphafold2_ptm_model_3_seed_000 pLDDT=84 pTM=0.821\n", + "2023-12-08 01:05:58,342 rank_002_alphafold2_ptm_model_5_seed_000 pLDDT=81.8 pTM=0.822\n", + "2023-12-08 01:05:58,343 rank_003_alphafold2_ptm_model_1_seed_000 pLDDT=81.1 pTM=0.798\n", + "2023-12-08 01:05:58,343 rank_004_alphafold2_ptm_model_2_seed_000 pLDDT=79.4 pTM=0.789\n", + "2023-12-08 01:05:58,344 rank_005_alphafold2_ptm_model_4_seed_000 pLDDT=76.6 pTM=0.736\n", + "2023-12-08 01:06:00,018 Done\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ], + "source": [ + "#@title # **6. Run Prediction** { display-mode: \"form\" }\n", + "\n", + "display_images = True #@param {type:\"boolean\"}\n", + "\n", + "\n", + "import sys\n", + "import warnings\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)\n", + "from Bio import BiopythonDeprecationWarning\n", + "warnings.simplefilter(action='ignore', category=BiopythonDeprecationWarning)\n", + "from pathlib import Path\n", + "from colabfold.download import download_alphafold_params, default_data_dir\n", + "from colabfold.utils import setup_logging\n", + "from colabfold.batch import get_queries, run, set_model_type\n", + "from colabfold.plot import plot_msa_v2\n", + "\n", + "import os\n", + "import numpy as np\n", + "try:\n", + " K80_chk = os.popen('nvidia-smi | grep \"Tesla K80\" | wc -l').read()\n", + "except:\n", + " K80_chk = \"0\"\n", + " pass\n", + "if \"1\" in K80_chk:\n", + " print(\"WARNING: found GPU Tesla K80: limited to total length < 1000\")\n", + " if \"TF_FORCE_UNIFIED_MEMORY\" in os.environ:\n", + " del os.environ[\"TF_FORCE_UNIFIED_MEMORY\"]\n", + " if \"XLA_PYTHON_CLIENT_MEM_FRACTION\" in os.environ:\n", + " del os.environ[\"XLA_PYTHON_CLIENT_MEM_FRACTION\"]\n", + "\n", + "from colabfold.colabfold import plot_protein\n", + "from pathlib import Path\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# For some reason we need that to get pdbfixer to import\n", + "if use_amber and f\"/usr/local/lib/python{python_version}/site-packages/\" not in sys.path:\n", + " sys.path.insert(0, f\"/usr/local/lib/python{python_version}/site-packages/\")\n", + "\n", + "def input_features_callback(input_features):\n", + " if display_images:\n", + " plot_msa_v2(input_features)\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "def prediction_callback(protein_obj, length,\n", + " prediction_result, input_features, mode):\n", + " model_name, relaxed = mode\n", + " if not relaxed:\n", + " if display_images:\n", + " fig = plot_protein(protein_obj, Ls=length, dpi=150)\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "result_dir = jobname\n", + "log_filename = os.path.join(jobname,\"log.txt\")\n", + "setup_logging(Path(log_filename))\n", + "\n", + "queries, is_complex = get_queries(queries_path)\n", + "model_type = set_model_type(is_complex, model_type)\n", + "\n", + "if \"multimer\" in model_type and max_msa is not None:\n", + " use_cluster_profile = False\n", + "else:\n", + " use_cluster_profile = True\n", + "\n", + "download_alphafold_params(model_type, Path(\".\"))\n", + "results = run(\n", + " queries=queries,\n", + " result_dir=result_dir,\n", + " use_templates=use_templates,\n", + " custom_template_path=custom_template_path,\n", + " num_relax=num_relax,\n", + " msa_mode=msa_mode,\n", + " model_type=model_type,\n", + " num_models=5,\n", + " num_recycles=num_recycles,\n", + " relax_max_iterations=relax_max_iterations,\n", + " recycle_early_stop_tolerance=recycle_early_stop_tolerance,\n", + " num_seeds=num_seeds,\n", + " use_dropout=use_dropout,\n", + " model_order=[1,2,3,4,5],\n", + " is_complex=is_complex,\n", + " data_dir=Path(\".\"),\n", + " keep_existing_results=False,\n", + " rank_by=\"auto\",\n", + " pair_mode=pair_mode,\n", + " pairing_strategy=pairing_strategy,\n", + " stop_at_score=float(100),\n", + " prediction_callback=prediction_callback,\n", + " dpi=dpi,\n", + " zip_results=False,\n", + " save_all=save_all,\n", + " max_msa=max_msa,\n", + " use_cluster_profile=use_cluster_profile,\n", + " input_features_callback=input_features_callback,\n", + " save_recycles=save_recycles,\n", + " user_agent=\"colabfold/google-colab-main\",\n", + ")\n", + "results_zip = f\"{jobname}.result.zip\"\n", + "os.system(f\"zip -r {results_zip} {jobname}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "KK7X9T44pWb7", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 534 + }, + "collapsed": true, + "outputId": "5b6a79ea-fa87-4104-9730-f29b67de9d45" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Prediction: Rank 1\n" + ] + }, + { + "output_type": "display_data", + "data": { + "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", + "text/html": [ + "
\n", + "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", + " jupyter labextension install jupyterlab_3dmol

\n", + "
\n", + "" + ] + }, + "metadata": {} + } + ], + "source": [ + "# @title # **7. Visualize 3D Structure of ColabFold Prediction** { run: \"auto\", display-mode: \"form\" }\n", + "\n", + "#@markdown Rank number/score for the **monomer model is the average pLDDT**,\n", + "#@markdown where a ranking of 1 correlates better local structure confidence.\n", + "#@markdown An acceptable model prediction should average $\\ge 85$.\n", + "#@markdown The number of ranked models was set in step `6. Run Prediction` (step 6, line 75.).\n", + "\n", + "#@markdown \\\n", + "#@markdown Here, you can change the value for `rank_num` to visualize the 5 predictions.\n", + "\n", + "import py3Dmol\n", + "import glob\n", + "import matplotlib.pyplot as plt\n", + "from colabfold.colabfold import plot_plddt_legend\n", + "from colabfold.colabfold import pymol_color_list, alphabet_list\n", + "\n", + "rank_num = 1 #@param [\"1\", \"2\", \"3\", \"4\", \"5\"] {type:\"raw\"}\n", + "color = \"rainbow\" #@param [\"chain\", \"lDDT\", \"rainbow\"]\n", + "show_sidechains = False #@param {type:\"boolean\"}\n", + "show_mainchains = False #@param {type:\"boolean\"}\n", + "\n", + "tag = results[\"rank\"][0][rank_num - 1]\n", + "jobname_prefix = \".custom\" if msa_mode == \"custom\" else \"\"\n", + "pdb_filename = f\"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb\"\n", + "pdb_file = glob.glob(pdb_filename)\n", + "\n", + "def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color=\"lDDT\"):\n", + " model_name = f\"rank_{rank_num}\"\n", + " view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)\n", + " view.addModel(open(pdb_file[0],'r').read(),'pdb')\n", + "\n", + "\n", + " if color == \"lDDT\":\n", + " view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})\n", + " elif color == \"rainbow\":\n", + " view.setStyle({'cartoon': {'color':'spectrum'}})\n", + " elif color == \"chain\":\n", + " chains = len(queries[0][1]) + 1 if is_complex else 1\n", + " for n,chain,color in zip(range(chains),alphabet_list,pymol_color_list):\n", + " view.setStyle({'chain':chain},{'cartoon': {'color':color}})\n", + "\n", + " if show_sidechains:\n", + " BB = ['C','O','N']\n", + " view.addStyle({'and':[{'resn':[\"GLY\",\"PRO\"],'invert':True},{'atom':BB,'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"GLY\"},{'atom':'CA'}]},\n", + " {'sphere':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"PRO\"},{'atom':['C','O'],'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " if show_mainchains:\n", + " BB = ['C','O','N','CA']\n", + " view.addStyle({'atom':BB},{'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}}, viewer=(0,0))\n", + "\n", + " view.zoomTo()\n", + " return view\n", + "\n", + "print('Prediction: Rank %d' % rank_num)\n", + "show_pdb(rank_num, show_sidechains, show_mainchains, color).show()\n", + "if color == \"lDDT\":\n", + " plot_plddt_legend().show()\n", + "\n", + "\n", + "#@markdown \\" + ] + }, + { + "cell_type": "code", + "source": [ + "# @title # **8. Align PDBs** { run: \"auto\", display-mode: \"form\" }\n", + "#@markdown We can compare the predictions with experiment.\n", + "#@markdown Example: PDB 1F16 was obtained from NMR, so there is an ensemble of structures.\n", + "\n", + "import Bio.PDB\n", + "\n", + "pdb_code = \"1f16\" #@param{type:\"string\"}\n", + "#@markdown - Reference PDB (Experiment)\n", + "cpred = \"\"#@param{type:\"string\"}\n", + "#@markdown - Color for Reference PDB (Experiment)\n", + "os.system(\"wget -qnc https://files.rcsb.org/download/%s.pdb.gz; gunzip %s.pdb.gz\" % (pdb_code,pdb_code))\n", + "\n", + "start_id = 1\n", + "end_id = len(query_sequence)\n", + "atoms_to_be_aligned = range(start_id, end_id + 1)\n", + "\n", + "# Start the parser\n", + "pdb_parser = Bio.PDB.PDBParser(QUIET = True)\n", + "\n", + "# Get the structures\n", + "ref_structure = pdb_parser.get_structure(\"reference\", \"%s.pdb\" % pdb_code)\n", + "sample_structure = pdb_parser.get_structure(\"sample\", pdb_file[0])\n", + "\n", + "# Use the first model in the pdb-files for alignment\n", + "# Change the number 0 if you want to align to another structure\n", + "ref_model = ref_structure[0]\n", + "sample_model = sample_structure[0]\n", + "\n", + "# Make a list of the atoms (in the structures) you wish to align.\n", + "# In this case we use CA atoms whose index is in the specified range\n", + "ref_atoms = []\n", + "sample_atoms = []\n", + "\n", + "# Iterate of all chains in the model in order to find all residues\n", + "for ref_chain in ref_model:\n", + " # Iterate of all residues in each model in order to find proper atoms\n", + " for ref_res in ref_chain:\n", + " # Check if residue number ( .get_id() ) is in the list\n", + " if ref_res.get_id()[1] in atoms_to_be_aligned:\n", + " # Append CA atom to list\n", + " ref_atoms.append(ref_res['CA'])\n", + "\n", + "# Do the same for the sample structure\n", + "for sample_chain in sample_model:\n", + " for sample_res in sample_chain:\n", + " if sample_res.get_id()[1] in atoms_to_be_aligned:\n", + " sample_atoms.append(sample_res['CA'])\n", + "\n", + "# Now we initiate the superimposer:\n", + "super_imposer = Bio.PDB.Superimposer()\n", + "super_imposer.set_atoms(ref_atoms, sample_atoms)\n", + "super_imposer.apply(sample_model.get_atoms())\n", + "\n", + "# Print RMSD:\n", + "print('The calculated RMSD is: %.3f Å' % super_imposer.rms)\n", + "\n", + "# Save the aligned version of one of the chains of 6ANE\n", + "io = Bio.PDB.PDBIO()\n", + "io.set_structure(sample_structure)\n", + "io.save(\"%s-aligned.pdb\" % jobname)\n", + "print('Saved Aligned PDB.')\n", + "\n", + "# rank_num = 1 #@param [\"1\", \"2\", \"3\", \"4\", \"5\"] {type:\"raw\"}\n", + "# #@markdown - Predicted PDB (AF/CF)\n", + "# color = \"lDDT\" #@param [\"chain\", \"lDDT\", \"rainbow\"]\n", + "# #@markdown - Color Predicted PDB (Default: lDDT)\n", + "# tag = results[\"rank\"][0][rank_num - 1]\n", + "# jobname_prefix = \".custom\" if msa_mode == \"custom\" else \"\"\n", + "# pdb_filename = f\"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb\"\n", + "# pdb_file = glob.glob(pdb_filename)\n", + "\n", + "# how_sidechains = False #@param {type:\"boolean\"}\n", + "# show_mainchains = False #@param {type:\"boolean\"}\n", + "\n", + "view=py3Dmol.view()\n", + "view.addModel(open(\"%s-aligned.pdb\" % jobname).read(),'pdb')\n", + "# view.addModel(open(\"%s.pdb\" % pdb_code).read())\n", + "view.zoomTo()\n", + "view.setBackgroundColor('white')\n", + "view.setStyle({'chain':'A'},{'cartoon': {'color': 'red'}})\n", + "view.setStyle({'chain':'B'},{'cartoon': {'color': 'blue'}})\n", + "view.show()\n", + "\n", + "# show_pdb(rank_num, show_sidechains, show_mainchains, color).show()\n", + "# if color == \"lDDT\":\n", + "# plot_plddt_legend().show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 551 + }, + "collapsed": true, + "id": "aA_ldVyPrSWt", + "outputId": "e474d900-1469-4198-fa88-f547c5c702c3" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "The calculated RMSD is: 5.711 Å\n", + "Saved Aligned PDB.\n" + ] + }, + { + "output_type": "display_data", + "data": { + "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", + "text/html": [ + "
\n", + "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", + " jupyter labextension install jupyterlab_3dmol

\n", + "
\n", + "" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "cellView": "form", + "id": "33g5IIegij5R", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + }, + "outputId": "0f0e3801-536c-4492-d1b5-4db1b5939e69" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "application/javascript": [ + "\n", + " async function download(id, filename, size) {\n", + " if (!google.colab.kernel.accessAllowed) {\n", + " return;\n", + " }\n", + " const div = document.createElement('div');\n", + " const label = document.createElement('label');\n", + " label.textContent = `Downloading \"${filename}\": `;\n", + " div.appendChild(label);\n", + " const progress = document.createElement('progress');\n", + " progress.max = size;\n", + " div.appendChild(progress);\n", + " document.body.appendChild(div);\n", + "\n", + " const buffers = [];\n", + " let downloaded = 0;\n", + "\n", + " const channel = await google.colab.kernel.comms.open(id);\n", + " // Send a message to notify the kernel that we're ready.\n", + " channel.send({})\n", + "\n", + " for await (const message of channel.messages) {\n", + " // Send a message to notify the kernel that we're ready.\n", + " channel.send({})\n", + " if (message.buffers) {\n", + " for (const buffer of message.buffers) {\n", + " buffers.push(buffer);\n", + " downloaded += buffer.byteLength;\n", + " progress.value = downloaded;\n", + " }\n", + " }\n", + " }\n", + " const blob = new Blob(buffers, {type: 'application/binary'});\n", + " const a = document.createElement('a');\n", + " a.href = window.URL.createObjectURL(blob);\n", + " a.download = filename;\n", + " div.appendChild(a);\n", + " a.click();\n", + " div.remove();\n", + " }\n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "application/javascript": [ + "download(\"download_d2010ba7-b6ad-46a1-a55a-49808bff52f7\", \"colabfoldbax1f16_f85cf.result.zip\", 1846420)" + ] + }, + "metadata": {} + } + ], + "source": [ + "#@title **9. Package and Download**\n", + "\n", + "#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \\\"Download\\\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).\n", + "\n", + "if msa_mode == \"custom\":\n", + " print(\"Don't forget to cite your custom MSA generation method.\")\n", + "\n", + "files.download(f\"{jobname}.result.zip\")\n", + "\n", + "if save_to_google_drive == True and drive:\n", + " uploaded = drive.CreateFile({'title': f\"{jobname}.result.zip\"})\n", + " uploaded.SetContentFile(f\"{jobname}.result.zip\")\n", + " uploaded.Upload()\n", + " print(f\"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "P_yNIT-iBd65" + }, + "source": [ + "Colab notebooks are adapted from:\n", + " - [AlphaFold2 Colab](https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/AlphaFold2.ipynb)\n", + " - [Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all.\n", + "*Nature Methods*, 2022](https://www.nature.com/articles/s41592-022-01488-1)\n", + "\n", + "*From the original notebook:*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UGUBLzB3C6WN" + }, + "source": [ + "> \n", + ">\n", + "> ## ColabFold v1.5.3: AlphaFold2 using MMseqs2\n", + ">\n", + "> Easy to use protein structure and complex prediction using [AlphaFold2](https://www.nature.com/articles/s41586-021-03819-2) and [Alphafold2-multimer](https://www.biorxiv.org/content/10.1101/2021.10.04.463034v1). Sequence alignments/templates are generated through [MMseqs2](mmseqs.com) and [HHsearch](https://github.com/soedinglab/hh-suite). For more details, see bottom of the notebook, checkout the [ColabFold GitHub](https://github.com/sokrypton/ColabFold) and read our manuscript.\n", + ">\n", + "> Old versions: [v1.4](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.4.0/AlphaFold2.ipynb), [v1.5.1](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.5.1/AlphaFold2.ipynb), [v1.5.2](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.5.2/AlphaFold2.ipynb)\n", + ">\n", + "> [Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all.\n", + "> *Nature Methods*, 2022](https://www.nature.com/articles/s41592-022-01488-1)\n", + ">\n", + "> -----------\n", + ">\n", + "> ### News\n", + "> - 2023/07/31: The ColabFold MSA server is back to normal. It was using older DB (UniRef30 2202/PDB70 220313) from 27th ~8:30 AM CEST to 31st ~11:10 AM CEST.\n", + "> - 2023/06/12: New databases! UniRef30 updated to 2023_02 and PDB to 230517. We now use PDB100 instead of PDB70 (see [notes](#pdb100)).\n", + "> - 2023/06/12: We introduced a new default pairing strategy: Previously, for multimer predictions with more than 2 chains, we only pair if all sequences taxonomically match (\"complete\" pairing). The new default \"greedy\" strategy pairs any taxonomically matching subsets.\n", + ">\n", + "># Instructions \n", + ">\n", + "> **Quick start**\n", + "> 1. Paste your protein sequence(s) in the input field.\n", + "> 2. Press \"Runtime\" -> \"Run all\".\n", + "> 3. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.\n", + ">\n", + "> **Result zip file contents**\n", + ">\n", + "> 1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if `use_amber` is enabled).\n", + "> 2. Plots of the model quality.\n", + "> 3. Plots of the MSA coverage.\n", + "> 4. Parameter log file.\n", + "> 5. A3M formatted input MSA.\n", + "> 6. A `predicted_aligned_error_v1.json` using [AlphaFold-DB's format](https://alphafold.ebi.ac.uk/faq#faq-7) and a `scores.json` for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.\n", + "> 7. BibTeX file with citations for all used tools and databases.\n", + ">\n", + "> At the end of the job a download modal box will pop up with a `jobname.result.zip` file. Additionally, if the `save_to_google_drive` option was selected, the `jobname.result.zip` will be uploaded to your Google Drive.\n", + "> \n", + ">\n", + "> **License**\n", + "> githubusercontent.com/sokrypton/ColabFold/main/LICENSE). Additionally, this > notebook uses the AlphaFold2 source code and its parameters licensed under [Apache 2.0](https://raw.githubusercontent.com/deepmind/alphafold/main/LICENSE) > and [CC BY 4.0](https://creativecommons.org/licenses/by-sa/4.0/) respectively. Read more about the AlphaFold license [here](https://github.com/deepmind/> alphafold).\n", + ">\n", + "> **Acknowledgments**\n", + "> - We thank the AlphaFold team for developing an excellent model and open > sourcing the software.\n", + ">\n", + "> - [KOBIC](https://kobic.re.kr) and [Söding Lab](https://www.mpinat.mpg.de/soeding) for providing the computational resources for the MMseqs2 MSA server.\n", + ">\n", + "> - Richard Evans for helping to benchmark the ColabFold's Alphafold-multimer support.\n", + ">\n", + "> - [David Koes](https://github.com/dkoes) for his awesome [py3Dmol](https://3dmol.csb.pitt.edu/) plugin, without whom these notebooks would be quite boring!\n", + ">\n", + "> - Do-Yoon Kim for creating the ColabFold logo.\n", + ">\n", + "> - A colab by Sergey Ovchinnikov ([@sokrypton](https://twitter.com/sokrypton)), Milot Mirdita ([@milot_mirdita](https://twitter.com/milot_mirdita)) and Martin Steinegger ([@thesteinegger](https://twitter.com/thesteinegger)).\n", + ">\n", + "\n", + "\n" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [], + "gpuType": "T4", + "cell_execution_strategy": "setup", + "machine_shape": "hm", + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/_sources/ColabFold/Tutorial_Multimer.ipynb b/_sources/ColabFold/Tutorial_Multimer.ipynb new file mode 100644 index 0000000..b19448d --- /dev/null +++ b/_sources/ColabFold/Tutorial_Multimer.ipynb @@ -0,0 +1,662 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "source": [ + "%%time\n", + "\n", + "# @title **Install Python Packages** { run: \"auto\", display-mode: \"form\" }\n", + "\n", + "import os\n", + "from sys import version_info\n", + "PYTHON_VERSION = f\"{version_info.major}.{version_info.minor}\"\n", + "\n", + "if not os.path.isfile(\"COLABFOLD_READY\"):\n", + " print(\"installing colabfold...\")\n", + " os.system(\"pip install -q --no-warn-conflicts 'colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold'\")\n", + " os.system(\"pip install --upgrade dm-haiku\")\n", + " os.system(\"ln -s /usr/local/lib/python3.*/dist-packages/colabfold colabfold\")\n", + " os.system(\"ln -s /usr/local/lib/python3.*/dist-packages/alphafold alphafold\")\n", + " # patch for jax > 0.3.25\n", + " os.system(\"sed -i 's/weights = jax.nn.softmax(logits)/logits=jnp.clip(logits,-1e8,1e8);weights=jax.nn.softmax(logits)/g' alphafold/model/modules.py\")\n", + " os.system(\"touch COLABFOLD_READY\")\n", + "\n", + "\n", + "if not os.path.isfile(\"CONDA_READY\"):\n", + " print(\"installing conda...\")\n", + " os.system(\"wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh\")\n", + " os.system(\"bash Miniforge3-Linux-x86_64.sh -bfp /usr/local\")\n", + " os.system(\"conda config --set auto_update_conda false\")\n", + " os.system(\"touch CONDA_READY\")\n", + "\n", + "\n", + "if not os.path.isfile(\"CONDA_READY\"):\n", + " print(\"installing conda...\")\n", + " os.system(\"wget -qnc https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh\")\n", + " os.system(\"bash Mambaforge-Linux-x86_64.sh -bfp /usr/local\")\n", + " os.system(\"mamba config --set auto_update_conda false\")\n", + " os.system(\"touch CONDA_READY\")\n", + "\n", + "\n", + "if not os.path.isfile(\"HH_READY\") and not os.path.isfile(\"AMBER_READY\"):\n", + " print(\"installing hhsuite and amber...\")\n", + " os.system(f\"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer\")\n", + " os.system(\"touch HH_READY\")\n", + " os.system(\"touch AMBER_READY\")\n", + "else:\n", + " if not os.path.isfile(\"HH_READY\"):\n", + " print(\"installing hhsuite...\")\n", + " os.system(f\"mamba install -y -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python='{PYTHON_VERSION}'\")\n", + " os.system(\"touch HH_READY\")\n", + " if not os.path.isfile(\"AMBER_READY\"):\n", + " print(\"installing amber...\")\n", + " os.system(f\"mamba install -y -c conda-forge openmm=7.7.0 python='{PYTHON_VERSION}' pdbfixer\")\n", + " os.system(\"touch AMBER_READY\")\n" + ], + "metadata": { + "collapsed": true, + "id": "CX768sUrS7lV" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uTVzPTKjTjXX" + }, + "source": [ + "# 1. **ColabFold Tutorial:** Predicting Protein-Protein Complexes of TA Systems\n", + "\n", + "Like the monomer example, we will use the default options set by Steinegger *et al.* which excludes Amber minimization and structure templates.\n", + "\n", + "Predicting the structure of protein complexes can be investigated using the AlphaFold oligomers\n", + "\n", + "There are subtle differences when running the AF-Multimer externsion:\n", + "\n", + "- Model confidence metric is iPTM\n", + " - Interference predicted template modelling score\n", + "- Better for homomeric interfaces than for heteromeric interfaces (high conservation)\n", + "- COM between chains are added to the loss function\n", + "\n", + "This example focuses on a toxin-antitoxin (TA) protein system, prevalent in bacterial systems. Toxins, or over-expressed proteins, become accumulated in the cell causing disturbing other cellular processes. Yet, their natural role aids in infections and apoptosis. Antitoxin, protein or RNA, can neutralize the toxin by forming stable complexes. How does the protein-protein interactions maintianing a balance between the toxin and antitoxin. \n", + "\n", + "We will predict the TA complex in *Vibrio cholerae*, specifically, VCParD1/2 (antitoxin) and VcParE (toxin)1/2.\n", + "\n", + "**a. Background**\n", + " - TA systems are essential in maintaining cellular homeostasis\n", + " - Low sequence similariy to maintain specificity towards cognate receptor\n", + " - ParDE was the first TA system to be identified as a stabilizing element upon plasmisd loss\n", + " - Potential in biotechnological applications\n", + "\n", + "**b. ParE attenuates Toxicity Protecting Cells**\n", + " - ParE can inhibit DNA gyrase supercoiling\n", + " - Protects from anti-gyrase antibiotitcs\n", + " - At the same time ParD is degraded\n", + " - C-terminal domain is key to formation of PaParDE complexes\n", + " \n", + "The C-terminal residues of ParD was found to be crucial in formation and stabilizatino of toxin-antitoxin complexes. This resulted in protection from proteases and attenuates toxicitiy from antibiotics in bacterial systems.\n", + "\n", + "Interestingly, structure-based studies have resolved several oligomeric TA complexes. Despite low sequence similarity, their structure is highly conserved. Let's investivate VcParDE and later compare it with PaParDE.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kOblAo-xetgx" + }, + "outputs": [], + "source": [ + "#@title # **2. Notebook Setup** { display-mode: \"form\" }\n", + "\n", + "from google.colab import files\n", + "import os\n", + "import re\n", + "import hashlib\n", + "import random\n", + "\n", + "from sys import version_info\n", + "python_version = f\"{version_info.major}.{version_info.minor}\"\n", + "\n", + "def add_hash(x,y):\n", + " return x+\"_\"+hashlib.sha1(y.encode()).hexdigest()[:5]\n", + "\n", + "#@markdown \\\n", + "#@markdown ##a. Protein Sequence for Structure Prediction\n", + "#@markdown For bax (human), the amino acid sequence was obtained from\n", + "#@markdown UniProt ([Q07812](https://www.uniprot.org/uniprotkb/Q07812/entry))\n", + "query_sequence = 'MHTLTANDAKRNFGELLLSAQREPVIISKNSKNTVVVMSIKDFEELEAMKLDYLKHCFESAQKDLDSGKTVDGATFLNTL:MQNKQYKLSQLAQEHLLKIKHYTIENFAEAQWQKYKSTLLSGFQTLADNPGLGKSCEDIYQNGFYFPVGKHMAYYTKEANFILIVAVLGQSQLPQKHLKQSRFVS:MAKNTSITLGEHFDGFITSQIQSGRYGSASEVIRSALRLLENQETKLQSLRQLLIEGEQSGDADYDLDSFINELDSENI:MKPFNLTVAAKADLRDIALFTQRRWGKEQRNVYLKQFDDSFWLLAENPDIGKSCDEIREGYRKFPQGSHVIFYQQTGSQQIRVIRILHKSMDVNPIFGA ' #@param {type:\"string\"}\n", + "#@markdown **Note:** For modeling complexes, use `:` to specify inter-protein chainbreaks\n", + "#@markdown (supports homo- and hetro-oligomers).\n", + "#@markdown For example, **PI...SK:PI...SK** for a homodimer.\n", + "\n", + "#@markdown \\\n", + "#@markdown ## b. Job Name (also name of saving directory)\n", + "jobname = '' #@param {type:\"string\"}\n", + "\n", + "#@markdown \\\n", + "#@markdown ## c. Number of predicted models to relax using Amber\n", + "num_relax = 5 #@param [0, 1, 5] {type:\"raw\"}\n", + "\n", + "#@markdown \\\n", + "#@markdown ## **d. Option for Structure Template**\n", + "#@markdown Search for PDB structure (xyz-coordinates)\n", + "template_mode = \"none\" #@param [\"none\", \"pdb100\",\"custom\"]\n", + "#@markdown `none` = no template information is used. \\\n", + "#@markdown `pdb100` = detect templates in pdb100 (see [notes](#pdb100)). \\\n", + "#@markdown `custom` - upload and search own templates (PDB or mmCIF format, see [notes](#custom_templates))\n", + "\n", + "use_amber = num_relax > 0\n", + "\n", + "query_sequence = \"\".join(query_sequence.split()) # remove whitespaces\n", + "\n", + "basejobname = \"\".join(jobname.split())\n", + "basejobname = re.sub(r'\\W+', '', basejobname)\n", + "jobname = add_hash(basejobname, query_sequence)\n", + "\n", + "# check if directory with jobname exists\n", + "def check(folder):\n", + " if os.path.exists(folder):\n", + " return False\n", + " else:\n", + " return True\n", + "if not check(jobname):\n", + " n = 0\n", + " while not check(f\"{jobname}_{n}\"): n += 1\n", + " jobname = f\"{jobname}_{n}\"\n", + "\n", + "# make directory to save results\n", + "os.makedirs(jobname, exist_ok=True)\n", + "\n", + "# save queries\n", + "queries_path = os.path.join(jobname, f\"{jobname}.csv\")\n", + "with open(queries_path, \"w\") as text_file:\n", + " text_file.write(f\"id,sequence\\n{jobname},{query_sequence}\")\n", + "\n", + "if template_mode == \"pdb100\":\n", + " use_templates = True\n", + " custom_template_path = None\n", + "elif template_mode == \"custom\":\n", + " custom_template_path = os.path.join(jobname,f\"template\")\n", + " os.makedirs(custom_template_path, exist_ok=True)\n", + " uploaded = files.upload()\n", + " use_templates = True\n", + " for fn in uploaded.keys():\n", + " os.rename(fn,os.path.join(custom_template_path,fn))\n", + "else:\n", + " custom_template_path = None\n", + " use_templates = False\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "C2_sh2uAonJH", + "cellView": "form" + }, + "outputs": [], + "source": [ + "#@title # **3. Multiple Sequence Alignment (MSA)**\n", + "\n", + "#@markdown ## a. MSA options\n", + "msa_mode = \"mmseqs2_uniref_env\" #@param [\"mmseqs2_uniref_env\", \"mmseqs2_uniref\",\"single_sequence\",\"custom\"]\n", + "#@markdown - pairing mode\n", + "#@markdown - single sequence\n", + "#@markdown - custom MSA upload\n", + "\n", + "#@markdown \\\n", + "pair_mode = \"unpaired_paired\" #@param [\"unpaired_paired\",\"unpaired\",\"paired\"] {type:\"string\"}\n", + "#@markdown - \"unpaired_paired\" - pair sequences from same species + unpaired MSA\n", + "#@markdown - \"unpaired\" - seperate MSA for each chain\n", + "#@markdown - \"paired\" - only use paired sequences\n", + "\n", + "# decide which a3m to use\n", + "if \"mmseqs2\" in msa_mode:\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.a3m\")\n", + "\n", + "elif msa_mode == \"custom\":\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.custom.a3m\")\n", + " if not os.path.isfile(a3m_file):\n", + " custom_msa_dict = files.upload()\n", + " custom_msa = list(custom_msa_dict.keys())[0]\n", + " header = 0\n", + " import fileinput\n", + " for line in fileinput.FileInput(custom_msa,inplace=1):\n", + " if line.startswith(\">\"):\n", + " header = header + 1\n", + " if not line.rstrip():\n", + " continue\n", + " if line.startswith(\">\") == False and header == 1:\n", + " query_sequence = line.rstrip()\n", + " print(line, end='')\n", + "\n", + " os.rename(custom_msa, a3m_file)\n", + " queries_path=a3m_file\n", + " print(f\"moving {custom_msa} to {a3m_file}\")\n", + "\n", + "else:\n", + " a3m_file = os.path.join(jobname,f\"{jobname}.single_sequence.a3m\")\n", + " with open(a3m_file, \"w\") as text_file:\n", + " text_file.write(\">1\\n%s\" % query_sequence)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ADDuaolKmjGW" + }, + "outputs": [], + "source": [ + "# @title # **4. Advanced Settings** { run: \"auto\", display-mode: \"form\" }\n", + "\n", + "#@markdown ## a. ML Model\n", + "model_type = \"auto\" #@param [\"auto\", \"alphafold2_ptm\", \"alphafold2_multimer_v1\", \"alphafold2_multimer_v2\", \"alphafold2_multimer_v3\"]\n", + "#@markdown **Note:** If `auto` selected, will use `alphafold2_ptm` for monomer prediction\n", + "#@markdown and `alphafold2_multimer_v3` for complex prediction.\n", + "#@markdown Any of the `mode_types` can be used (regardless if input is monomer or complex).\n", + "\n", + "#@markdown \\\n", + "#@markdown ## b. Re-Train with Predicted Structures\n", + "num_recycles = \"0\" #@param [\"auto\", \"0\", \"1\", \"3\", \"6\", \"12\", \"24\", \"48\"]\n", + "#@markdown **Note:**\n", + "#@markdown - If `auto` selected, will use `num_recycles=20`,\n", + "#@markdown - If `model_type=alphafold2_multimer_v3`, else `num_recycles=3`\n", + "\n", + "#@markdown \\\n", + "recycle_early_stop_tolerance = \"auto\" #@param [\"auto\", \"0.0\", \"0.5\", \"1.0\"]\n", + "#@markdown - if `auto` selected, will use `tol=0.5`\n", + "#@markdown - If `model_type=alphafold2_multimer_v3`, else `tol=0.0`.\n", + "\n", + "#@markdown \\\n", + "#@markdown ## c. Amber Relaxation\n", + "relax_max_iterations = 200 #@param [0, 200, 2000] {type:\"raw\"}\n", + "#@markdown - max amber relax iterations\n", + "#@markdown - `0` = unlimited (AlphaFold2 default, can take very long)\n", + "\n", + "#@markdown \\\n", + "#@markdown ## d. MSA Pairing\n", + "pairing_strategy = \"greedy\" #@param [\"greedy\", \"complete\"] {type:\"string\"}\n", + "#@markdown - `greedy` = pair any taxonomically matching subsets,\n", + "#@markdown - `complete` = all sequences have to match in one line.\n", + "\n", + "#@markdown \\\n", + "#@markdown ## e. Sample settings\n", + "#@markdown - enable dropouts and increase number of seeds to sample predictions from uncertainty of the model.\n", + "#@markdown - decrease `max_msa` to increase uncertainity\n", + "max_msa = \"auto\" #@param [\"auto\", \"512:1024\", \"256:512\", \"64:128\", \"32:64\", \"16:32\"]\n", + "num_seeds = 1 #@param [1,2,4,8,16] {type:\"raw\"}\n", + "use_dropout = False #@param {type:\"boolean\"}\n", + "\n", + "num_recycles = None if num_recycles == \"auto\" else int(num_recycles)\n", + "recycle_early_stop_tolerance = None if recycle_early_stop_tolerance == \"auto\" else float(recycle_early_stop_tolerance)\n", + "if max_msa == \"auto\": max_msa = None\n", + "\n", + "#@markdown \\\n", + "#@markdown # **5. Save settings**\n", + "#@markdown This will ask for your credentials, to save the outputs.\n", + "save_all = False #@param {type:\"boolean\"}\n", + "save_recycles = False #@param {type:\"boolean\"}\n", + "save_to_google_drive = False #@param {type:\"boolean\"}\n", + "#@markdown - if the save_to_google_drive option was selected, the result zip will be uploaded to your Google Drive\n", + "dpi = 200 #@param {type:\"integer\"}\n", + "#@markdown - set dpi for image resolution\n", + "\n", + "if save_to_google_drive:\n", + " from pydrive.drive import GoogleDrive\n", + " from pydrive.auth import GoogleAuth\n", + " from google.colab import auth\n", + " from oauth2client.client import GoogleCredentials\n", + " auth.authenticate_user()\n", + " gauth = GoogleAuth()\n", + " gauth.credentials = GoogleCredentials.get_application_default()\n", + " drive = GoogleDrive(gauth)\n", + " print(\"You are logged into Google Drive and are good to go!\")\n", + "\n", + "#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "mbaIO9pWjaN0", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "collapsed": true, + "outputId": "b0f5d314-ac48-46bb-906c-88ee9506ad5e" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2023-12-08 03:34:55,968 alphafold2_multimer_v3_model_2_seed_000 recycle=18 pLDDT=85.8 pTM=0.479 ipTM=0.372 tol=0.629\n", + "2023-12-08 03:35:09,602 alphafold2_multimer_v3_model_2_seed_000 recycle=19 pLDDT=85.5 pTM=0.478 ipTM=0.374 tol=1.08\n" + ] + } + ], + "source": [ + "#@title # **6. Run Prediction** { display-mode: \"form\" }\n", + "\n", + "display_images = True #@param {type:\"boolean\"}\n", + "\n", + "\n", + "import sys\n", + "import warnings\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)\n", + "from Bio import BiopythonDeprecationWarning\n", + "warnings.simplefilter(action='ignore', category=BiopythonDeprecationWarning)\n", + "from pathlib import Path\n", + "from colabfold.download import download_alphafold_params, default_data_dir\n", + "from colabfold.utils import setup_logging\n", + "from colabfold.batch import get_queries, run, set_model_type\n", + "from colabfold.plot import plot_msa_v2\n", + "\n", + "import os\n", + "import numpy as np\n", + "try:\n", + " K80_chk = os.popen('nvidia-smi | grep \"Tesla K80\" | wc -l').read()\n", + "except:\n", + " K80_chk = \"0\"\n", + " pass\n", + "if \"1\" in K80_chk:\n", + " print(\"WARNING: found GPU Tesla K80: limited to total length < 1000\")\n", + " if \"TF_FORCE_UNIFIED_MEMORY\" in os.environ:\n", + " del os.environ[\"TF_FORCE_UNIFIED_MEMORY\"]\n", + " if \"XLA_PYTHON_CLIENT_MEM_FRACTION\" in os.environ:\n", + " del os.environ[\"XLA_PYTHON_CLIENT_MEM_FRACTION\"]\n", + "\n", + "from colabfold.colabfold import plot_protein\n", + "from pathlib import Path\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# For some reason we need that to get pdbfixer to import\n", + "if use_amber and f\"/usr/local/lib/python{python_version}/site-packages/\" not in sys.path:\n", + " sys.path.insert(0, f\"/usr/local/lib/python{python_version}/site-packages/\")\n", + "\n", + "def input_features_callback(input_features):\n", + " if display_images:\n", + " plot_msa_v2(input_features)\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "def prediction_callback(protein_obj, length,\n", + " prediction_result, input_features, mode):\n", + " model_name, relaxed = mode\n", + " if not relaxed:\n", + " if display_images:\n", + " fig = plot_protein(protein_obj, Ls=length, dpi=150)\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "result_dir = jobname\n", + "log_filename = os.path.join(jobname,\"log.txt\")\n", + "setup_logging(Path(log_filename))\n", + "\n", + "queries, is_complex = get_queries(queries_path)\n", + "model_type = set_model_type(is_complex, model_type)\n", + "\n", + "if \"multimer\" in model_type and max_msa is not None:\n", + " use_cluster_profile = False\n", + "else:\n", + " use_cluster_profile = True\n", + "\n", + "download_alphafold_params(model_type, Path(\".\"))\n", + "results = run(\n", + " queries=queries,\n", + " result_dir=result_dir,\n", + " use_templates=use_templates,\n", + " custom_template_path=custom_template_path,\n", + " num_relax=num_relax,\n", + " msa_mode=msa_mode,\n", + " model_type=model_type,\n", + " num_models=5,\n", + " num_recycles=num_recycles,\n", + " relax_max_iterations=relax_max_iterations,\n", + " recycle_early_stop_tolerance=recycle_early_stop_tolerance,\n", + " num_seeds=num_seeds,\n", + " use_dropout=use_dropout,\n", + " model_order=[1,2,3,4,5],\n", + " is_complex=is_complex,\n", + " data_dir=Path(\".\"),\n", + " keep_existing_results=False,\n", + " rank_by=\"auto\",\n", + " pair_mode=pair_mode,\n", + " pairing_strategy=pairing_strategy,\n", + " stop_at_score=float(100),\n", + " prediction_callback=prediction_callback,\n", + " dpi=dpi,\n", + " zip_results=False,\n", + " save_all=save_all,\n", + " max_msa=max_msa,\n", + " use_cluster_profile=use_cluster_profile,\n", + " input_features_callback=input_features_callback,\n", + " save_recycles=save_recycles,\n", + " user_agent=\"colabfold/google-colab-main\",\n", + ")\n", + "results_zip = f\"{jobname}.result.zip\"\n", + "os.system(f\"zip -r {results_zip} {jobname}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "KK7X9T44pWb7", + "collapsed": true + }, + "outputs": [], + "source": [ + "# @title # **7. Visualize 3D Structure of ColabFold Prediction** { run: \"auto\", display-mode: \"form\" }\n", + "\n", + "#@markdown Rank number/score for the **monomer model is the average pLDDT**,\n", + "#@markdown where a ranking of 1 correlates better local structure confidence.\n", + "#@markdown An acceptable model prediction should average $\\ge 85$.\n", + "#@markdown The number of ranked models was set in step `6. Run Prediction` (step 6, line 75.).\n", + "\n", + "#@markdown \\\n", + "#@markdown Here, you can change the value for `rank_num` to visualize the 5 predictions.\n", + "\n", + "import py3Dmol\n", + "import glob\n", + "import matplotlib.pyplot as plt\n", + "from colabfold.colabfold import plot_plddt_legend\n", + "from colabfold.colabfold import pymol_color_list, alphabet_list\n", + "\n", + "rank_num = 1 #@param [\"1\", \"2\", \"3\", \"4\", \"5\"] {type:\"raw\"}\n", + "color = \"rainbow\" #@param [\"chain\", \"lDDT\", \"rainbow\"]\n", + "show_sidechains = False #@param {type:\"boolean\"}\n", + "show_mainchains = False #@param {type:\"boolean\"}\n", + "\n", + "tag = results[\"rank\"][0][rank_num - 1]\n", + "jobname_prefix = \".custom\" if msa_mode == \"custom\" else \"\"\n", + "pdb_filename = f\"{jobname}/{jobname}{jobname_prefix}_unrelaxed_{tag}.pdb\"\n", + "pdb_file = glob.glob(pdb_filename)\n", + "\n", + "def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color=\"lDDT\"):\n", + " model_name = f\"rank_{rank_num}\"\n", + " view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)\n", + " view.addModel(open(pdb_file[0],'r').read(),'pdb')\n", + "\n", + "\n", + " if color == \"lDDT\":\n", + " view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})\n", + " elif color == \"rainbow\":\n", + " view.setStyle({'cartoon': {'color':'spectrum'}})\n", + " elif color == \"chain\":\n", + " chains = len(queries[0][1]) + 1 if is_complex else 1\n", + " for n,chain,color in zip(range(chains),alphabet_list,pymol_color_list):\n", + " view.setStyle({'chain':chain},{'cartoon': {'color':color}})\n", + "\n", + " if show_sidechains:\n", + " BB = ['C','O','N']\n", + " view.addStyle({'and':[{'resn':[\"GLY\",\"PRO\"],'invert':True},{'atom':BB,'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"GLY\"},{'atom':'CA'}]},\n", + " {'sphere':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"PRO\"},{'atom':['C','O'],'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " if show_mainchains:\n", + " BB = ['C','O','N','CA']\n", + " view.addStyle({'atom':BB},{'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}}, viewer=(0,0))\n", + "\n", + " view.zoomTo()\n", + " return view\n", + "\n", + "print('Prediction: Rank %d' % rank_num)\n", + "show_pdb(rank_num, show_sidechains, show_mainchains, color).show()\n", + "if color == \"lDDT\":\n", + " plot_plddt_legend().show()\n", + "\n", + "\n", + "#@markdown \\" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "33g5IIegij5R" + }, + "outputs": [], + "source": [ + "#@title **8. Package and Download**\n", + "\n", + "#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \\\"Download\\\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).\n", + "\n", + "if msa_mode == \"custom\":\n", + " print(\"Don't forget to cite your custom MSA generation method.\")\n", + "\n", + "files.download(f\"{jobname}.result.zip\")\n", + "\n", + "if save_to_google_drive == True and drive:\n", + " uploaded = drive.CreateFile({'title': f\"{jobname}.result.zip\"})\n", + " uploaded.SetContentFile(f\"{jobname}.result.zip\")\n", + " uploaded.Upload()\n", + " print(f\"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "P_yNIT-iBd65" + }, + "source": [ + "Colab notebooks are adapted from:\n", + " - [AlphaFold2 Colab](https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/AlphaFold2.ipynb)\n", + " - [Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all.\n", + "*Nature Methods*, 2022](https://www.nature.com/articles/s41592-022-01488-1)\n", + "\n", + "*From the original notebook:*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UGUBLzB3C6WN" + }, + "source": [ + "> \n", + ">\n", + "> ## ColabFold v1.5.3: AlphaFold2 using MMseqs2\n", + ">\n", + "> Easy to use protein structure and complex prediction using [AlphaFold2](https://www.nature.com/articles/s41586-021-03819-2) and [Alphafold2-multimer](https://www.biorxiv.org/content/10.1101/2021.10.04.463034v1). Sequence alignments/templates are generated through [MMseqs2](mmseqs.com) and [HHsearch](https://github.com/soedinglab/hh-suite). For more details, see bottom of the notebook, checkout the [ColabFold GitHub](https://github.com/sokrypton/ColabFold) and read our manuscript.\n", + ">\n", + "> Old versions: [v1.4](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.4.0/AlphaFold2.ipynb), [v1.5.1](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.5.1/AlphaFold2.ipynb), [v1.5.2](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.5.2/AlphaFold2.ipynb)\n", + ">\n", + "> [Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all.\n", + "> *Nature Methods*, 2022](https://www.nature.com/articles/s41592-022-01488-1)\n", + ">\n", + "> -----------\n", + ">\n", + "> ### News\n", + "> - 2023/07/31: The ColabFold MSA server is back to normal. It was using older DB (UniRef30 2202/PDB70 220313) from 27th ~8:30 AM CEST to 31st ~11:10 AM CEST.\n", + "> - 2023/06/12: New databases! UniRef30 updated to 2023_02 and PDB to 230517. We now use PDB100 instead of PDB70 (see [notes](#pdb100)).\n", + "> - 2023/06/12: We introduced a new default pairing strategy: Previously, for multimer predictions with more than 2 chains, we only pair if all sequences taxonomically match (\"complete\" pairing). The new default \"greedy\" strategy pairs any taxonomically matching subsets.\n", + ">\n", + "># Instructions \n", + ">\n", + "> **Quick start**\n", + "> 1. Paste your protein sequence(s) in the input field.\n", + "> 2. Press \"Runtime\" -> \"Run all\".\n", + "> 3. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.\n", + ">\n", + "> **Result zip file contents**\n", + ">\n", + "> 1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if `use_amber` is enabled).\n", + "> 2. Plots of the model quality.\n", + "> 3. Plots of the MSA coverage.\n", + "> 4. Parameter log file.\n", + "> 5. A3M formatted input MSA.\n", + "> 6. A `predicted_aligned_error_v1.json` using [AlphaFold-DB's format](https://alphafold.ebi.ac.uk/faq#faq-7) and a `scores.json` for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.\n", + "> 7. BibTeX file with citations for all used tools and databases.\n", + ">\n", + "> At the end of the job a download modal box will pop up with a `jobname.result.zip` file. Additionally, if the `save_to_google_drive` option was selected, the `jobname.result.zip` will be uploaded to your Google Drive.\n", + "> \n", + ">\n", + "> **License**\n", + "> githubusercontent.com/sokrypton/ColabFold/main/LICENSE). Additionally, this > notebook uses the AlphaFold2 source code and its parameters licensed under [Apache 2.0](https://raw.githubusercontent.com/deepmind/alphafold/main/LICENSE) > and [CC BY 4.0](https://creativecommons.org/licenses/by-sa/4.0/) respectively. Read more about the AlphaFold license [here](https://github.com/deepmind/> alphafold).\n", + ">\n", + "> **Acknowledgments**\n", + "> - We thank the AlphaFold team for developing an excellent model and open > sourcing the software.\n", + ">\n", + "> - [KOBIC](https://kobic.re.kr) and [Söding Lab](https://www.mpinat.mpg.de/soeding) for providing the computational resources for the MMseqs2 MSA server.\n", + ">\n", + "> - Richard Evans for helping to benchmark the ColabFold's Alphafold-multimer support.\n", + ">\n", + "> - [David Koes](https://github.com/dkoes) for his awesome [py3Dmol](https://3dmol.csb.pitt.edu/) plugin, without whom these notebooks would be quite boring!\n", + ">\n", + "> - Do-Yoon Kim for creating the ColabFold logo.\n", + ">\n", + "> - A colab by Sergey Ovchinnikov ([@sokrypton](https://twitter.com/sokrypton)), Milot Mirdita ([@milot_mirdita](https://twitter.com/milot_mirdita)) and Martin Steinegger ([@thesteinegger](https://twitter.com/thesteinegger)).\n", + ">\n", + "\n", + "\n" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [], + "gpuType": "V100", + "cell_execution_strategy": "setup", + "machine_shape": "hm", + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/_sources/ColabFold/old/ColabFold_AF2_mmseqs2.ipynb b/_sources/ColabFold/old/ColabFold_AF2_mmseqs2.ipynb new file mode 100644 index 0000000..d8e69bf --- /dev/null +++ b/_sources/ColabFold/old/ColabFold_AF2_mmseqs2.ipynb @@ -0,0 +1,1012 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [], + "collapsed_sections": [], + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "G4yBrceuFbf3" + }, + "source": [ + "\n", + "\n", + "##ColabFold: AlphaFold2 using MMseqs2\n", + "\n", + "Easy to use protein structure and complex prediction using [AlphaFold2](https://www.nature.com/articles/s41586-021-03819-2) and [Alphafold2-multimer](https://www.biorxiv.org/content/10.1101/2021.10.04.463034v1). Sequence alignments/templates are generated through [MMseqs2](mmseqs.com) and [HHsearch](https://github.com/soedinglab/hh-suite). For more details, see bottom of the notebook, checkout the [ColabFold GitHub](https://github.com/sokrypton/ColabFold) and read our manuscript. Old versions: [v1.0](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.0-alpha/AlphaFold2.ipynb), [v1.1](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.1-premultimer/AlphaFold2.ipynb), [v1.2](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.2.0/AlphaFold2.ipynb), [v1.3](https://colab.research.google.com/github/sokrypton/ColabFold/blob/v1.3.0/AlphaFold2.ipynb)\n", + "\n", + "[Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Making protein folding accessible to all.\n", + "*Nature Methods*, 2022](https://www.nature.com/articles/s41592-022-01488-1) " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kOblAo-xetgx", + "cellView": "form" + }, + "source": [ + "#@title Input protein sequence(s), then hit `Runtime` -> `Run all`\n", + "from google.colab import files\n", + "import os.path\n", + "import re\n", + "import hashlib\n", + "import random\n", + "\n", + "def add_hash(x,y):\n", + " return x+\"_\"+hashlib.sha1(y.encode()).hexdigest()[:5]\n", + "\n", + "#@markdown Example query sequence is for bax (obtained from 00_monomer_pred/bax.fasta).\n", + "#@markdown - Use `:` to specify inter-protein chainbreaks for **modeling complexes** (supports homo- and hetro-oligomers). \n", + "#@markdown - For example **MDG...KMG:MDF...KMG** for a bax homodimer.\n", + "query_sequence = 'MDGSGEQPRGGGPTSSEQIMKTGALLLQGFIQDRAGRMGGEAPELALDPVPQDASTKKLSECLKRIGDELDSNMELQRMIAAVDTDSPREVFFRVAADMFSDGNFNWGRVVALFYFASKLVLKALCTKVPELIRTIMGWTLDFLRERLLGWIQDQGGWDGLLSYFGTPTWQTVTIFVAGVLTASLTIWKKMG' #@param {type:\"string\"}\n", + "\n", + "# remove whitespaces\n", + "query_sequence = \"\".join(query_sequence.split())\n", + "\n", + "jobname = 'bax' #@param {type:\"string\"}\n", + "# remove whitespaces\n", + "basejobname = \"\".join(jobname.split())\n", + "basejobname = re.sub(r'\\W+', '', basejobname)\n", + "jobname = add_hash(basejobname, query_sequence)\n", + "while os.path.isfile(f\"{jobname}.csv\"):\n", + " jobname = add_hash(basejobname, ''.join(random.sample(query_sequence,len(query_sequence))))\n", + "\n", + "with open(f\"{jobname}.csv\", \"w\") as text_file:\n", + " text_file.write(f\"id,sequence\\n{jobname},{query_sequence}\")\n", + "\n", + "queries_path=f\"{jobname}.csv\"\n", + "\n", + "#@markdown Amber minimization option.\n", + "# number of models to use\n", + "use_amber = True #@param {type:\"boolean\"}\n", + "#@markdown Template mode refers to usage of PDB templates from RCSB.\n", + "\n", + "#@markdown 3 options:\n", + "#@markdown - \"none\" = no template information is used\n", + "#@markdown - \"pdb70\" = detect templates in pdb70\n", + "#@markdown - \"custom\" - upload and search own templates (PDB or mmCIF format, see [notes below](#custom_templates)).\n", + "template_mode = \"none\" #@param [\"none\", \"pdb70\",\"custom\"]\n", + "\n", + "\n", + "if template_mode == \"pdb70\":\n", + " use_templates = True\n", + " custom_template_path = None\n", + "elif template_mode == \"custom\":\n", + " custom_template_path = f\"{jobname}_template\"\n", + " os.mkdir(custom_template_path)\n", + " uploaded = files.upload()\n", + " use_templates = True\n", + " for fn in uploaded.keys():\n", + " os.rename(fn, f\"{jobname}_template/{fn}\")\n", + "else:\n", + " custom_template_path = None\n", + " use_templates = False\n" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#@markdown ### MSA options (custom MSA upload, single sequence, pairing mode)\n", + "#@markdown 4 options:\n", + "#@markdown - \"MMseqs2 (UniRef+Environmental)\"\n", + "#@markdown - \"MMseqs2 (Uniref only)\"\n", + "#@markdown - \"single sequence\"\n", + "#@markdown - \"custom\"\n", + "msa_mode = \"MMseqs2 (UniRef+Environmental)\" #@param [\"MMseqs2 (UniRef+Environmental)\", \"MMseqs2 (UniRef only)\",\"single_sequence\",\"custom\"]\n", + "\n", + "#@markdown 3 options:\n", + "#@markdown - \"unpaired+paired\" = pair sequences from same species + unpaired MSA\n", + "#@markdown - \"unpaired\" = seperate MSA for each chain\n", + "#@markdown - \"paired\" = only use paired sequences\n", + "pair_mode = \"unpaired+paired\" #@param [\"unpaired+paired\",\"paired\",\"unpaired\"] {type:\"string\"}\n", + "\n", + "# decide which a3m to use\n", + "if msa_mode.startswith(\"MMseqs2\"):\n", + " a3m_file = f\"{jobname}.a3m\"\n", + "elif msa_mode == \"custom\":\n", + " a3m_file = f\"{jobname}.custom.a3m\"\n", + " if not os.path.isfile(a3m_file):\n", + " custom_msa_dict = files.upload()\n", + " custom_msa = list(custom_msa_dict.keys())[0]\n", + " header = 0\n", + " import fileinput\n", + " for line in fileinput.FileInput(custom_msa,inplace=1):\n", + " if line.startswith(\">\"):\n", + " header = header + 1\n", + " if not line.rstrip():\n", + " continue\n", + " if line.startswith(\">\") == False and header == 1:\n", + " query_sequence = line.rstrip()\n", + " print(line, end='')\n", + "\n", + " os.rename(custom_msa, a3m_file)\n", + " queries_path=a3m_file\n", + " print(f\"moving {custom_msa} to {a3m_file}\")\n", + "else:\n", + " a3m_file = f\"{jobname}.single_sequence.a3m\"\n", + " with open(a3m_file, \"w\") as text_file:\n", + " text_file.write(\">1\\n%s\" % query_sequence)" + ], + "metadata": { + "cellView": "form", + "id": "C2_sh2uAonJH" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#@markdown ### Advanced settings\n", + "#@markdown - \"auto\" = protein structure prediction using \"AlphaFold2-ptm\" and complex prediction \"AlphaFold-multimer-v2\". \n", + "#@markdown - For complexes \"AlphaFold-multimer-v[1,2]\" and \"AlphaFold-ptm\" can be used.\n", + "model_type = \"auto\" #@param [\"auto\", \"AlphaFold2-ptm\", \"AlphaFold2-multimer-v1\", \"AlphaFold2-multimer-v2\"]\n", + "\n", + "num_recycles = 3 #@param [1,3,6,12,24,48] {type:\"raw\"}\n", + "\n", + "#@markdown - The save_to_google_drive option will upload zip file to your Google Drive\n", + "save_to_google_drive = False #@param {type:\"boolean\"}\n", + "\n", + "dpi = 300 #@param {type:\"integer\"}\n", + "#@markdown - set dpi for image resolution\n", + "\n", + "#@markdown Don't forget to hit `Runtime` -> `Run all` after updating the form.\n", + "\n", + "\n", + "if save_to_google_drive:\n", + " from pydrive.drive import GoogleDrive\n", + " from pydrive.auth import GoogleAuth\n", + " from google.colab import auth\n", + " from oauth2client.client import GoogleCredentials\n", + " auth.authenticate_user()\n", + " gauth = GoogleAuth()\n", + " gauth.credentials = GoogleCredentials.get_application_default()\n", + " drive = GoogleDrive(gauth)\n", + " print(\"You are logged into Google Drive and are good to go!\")" + ], + "metadata": { + "cellView": "form", + "id": "ADDuaolKmjGW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "iccGdbe_Pmt9", + "pycharm": { + "name": "#%%\n" + }, + "cellView": "form", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5e951ead-06d9-499e-ecf8-860d2bbbf8cb" + }, + "source": [ + "#@title Install dependencies\n", + "%%bash -s $use_amber $use_templates\n", + "\n", + "set -e\n", + "\n", + "USE_AMBER=$1\n", + "USE_TEMPLATES=$2\n", + "\n", + "if [ ! -f COLABFOLD_READY ]; then\n", + " # install dependencies\n", + " # We have to use \"--no-warn-conflicts\" because colab already has a lot preinstalled with requirements different to ours\n", + " pip install -q --no-warn-conflicts \"colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold\"\n", + " # high risk high gain\n", + " pip install -q \"jax[cuda11_cudnn805]>=0.3.8,<0.4\" -f https://storage.googleapis.com/jax-releases/jax_releases.html\n", + " touch COLABFOLD_READY\n", + "fi\n", + "\n", + "# setup conda\n", + "if [ ${USE_AMBER} == \"True\" ] || [ ${USE_TEMPLATES} == \"True\" ]; then\n", + " if [ ! -f CONDA_READY ]; then\n", + " wget -qnc https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh\n", + " bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local 2>&1 1>/dev/null\n", + " rm Miniconda3-latest-Linux-x86_64.sh\n", + " touch CONDA_READY\n", + " fi\n", + "fi\n", + "# setup template search\n", + "if [ ${USE_TEMPLATES} == \"True\" ] && [ ! -f HH_READY ]; then\n", + " conda install -y -q -c conda-forge -c bioconda kalign2=2.04 hhsuite=3.3.0 python=3.7 2>&1 1>/dev/null\n", + " touch HH_READY\n", + "fi\n", + "# setup openmm for amber refinement\n", + "if [ ${USE_AMBER} == \"True\" ] && [ ! -f AMBER_READY ]; then\n", + " conda install -y -q -c conda-forge openmm=7.5.1 python=3.7 pdbfixer 2>&1 1>/dev/null\n", + " touch AMBER_READY\n", + "fi" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\r 0%| | 0/40 [00:00" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAXEQAAFxEByibzPwAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXwV5b0/8M/3mTknCfsiiCKCYcmJEERtFcVWqIni0lq12mrr0tba2lqr7W1re39dvbXe2tq9t1r1KrXWovZaF1CDiguKAoomSBJDsGwqKES2LOfM8/39MZNwcnKWOVmAhM/79TovYOaZmeck4XzynXnmGVFVEBEREREREWD2dQeIiIiIiIj2FyyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQiIiIiIiIAiyQKDQRWSwiKiIT9nVf8iUidwZ9nx2y/WVB+x/3bs+y9kGDV6OIDMvQ5rq90U8RGSgi3xSRp0XkXRFpFZFtIvKiiPxURA7vzeMTEfUWZtv+L+l7NDtE2wlJ+dn2ahGRzSKyQkRuEZEKEZGe3D7Ddrlei3vmK0Q9zd3XHSCinIYC+CaAH+6Lg4vIiQAeADAGwG4ASwG8G/TrwwBmAviOiJylqov2RR+JiIhS7AJwf/B3B8AwANMAXBG8VojIRapa10Pb7wRwV5r9zAVwMIAlAOpT1tXk+6Zo72CBRLR/UwAtAL4hIr9W1W178+AiMgPAkwAKAfw3gOtVdVfSegPgkwB+AeCwvdk3IiKiLN5T1ctSF4rIUQBuBvAxAM+KyIdVdX13t1fV9wCka78YfoF0m6re2eV3Q3sVh9gR7d8sgFsBDAHwH3vzwMHwgb/CL45+rKrXJRdHAKCqVlX/CeBYAMv3Zv+IiIjypaqvATgVwBPwC5ff7s3tqW9ggdTPiMg4EfmdiNSJSJOIbBWR5SLyIxEZktJ2gIj8QESqg7YfiMizIvKZLhz3SBH5m4i8HdyfslFE5olISZq2s4Oxt3eKyBgRuU1ENohIQkSuSXkvfxCRNSLSHLyXR4IhX5n68QURWRm8n3fajpHv+0nZZ4mIPCAi74vILhFZIiJnpLT5UPCeXsiyn+8HbX6SZxduBNAE4OsiMrILbyEjETlMRMZmWD0X/nCCDQB+lm0/qvqBqlb3ZN+IiNow2/pHtsme+3QWi8gQEfmtiKwPvg6rReRa8Ucm9CpV9QBcBX+Uxiclz/tou7s97f9YIPUjIvIRAK8D+DqACICH4Y95HQrgxwCKk9oOBvAsgJ8CGA3gkaDtcQD+LiKhz4iIyCnwrx5cBOBt+PerbAZwMYDlQb/SGQVgGYAzAbwIYCH8e1wgIicAeA3A1wDEATwKoBrAafAvaX86TT9uBHA7gCOD9/YsgNMBvARgRNj3k2JisP3R8M8WLQdwAoBHROTzbY1UdTmAVwCcICJT0/RNAHwR/hWh2/PpgKq+DeDPAAYD+HbX3kZnwS8VTwN4SkQOSdPkzODP+1Q10VPHJSLKB7OtX2ZbAYCnAFwC4GUAlQDGwx+6dkcX3k/eVPVNACsACICT9/b2tJ9TVb76wQv+h+Rm+Gcz/gOASVl/AoDRSf/+fdD2KQCDk5bH4N+ArwDOStnH4mD5hKRlAwG8Eyz/Wkr7a4Pl6wEUJi2fHSxXAP9MXhesHwJgE4AEgM+mrPsQgK0AdgAYlbR8JvwP6EYARyctHwT/Hpq2480O+fW8LGmbuwC4SevOCvq2C8DYpOVfCtr/Js3+yoN1C/L4niqARPD3g4Pj7Ux539cF7X7cxZ+bnwbbrwZwcMq654N1n9vXP9988cXXgflitvWvbAMwIen4rwE4KGndRAAbg3WfzPA9yvk+k47xVoi2fwna3tBT26dp09b3y/b1/ye+wr94Ban/uBz+WavHVPWXqmqTV6rqi6q6GfCnbMaeMz5fVdUdSe1qAPxX8M9vhDjuBfB/eX9RVf+Ycsxfwz+7chiA89Js2wLg66ranLL8CwAOgf9h/LeUfS4HcD38cPhc0qor4Z/F+a2qvprUfif8s44a4r2ksxPANZp0BUVVH4E/s80AAJ9PansPgO0ALhaRgpT9XB78+ZeudEJV3wXwP/BD+7td2UeG/f4Q/vc7Bv9K0uik1W3D+bb01PGIiPLEbOu/2fYf6k9s0Hb8NfC/BoA/fG1vaDv+8H20Pe2nWCD1H+XBn7eEaHssgCIArwShkeqvwZ+zQowFbhti8LcM6+9OaZfsFVXdmGb5qcGf/8ywz+eCP49L0497Uxur6hvwz1R1xROafua4v6ccF+pPYHA3/DOe7aEpIgcBOAf+2ciHu9gPwJ9FbheAK0Xk4EyNROQkEakJ+wJwPvxfKI6Ef0aSiGh/wWzz9bds26qqlVmOf+LeuBcJfvEJdL3Q7O72tJ9igdR/jAv+XBOi7aHBn2+lW6mqjQA+gB80uc6KZN1X0vJ0EwGsy7DNhODPJZLmwWrwx3YDwEFp+vHvHP3IV679HZqy/M/Bn19KWnYJgCiA/9Vu3MujqlsA/BH+2b3rsjQdBKAkz1fbZ0Hy1/T94M9RXe0zEVE3Mdt8/S3b0h5fVT+AP5wwzPeoJ7R9rbfuo+1pP8XnIFEmPXU2JNt+UocftGn7Zf1++FdMMtnvHrCmqlXBbD+zRWSy+jdxfhH+1+G2HjjETQC+CuArIvKLDH14DHvOauUkIhcDuBP+UIGPJa1aCWAWgGOw52wpEVFfxmzrgr2QbfvK0cGfb+yj7Wk/xQKp/1gP/z6SiQCqcrTdFPw5Pt1KERkK/4nRTQByPZg0676w54xZuuEGmWyAf1XjRlVdEXKbt4NjjYc/4UCqTP3LJdN2bcs3pVn3ZwAnArhcRB6CP3Rtkao2dLEP7VT1PRH5PYDvBa90xw9NRD4HvzjaCuAUVU3+2j0Kf6al80XkO925+kVE1EXMtv6ZbWmnxQ5mV237HjV2Yb+hichk+AWOhT8z4F7dnvZvHGLXfywK/rwiRNsV8D98jg3+g6dqu0F0SeoNsWm0jZm+MMP6z6W0C6NtXPI5eWzTtv8LUleISAzAjDz2lexUERmWZnnb8zSeT7PuPvjD0y6Df7UH6OLkDBn8Cv5MR1cg/fCOUIIguhn+LwqnaOfnGD0GYBX8G5H/M9e+0k0BS0TUTcw2X3/LtpHBNOqZjv+i+s8a6hUi4gD4A/zRFg+o6oa9uT31Aft6Gj2+euYF/+bJLfAvd18DQFLWz0THqVD/ELR9AsDApOVT4J+xUgAfT9nHYmSfCvWKlPZXB8s3IP1UqHdmeC/D4E/H2go/FFOndXXhPzNiWtKyE4N9bgNwVEr/KtG9qVDvQMepUE+HPxXqbgCHZdj+V0nbbwYQ7cL3tH2a7zTr/itYvxvdm+b7GCRNHZtm/Qz4v3AogJ8n/6wE6wXAJwDUgVOY8sUXXz38Yrb1r2xDx2m+XwUwMmndEcHXVAGcm+F7lPN9Isc03QCmY88U6ZsAHNqT26dp39b3y/b1/ye+wr84xK6fUNWtInI+gIcA/BrA1SKyDP6NjqUAJsG/FLw52OR78IOlAkCDiDwD/wP3YwAKAfxOVXPOSqOqu0Tks/BnsLlFRK6A/8tyLDjeTgAXaufpTrPts1FEzm7bJ4D/JyLV8ANiDPxf6ofBPwtXHWzzgoj8Ev5zMpaJyFPwb8Y9Gf6Uqw8D+HjYPiT5G4Bz4Y+7fgn+FK0fhV8YXK2ZzxrdAv9ZGQLgLlVt7cKxs/kV/Cleh+RqmI2qvpJj/UoRKYf/gMTr4P9cvQg/5IfCf3bHwfDH3K/vTl+IiFIx2/ptti2FP8FDffCeIgBOgT8J0d2qmmmmvz+JyPYM615R1a8m/fsgEbkz+LsDP7OmYs+DhZcBuEhVMw1V7+721Jft6wqNr559wT8D8z8A1sL/8Hwf/hOyf4Ckh+YFbQcC+CH8YVTN8J9z8Bz8D/10+16MlLNsSeumwn9Wwjvwz45tgj+lakmatrOR5SxbUrsx8Ke2roZ/Q+suAPUAHgRwKYBBaba5HP60p83wf4n/K/zZeO5E186y/Rh+CD8I/z6d3QBeQMqDBjPsY12wj05fg5B9yHgFKVj/E+w5E/fjXv65GgTgW8HPwGb4T4DfBj/kfowMZxv54osvvnrixWzrH9mGPVdnFsMvOP4I/z6uFviTU3wLgJPle5TttTjlGMmvVvhXIlfAL/IqkHI1Mk0fu7R9lr5ftq//H/EV/iXBN4+IepCInAA/bJ5R1dn7uDtERETd1t1sE5EJ8ItcZiPt1zhJA1HvaJvU4A/7tBdEREQ9h9lGBwTeg0TUQ0TkRPjPhZgG/0noryDzE9OJiIj2e8w2OhCxQCLqOVMAfAH+FNyPAvia5p5KloiIaH/GbKMDDu9BIiIiIiIiCvAeJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIiogALJCIiIiIi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bbKt2sgcJOprWCAdnrJqRTog1oYWSGrtDrV27J1DVtQe6CmIiIiyFL0VqfrATmRdG1og2Tq7w263Y1dcPoQ5SNTHcAzSYWpOY8VzAGZG2Xa/xiKpJgYYqW4BsElVd0MVqloD1fvvLFtele0hiYiIDpaKuxoj5yBORdbz8ioUNketxnQLBJvU0926V6GtWqPNev/yi8uYg0R9FKf5PnzdgqjBEJVqPYBXAF0Oq88BuuGO0qWpF0EiIiL6/NyCqDkYR6RvNIpEDqqD5Rqzz6mLDUtPKGUOElE3bEE6jM1prFgD4ORM22VoQdoM4FkAzwBYdkdRpXeQLo+IiOiQqrivcQ3aMudghhakbjlYObGIOUhEabEF6TAmwE0K/Hk/dv0rEkHwLIA1dxRVsgomIqIjTwFuQluGHCwE4PR6tVsOVk4sYg4SUWRsQTrM/UtjxV8UOCfV+8nWowCJhfWeAfDsHUWVGz+jyyMiIjqkKh5r/AtqU+SgADgRQL/uOVg5sWjjZ3aBRPQ3hy1Ih79zBXhKgYt7vK4GeFmAhwC8cEdR5e7P4+KIiIgOqVyci1I8hUZcjKDb64pj8TL6JXKwcmIRc5CIDgq2IB0h5jRWDBPgOwCGAlglwGO/Kqps+byvi4iI6LNQ8UjjMOTgO/AxFLlYhRI8Vnl2EXOQiA46FkhERERERERJXCiWiIiIiIgoiQUSERERERFREgskIiIiIiKiJBZIRERERERESSyQiIiIiIiIklggERERERERJbFAIiIiIiIiSmKBRERERERElMQCiYiIiIiIKIkFEhERERERURILJCIiIiIioiQWSEREREREREkskIiIiIiIiJJYIBERERERESWxQCIiIiIiIkpigURERERERJTEAomIiIiIiCiJBRIREREREVESCyQiIiIiIqIkFkhERERERERJLJCIiIiIiIiSWCARERERERElsUAiIiIiIiJKYoFERERERESUxAKJiIiIiIgoiQUSERERERFREgskIiIiIiKiJBZIRERERERESSyQiIiIiIiIklggERERERERJbFAIiIiIiIiSmKBRERERERElMQCiYiIiIiIKIkFEhERERERURILJCIiIiIioiQWSEREREREREkskIiIiIiIiJJYIBERERERESWxQCIiIiIiIkr6/+CfN4ZkybutAAAAAElFTkSuQmCC\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 19:53:42,597 Relaxation took 78.4s\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAXEQAAFxEByibzPwAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXhU5dk/8O/9nJnJwi4gCrIYIAshimiV6tuKYlqx1vpatdVaa61Lq9Yu1moXW5fuVttau9iqRaq+/rT69m0VtBHEtaJAkQBZCBEEXNiXEEhmznP//jgnyWQyy5kskITv57rmCpmzPZOE+c59znOeR1QVREREREREBJiD3QAiIiIiIqLeggUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSERERERGRjwUSBSYii0RERWTCwW5LtkRkjt/2mQHXv8xf/9aebVnaNqj/2CkiQ1Osc/OBaKeIDBCRb4rICyLygYg0i8gOEfm3iNwuIuN68vhERD2F2db7xf2OZgZYd0JcfrY8mkRks4gsFZH7RKRcRKQ7t0+xXabHou75CVF3Cx3sBhBRRkMAfBPADw7GwUXkZABPAjgCQCOA1wF84LfrQwBmAPi2iJytqs8fjDYSEREl2Avgb/6/HQBDAUwFcJX/WCoiF6tqbTdt3wDgoST7ORPAKACvAqhLWFad7YuiA4MFElHvpgCaAHxNRH6lqjsO5MFFZBqABQByAfwcwB2qujduuQFwLoBfADjqQLaNiIgoja2qelnikyJyLIC7AZwO4CUR+ZCqbujq9qq6FUCy9RfBK5DuV9U5nX41dECxix1R72YB/AnAYADfOpAH9rsP/BVecXSrqt4cXxwBgKpaVX0KwPEAlhzI9hEREWVLVd8C8DEA/4JXuPzmQG5PfQMLpH5GRMaKyD0iUisi+0Rku4gsEZEfisjghHXzReQWEVnpr7tLRF4Skc924rhTROQREXnPvz9lk4jMFZGiJOvO9PvezhGRI0TkfhHZKCIxEfl6wmu5V0TWish+/7U87Xf5StWOy0Vkuf963m85RravJ2GfRSLypIhsE5G9IvKqiJyVsM4J/mt6Lc1+vuuvc1uWTfgZgH0AvioiwzvxElISkaNEZEyKxWfC606wEcCP0+1HVXep6srubBsRUQtmW//INmm7T2eRiAwWkd+IyAb/51AlIt8Qr2dCj1JVF8B18HppnCtZ3kfb1e2p92OB1I+IyEcArADwVQBhAP+E1+d1CIBbARTErTsIwEsAbgdwOICn/XVPBPA/IhL4jIiIzIJ39eBiAO/Bu19lM4DPA1jityuZkQDeBPAJAP8GMB/ePS4QkQ8DeAvAtQCiAJ4BsBLAx+Fd0v5Mknb8DMADAKb4r+0lALMBLAZwWNDXk2Civ/1x8M4WLQHwYQBPi8gXW1ZS1SUAlgH4sIiUJmmbAPgSvCtCD2TTAFV9D8AfAQwCcGPnXkZH/oeKFwAsFJEjk6zyCf/rE6oa667jEhFlg9nWL7MtB8BCAJcCeANABYDx8LquPdiJ15M1VV0DYCkAAXDqgd6eejlV5aMfPOC9SW6GdzbjWwBMwvIPAzg87vvf+usuBDAo7vlieDfgK4CzE/axyH9+QtxzAwC87z9/bcL63/Cf3wAgN+75mf7zCuCp+GX+8sEA3gUQA/C5hGUnANgOYA+AkXHPz4D3Br0TwHFxzw+Edw9Ny/FmBvx5Xha3zUMAQnHLzvbbthfAmLjnr/TX/3WS/Z3hL5uXxe9UAcT8f4/yj9eQ8Lpv9te7tZN/N7f721cBGJWw7BV/2SUH+++bDz74ODQfzLb+lW0AJsQd/y0AI+KWTQSwyV92borfUcbXGXeMdQHW/bO/7k+6a/sk67S0/bKD/f+Jj+APXkHqP66Ad9bqWVX9para+IWq+m9V3Qx4Qzaj7YzPNaq6J269agA/8r/9WoDjXgjvw/u/VfV3Ccf8FbyzK0cB+HSSbZsAfFVV9yc8fzmAI+G9GT+SsM8lAO6AFw6XxC36CryzOL9R1f/Erd8A76yjBngtyTQA+LrGXUFR1afhjWyTD+CLces+CmA3gM+LSE7Cfq7wv/65M41Q1Q8A/AFeaN/UmX2k2O8P4P2+i+FdSTo8bnFLd74t3XU8IqIsMdv6b7Z9S72BDVqOvxbezwDwuq8dCC3HH3aQtqdeigVS/3GG//W+AOseDyAPwDI/NBL91f96SoC+wC1dDB5JsfzhhPXiLVPVTUme/5j/9akU+3zZ/3piknY8lriyqq6Gd6aqM/6lyUeO+5+E40K9AQwehnfGszU0RWQEgP+Gdzbyn51sB+CNIrcXwFdEZFSqlUTkv0SkOugDwAXwPlBMgXdGkoiot2C2efpbtm1X1Yo0xz/5QNyLBK/4BDpfaHZ1e+qlWCD1H2P9r2sDrDva/7ou2UJV3QlgF7ygyXRWJO2+4p5PNhDAOym2meB/fVWSTKwGr283AIxI0o71GdqRrUz7G53w/B/9r1fGPXcpgAiAv2gX7uVR1S0Afgfv7N7NaVYdCKAoy0fLe0H8z3Sb/3VkZ9tMRNRFzDZPf8u2pMdX1V3wuhMG+R11h5af9faDtD31UpwHiVLprrMh6faT2P2gRcuH9b/Bu2KSSq+bYE1VK/3RfmaKyGT1buL8Eryfw/3dcIg7AVwD4Msi8osUbXgWbWe1MhKRzwOYA6+rwOlxi5YDOAXAdLSdLSUi6suYbZ1wALLtYDnO/7r6IG1PvRQLpP5jA7z7SCYCqMyw7rv+1/HJForIEHgzRu8DkGli0rT7QtsZs2TdDVLZCO+qxs9UdWnAbd7zjzUe3oADiVK1L5NU27U8/26SZX8EcDKAK0TkH/C6rj2vqvWdbEMrVd0qIr8F8B3/kez4gYnIJfCKo+0AZqlq/M/uGXgjLV0gIt/uytUvIqJOYrb1z2xLOiy2P7pqy+9oZyf2G5iITIZX4Fh4IwMe0O2pd2MXu/7jef/rVQHWXQrvzed4/z94opYbRF9NvCE2iZY+0xelWH5JwnpBtPRL/u8stmnZ/4WJC0SkGMC0LPYV72MiMjTJ8y3zabySZNkT8LqnXQbvag/QycEZUrgL3khHVyF5945A/CC6G94HhVnacR6jZwGsgncj8vcy7SvZELBERF3EbPP0t2wb7g+jnur4/1ZvrqEeISIOgHvh9bZ4UlU3HsjtqQ842MPo8dE9D3g3T26Bd7n76wAkYfkMtB8K9V5/3X8BGBD3fCG8M1YK4JMJ+1iE9EOhXpWw/vX+8xuRfCjUOSley1B4w7E2wwvFxGFdQ/DmjJga99zJ/j53ADg2oX0V6NpQqA+i/VCos+ENhdoI4KgU298Vt/1mAJFO/E5bh/lOsuxH/vJGdG2Y7+mIGzo2yfJp8D5wKICfxv+t+MsFwDkAasEhTPngg49ufjDb+le2of0w3/8BMDxu2dH+z1QBnJfid5TxdSLDMN0AjkHbEOnvAhjdndsnWb+l7Zcd7P9PfAR/sItdP6Gq20XkAgD/APArANeLyJvwbnQsATAJ3qXgzf4m34EXLOUA6kXkRXhvuKcDyAVwj6pmHJVGVfeKyOfgjWBzn4hcBe/DcrF/vAYAF2nH4U7T7XOniHyqZZ8Avi8iK+EFxBHwPtQPhXcWbqW/zWsi8kt482S8KSIL4d2Meyq8IVf/CeCTQdsQ5xEA58Hrd70Y3hCtH4VXGFyvqc8a3QdvrgwB8JCqNnfi2OncBW+I18GZVkxHVZdlWL5cRM6AN0HizfD+rv4NL+SHwJu7YxS8PvcbutIWIqJEzLZ+m22vwxvgoc5/TWEAs+ANQvSwqqYa6e/3IrI7xbJlqnpN3PcjRGSO/28HXmaVom1i4TcBXKyqqbqqd3V76ssOdoXGR/c+4J2B+QOAt+G9eW6DN0P2LYibNM9fdwCAH8DrRrUf3jwHL8N700+270VIOMsWt6wU3lwJ78M7O/YuvCFVi5KsOxNpzrLFrXcEvKGtV8K7oXUvgDoAfwfwBQADk2xzBbxhT/fD+xD/V3ij8cxB586y3QovhP8O7z6dRgCvIWGiwRT7eMffR4efQcA2pLyC5C+/DW1n4m7t4b+rgQBu8P8GNsObAX4HvJC7FSnONvLBBx98dMeD2dY/sg1tV2cWwSs4fgfvPq4meINT3ADASfM7SvdYlHCM+EczvCuRS+EVeeVIuBqZpI2d2j5N2y872P+P+Aj+EP+XR0TdSEQ+DC9sXlTVmQe5OURERF3W1WwTkQnwilxmI/VqHKSBqGe0DGpw70FtBRERUfdhttEhgfcgEXUTETkZ3rwQU+HNhL4MqWdMJyIi6vWYbXQoYoFE1H0KAVwObwjuZwBcq5mHkiUiIurNmG10yOE9SERERERERD7eg0RERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgURERERERORjgUREREREROQLHewGUM8oXL36OOOY+0VQKiIhtbrdqj4ca3ZvWHvMVD3Y7SMiIupJz1YVHmeMuV9EvBxU3W6tfTgWi93wialrmYNElJKo8j2ivymqqrrECZm5IiKJy1zX1qjV0pqSEvdgtI2IiKinPVdddInjOCly0K1R1dKPF9cwB4koKXax62cKV62e7DjmoWShAACOY4ogePhAt4uIiOhAeLaqcLLjOGly0CkCmINElBoLpP5G8IgYSft7dRxzwcQVK/m7JyKi/ugRkUw56FzwzMqJzEEiSopvDv3IxBUrPy1GPpRpPRFxnJA56kC0iYiI6EB5ZuXET4sEzEHHYQ4SUVIskPqJiStWHgbgdyl6FHRgjDm8Z1tERER04DyzciJzkIi6BUex6yOOeHHxIABfhGAWFJug+tT7M2c8H7fKrwCMChYLgHFkY/e38sApqX1DXDf6CQBnARIB9EnHCT9bVXgiRx0hIuqH/rH4iEEAvijALACbVPHUOTPe75iDwQukPp2DtWeXiLvT/QQEZ0EQgYsnnWHOs4VPVzEHibqIo9j1ciMrXh1gQuYnTti5VoxxWp5XVahrV6jV0wYcNvAkAPMAIJIbgjGBLgwOXDWpcG8PNbvHlNS+caSqXgXojSJmQPwya90tqvYjtSWn1Bys9hERUfd6/NWRA8LG/CTHca51jLTLwZjVFVb1NGfggLYcjEQC5+CsSav6XA7Wnl1ypLp6FSxulLC0z8F9dos26UdKXqllDhJ1AQukXmpkxasDAVwDkW+H88LDU50Rs66tzxucFxaRsQAQyQ3DmPRnz1TVikho1aTCPvHLL6l9IwLgEwAuV9XZIm0BmUjVNsVizePrSj/6wYFrIRERdbfHXx05EMA1RvDtgeHUORi1th55cTkYoEBqycFZk1b1iRysPbskeA5GtSm2JTa+dFkdc5Co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3XU1zEGiwwgLpEPPgwA2BTlQUr/2S5ZW3yICsfZX86qX/25/34KIiKgAgXMQu5DclWg/CFKtvns/bgR2m/3V8rnVzEGiwwwLpEPMvIrFPoCfBzp4f2eRet17JCKeWNtujXlRjDnj10Oev2Z/Tk9ERFSoxVdWBM5BBQXs3Pf3EpVq8Z36aUg88Wy7bTcN5kWz1Zzx/OlDmINEh6HQwR4AZXQ/gB8DGJPvwIILpGRXjh0QeRVi/wLgHQDbAGz/1aBnOwo9HRERUT8InINoATAq+IkFIlDYIY68aiPyF6i9OfjspEHMQSJiF7tD1dVtsy8B8Pu8B4rAyX86AfAckje/LrylcknDfg6PiIioX82e3xYoByUkwJS8p+uRg0umVjIHiSgrziAduu6FyG1QqnQ/zvE8kpvuLbylcsm7B2hcREREH4R7JSS3KT9PDkZyPtudg0umVjIHiSgQziAdwr7bOmueKHVVrmOUSO8byV7A3qKIu30TEdGH1qz7W+ep3blzUEYLMKzHQ905uGRqJXOQiArGGaRD23chMgdKjcj4rEhXV9I6JMPgT7dULtn2gY2OiIioPxXju1Ihc1Rb5hyUUgGqAaTl4JKplcxBItovnEE6xF3dOqtMAU8K8CmoVDmU/J41auBXCnjglsolWw7mGImIiPrLrHtby6DxJJrxKSXJHBQlQBUa8TH8Ci4eWDK1kjlIRAcMC6QPie+2zqoGcDaSq63/8uvKJfUHd0REREQfnFn3t1ajGGcjgQjK8Zcln6+sP9hjIqKPJhZIREREREREKdwoloiIiIiIKIUFEhERERERUQoLJCIiIiIiohQWSERERERERCkskIiIiIiIiFJYIBEREREREaWwQCIiIiIiIkphgURERERERJTCAomIiIiIiCiFBRIREREREVEKCyQiIiIiIqIUFkhEREREREQpLJCIiIiIiIhSWCARERERERGlsEAiIiIiIiJKYYFERERERESUwgKJiIiIiIgohQUSERERERFRCgskIiIiIiKiFBZIREREREREKSyQiIiIiIiIUlggERERERERpbBAIiIiIiIiSmGBRERERERElMICiYiIiIiIKIUFEhERERERUQoLJCIiIiIiohQWSERERERERCkskIiIiIiIiFJYIBEREREREaWwQCIiIiIiIkphgURERERERJTCAomIiIiIiCiFBRIREREREVEKCyQiIiIiIqIUFkhEREREREQpLJCIiIiIiIhSWCARERERERGl/H+94q7Fy2peVwAAAABJRU5ErkJggg==\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 19:53:42,884 Running model_2\n", + "2022-09-14 19:54:46,588 model_2 took 61.5s (3 recycles) with pLDDT 80.4 and ptmscore 0.803\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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ACqBBAAAUAkkAACASiABAABUAgkAAKASSAAAAJVAAgAAqAQSAABAJZAAAAAqgQQAAFAJJAAAgEogAQAAVAIJAACgEkgAAACVQAIAAKgEEgAAQCWQAAAAKoEEAABQCSQAAIBKIAEAAFQCCQAAoBJIAAAAlUACAACoBBIAAEAlkAAAACqBBAAAUAkkAACASiABAABUAgkAAKASSAAAAJVAAgAAqAQSAABAJZAAAAAqgQQAAFAJJAAAgEogAQAAVAIJAACgEkgAAACVQAIAAKgEEgAAQCWQAAAAKoEEAABQCSQAAIBKIAEAAFQCCQAAoBJIAAAAlUACAACoBBIAAEAlkAAAACqBBAAAUAkkAACASiABAABUAgkAAKASSAAAAJVAAgAAqAQSAABAJZAAAAAqgQQAAFAJJAAAgEogAQAAVAIJAACgEkgAAACVQAIAAKgEEgAAQCWQAAAAKoEEAABQCSQAAIBKIAEAAFQCCQAAoBJIAAAAlUACAACoBBIAAEAlkAAAACqBBAAAUAkkAACASiABAABUAgkAAKASSAAAAJVAAgAAqAQSAABAJZAAAAAqgQQAAFAJJAAAgEogAQAAVAIJAACgEkgAAACVQAIAAKgEEgAAQCWQAAAAKoEEAABQCSQAAIBKIAEAAFQCCQAAoBJIAAAAlUACAACoBBIAAEAlkAAAACqBBAAAUAkkAACASiABAABUAgkAAKASSAAAAJVAAgAAqAQSAABAJZAAAAAqgQQAAFAJJAAAgEogAQAAVAIJAACgEkgAAACVQAIAAKgEEgAAQCWQAAAAKoEEAABQCSQAAIBKIAEAAFQCCQAAoBJIAAAAlUACAACoBBIAAEAlkAAAACqBBAAAUAkkAACASiABAABUAgkAAKASSAAAAJVAAgAAqAQSAABAJZAAAAAqgQQAAFAJJAAAgEogAQAAVAIJAACgEkgAAACVQAIAAKgEEgAAQCWQAAAAKoEEAABQCSQAAIBKIAEAAFQCCQAAoBJIAAAAlUACAACoBBIAAEAlkAAAACqBBAAAUAkkAACASiABAABUAgkAAKASSAAAAJVAAgAAqP4/uZI9NGAtNjQAAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 19:56:06,648 Relaxation took 71.9s\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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eVO+ur18UA4epBQkYJ+cPdS3ICLeGhHviIhjZhqfcx6vI569ZrA9+Vw+APAU0rdsaHY5uD2Px0/j2e1/GpSDBykFCdgvzh7qmxMRr885L0spvXiyMTnnyBHv+s5g+6on+PAA4IDqWzY0cw42OeLReFf7U4Ny8CCmIAH71dlDfSnnfGFE/E1EnLBjAdqc8/YcsfQ7g+2PP6kHCAAHUN+yoZTH84VRx9/EvF1ycCxvj62xtP2ZQTl4kFOQgAPmrJW9R6aIl+eI+7872P7Ok308APBE6n3DyiOjN14eY3F/+7ODcvApQkECAAAo9sNyVwAAAE8PChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAL64hzQAAAGrSURBVABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQKEgAQAAFAoSAABAoSABAAAUChIAAEChIAEAABQKEgAAQPH/AX2sliC0Q/0WAAAAAElFTkSuQmCC\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 19:56:06,938 Running model_3\n", + "2022-09-14 19:57:10,632 model_3 took 61.5s (3 recycles) with pLDDT 85.1 and ptmscore 0.831\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 19:58:27,707 Relaxation took 69.0s\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 19:58:27,969 Running model_4\n", + "2022-09-14 19:59:31,845 model_4 took 61.7s (3 recycles) with pLDDT 78 and ptmscore 0.757\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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AAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKAgAQAAAEBAQQIAAACAgIIEAAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIPh/R6osscl24/QAAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 20:00:44,946 Relaxation took 64.8s\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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ABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACChIAAAAABBQkAAAAAAgoCABAAAAQEBBAgAAAICAggQAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACP4/2/VwFYDrCq0AAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 20:00:45,235 Running model_5\n", + "2022-09-14 20:01:49,152 model_5 took 61.7s (3 recycles) with pLDDT 83.5 and ptmscore 0.832\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGdCAYAAAAoi1NuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAXEQAAFxEByibzPwAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydeZgcVbm43+9Ud89MNkJ2SCZkIwuTEMgCCYEEjAGvK8gVcUNAjaiIXvG6XBUxP/V6vW5wURG3gChuiJqAQNgSjElIJpKNLExiyL6RdTKZpau+3x/VM5n0dE9Xz/Rkmfne56mnZ6pOnTo9S7391TnnO6KqGIZhGIZhGIZhGOBOdQMMwzAMwzAMwzBOFyxAMgzDMAzDMAzDSGEBkmEYhmEYhmEYRgoLkAzDMAzDMAzDMFJYgGQYhmEYhmEYhpHCAiTDMAzDMAzDMIwUFiAZhmEYhmEYhmGksADJMAzDMAzDMAwjhQVIhmEYhmEYhmEYKSxAMgzDMAzDMAzDSGEBkmEYhmEYhmEYRgoLkAzDMAzDMAzDMFJYgGQYhmEYhmEYhpHCAiTDMAzDMAzDMIwUFiAZkRGRF0RERWTQqW5LvojI7FTbr4xY/uZU+bvbtmXNtkFT20ER6Z6lzBdORjtFpLOIfEZEnheR3SJSKyIHRGSRiMwSkYFteX3DMIy2wtx2+tPod3RlhLKDGvmzfqsRkT0iUi4iPxGRGSIihTw/y3m5thcK8xMyCk3sVDfAMIycnAV8BrjrVFxcRC4DHgX6AVXAYmB3ql0TgUnA50Tkrar6zKloo2EYhmGkcRT4Y+prD+gOjAZmprZyEXmvqm4o0PmVwIMZ6nkT0BdYCFSkHVuX75syTg4WIBnG6Y0CNcCnROT7qnrgZF5cRC4CngWKgf8B/p+qHm103AHXAt8GBpzMthmGYRhGM+xT1ZvTd4rIWOB7wBuABSIyUVW3tvZ8Vd0HZCr/AmGA9DNVnd3id2OcVGyInWGc3gTAA0A34LMn88Kp4QO/IgyO7lbVLzQOjgBUNVDVPwHjgWUns32GYRiGkS+qugK4GniaMHC552Seb5wZWIDUzhCRUhG5V0Q2iMgxEdkvIstE5Ksi0i2tbCcR+YqIrE6VPSQiC0TkxhZc9wIR+bWI7EzNT9kuIg+JyIgMZa9Mjb2dLSL9RORnIrJNRJIi8um093KfiGwUkerUe5mbGvKVrR23isjLqfezq/4a+b6ftDpHiMijIvK6iBwVkYUi8ua0MhNS7+kfzdTzX6kyX8uzCd8CjgGfFJGeLXgLWRGRASLSP8vhNxEOJ9gGfKO5elT1kKquLmTbDMMw6jG3tQ+3yfF5Oi+ISDcRuUdEtqZ+DmtF5D8kHJnQpqiqD9xOOErjWslzHm1rzzdOfyxAakeIyBXASuCTQByYQzjm9SzgbmBIo7JdgQXALKAPMDdV9hLgERGJ/ERERKYT9h68F9hJOF9lD/ABYFmqXZnoDSwF3gIsAv5GOMcFEZkMrAA+AdQBjwOrgWsIu7TfnaEd3wJ+DlyQem8LgH8DlgA9or6fNIamzr+Y8GnRMmAyMFdEbqkvpKrLgOXAZBEpy9A2AT5E2CP083waoKo7gfuBrsB/tuxtNCX1oeJ54DkROSdDkbekXv+gqslCXdcwDCMfzG3t0m1FwHPATcBLwDzgPMKha79owfvJG1V9FSgHBJh2ss83TnNU1bZ2sBHeJPcQPs34LODSjk8G+jT6/v9SZZ8DujbaP5JwAr4Cb02r44XU/kGN9nUGdqX2fyKt/H+k9m8FihvtvzK1X4E/NT6WOt4N2AEkgfelHZsA7AeOAL0b7Z9EeIM+CFzcaH8Xwjk09de7MuLP8+ZG5zwIxBode2uqbUeB/o32fyRV/gcZ6ntj6tgTefxOFUimvu6bul5l2vv+Qqrc3S38u5mVOn8t0Dft2N9Tx95/qv++bbPNto65mdval9uAQY2uvwLo1ejYUGB76ti1WX5HOd9no2tsjlD2p6my3yzU+RnK1Lf95lP9/2Rb9M16kNoPHyZ8avWkqn5HVYPGB1V1karugTBlM8ef+HxcVY80KrcO+Hrq209FuO4NhB/eF6nqD9Ou+X3CpysDgOsznFsDfFJVq9P23wqcQ3gz/nVancuA/0coh/c3OvQxwqc496jqPxuVryR86qgR3ksmKoFPa6MeFFWdS5jZphNwS6OyvwEOAx8QkaK0ej6cev1pSxqhqruBHxNK+/MtqSNLvXcR/r5HEvYk9Wl0uH44395CXc8wDCNPzG3t122f1TCxQf31NxL+DCAcvnYyqL/+2afofOM0xQKk9sMbU68/iVB2PFACLE9JI51fpV6nRBgLXD/E4NdZjj+cVq4xy1V1e4b9V6de/5SlzhdTr5dkaMdv0wur6iuET6pawtOaOXPcI2nXRcMEBg8TPvFskKaI9AKuI3waOaeF7YAwi9xR4GMi0jdbIRG5XETWRd2AdxF+oLiA8ImkYRjG6YK5LaS9uW2/qs5r5vqXnYy5SITBJ7Q80Gzt+cZpigVI7YfS1OvGCGXPTb1uznRQVQ8ChwhFk+upSLN1NdqfKRHAliznDEq9LpQMC6sRju0G6JWhHa/laEe+5Krv3LT996deP9Jo301AAviltmIuj6ruBX5I+HTvC80U7QKMyHOrvxc0/pm+nnrt3dI2G4ZhtBJzW0h7c1vG66vqIcLhhFF+R4Wg/me9/xSdb5ym2DpIRjYK9TSkuXrShx/UU/9h/Y+EPSbZOO0WWFPVValsP1eKyPkaTuL8EOHP4WcFuMT/Ah8HbhORb2dpw5Mcf6qVExH5ADCbcKjAGxodehmYAozj+NNSwzCMMxlzWws4CW47VVycen3lFJ1vnKZYgNR+2Eo4j2QosCpH2R2p1/MyHRSRswhXjD4G5FqYtNm6OP7ELNNwg2xsI+zV+Jaqlkc8Z2fqWucRJhxIJ1v7cpHtvPr9OzIcux+4DPiwiPyVcOjaM6q6qYVtaEBV94nI/wFfTG2Zrh8ZEXk/YXC0H5iuqo1/do8TZlp6l4h8rjW9X4ZhGC3E3NY+3ZYxLXYqu2r97+hgC+qNjIicTxjgBISZAU/q+cbpjQ2xaz88k3qdGaFsOeHNZ3zqHzyd+gmiC9MnxGagfsz0e7Icf39auSjUj0u+Lo9z6uu/If2AiIwELsqjrsZcLSLdM+yvX0/j7xmO/YFweNrNhL090MLkDFn4LmGmo5lkHt4RiZSIvkf4QWG6Nl3H6ElgDeFE5C/lqitTCljDMIxWYm4LaW9u65lKo57t+os0XGuoTRARD7iPcLTFo6q67WSeb5wBnOo0erYVZiOcPLmXsLv704CkHZ/EialQ70uVfRro3Gj/cMInVgq8La2OF2g+FerMtPJ3pPZvI3Mq1NlZ3kt3wnSstYRSTE/rGiNcM2J0o32Xpeo8AIxNa988WpcK9RecmAr13whToVYBA7Kc/91G5+8BEi34nTak+c5w7Oup41W0Ls33OBqljs1w/CLCDxwK/Hfjv5XUcQHeDmzAUpjaZpttBd7Mbe3LbZyY5vufQM9GxwanfqYKvDPL7yjn+yRHmm7gQo6nSN8BnFvI8zOUr2/7zaf6/8m26JsNsWsnqOp+EXkX8Ffg+8AdIrKUcKLjKGAYYVfwntQpXyQUywxgk4jMJ7zhvgEoBu5V1ZxZaVT1qIi8jzCDzU9EZCbhh+WRqetVAu/RpulOm6vzoIi8o75O4MsisppQEP0IP9R3J3wKtzp1zj9E5DuE62QsFZHnCCfjTiNMuToHeFvUNjTi18A7CcddLyFM0TqVMDC4Q7M/NfoJ4VoZAjyoqrUtuHZzfJcwxWu3XAWbQ1WX5zj+soi8kXCBxC8Q/l0tIpT8WYRrd/QlHHO/tTVtMQzDSMfc1m7dtpgwwUNF6j3FgemESYgeVtVsmf5+JCKHsxxbrqofb/R9LxGZnfraI3RWGccXFl4KvFdVsw1Vb+35xpnMqY7QbCvsRvgE5sfAvwhvnq8TrpD9FRotmpcq2xm4i3AYVTXhOgcvEt70M9X9AmlP2RodKyNcK2EX4dOxHYQpVUdkKHslzTxla1SuH2Fq69WEE1qPAhXAn4EPAl0ynPNhwrSn1YQf4n9FmI1nNi17ynY3oYT/TDhPpwr4B2kLDWapY0uqjiY/g4htyNqDlDr+NY4/ibu7jf+uugB3pv4G9hCuAH+AUHJ3k+Vpo2222WZbITZzW/twG8d7Z14gDDh+SDiPq4YwOcWdgNfM76i57YW0azTeagl7IssJg7wZpPVGZmhji85vpu03n+r/I9uib5L65RmGUUBEZDKhbOar6pWnuDmGYRiG0Wpa6zYRGUQY5JobjdMaS9JgGG1DfVKD+05pKwzDMAyjcJjbjA6BzUEyjAIhIpcRrgsxmnAl9OVkXzHdMAzDME57zG1GR8QCJMMoHMOBWwlTcD8OfEJzp5I1DMMwjNMZc5vR4bA5SIZhGIZhGIZhGClsDpJhGIZhGIZhGEYKC5AMwzAMwzAMwzBSWIBkGIZhGIZhGIaRwgIkwzAMwzAMwzCMFBYgGYZhGIZhGIZhpLAAyTAMwzAMwzAMI4UFSIZhGIZhGIZhGCksQDIMwzAMwzAMw0hhAZJhGIZhGIZhGEYKC5AMwzAMwzAMwzBSxE51AwzDaH+cu2TJrYJ8HJHBqL6u6HOCfHz7pZcEp7pthmEYhtHWDHhp6K0i+nEhGKzI66ruORH9+NaJm8yDZwCiqqe6DYZhtBNKl5aLH/hPes67Ov1YoMEB1eCyHZdeuu5UtM0wDMMw2ppB5aWS9ONPxry6ph4MvAOBepdtu2SjefA0xwIkwzAKxrlLlvzMc7EPZTuuqgdEZMjWieMPNldP2coK8QP/OkUvEuRQoMGDGy4eta/wLTYMwzCMwjHgpaE/i3m1WT0YqBxwokM2j9/arAfvqCiTat+/TlUvciKHaoPgwV+O2mAePElYgGQYRkEoXVouqkGliOvUXDlVXSYiU7dOHH8s0/GRL69/h4g85MR1a3ROEBA8JsiNa8cOTxa67YZhGIbRWgaVl0qgrtJJkMODLBNh6ubxWzN6cOb6ke+IiTwUc8c9GKgGySB4zInc+KPha82DbYwlaTAMoyAk/bqyXMERgIhMAH5TurTcSz824uV1lzhxf2ocHKXOcZ541wuyrmxlxeACNtswDMMwCkJtsqQsV3AEIMIE4DeDykubePBD60ZcknDuT42DIwAn4hKed70TWXdHRZl5sI2xAMkwjIIQqN83j+LXAj8qXVou9TuG/XONc+KeEJGs9yURGaqqK8tWVry/NW01DMMwjELjB/G8PTiovLTBg+9fM8zFnXvCNeNBl/LgHRVl5sE2xLLYGUYbM3jlPKfKuSBHgTqgFqjbPPaN7W18a2/VgGbu6+nMBHYBX019f5MgPXOdJCJdgF+Vrax4E/CJNRcOO9Si1hqGYRgnhZdXDnaB6rkBnODBCWM3tzMPut6BOpxETlTXxIMxie7BOyrK3gR84t5ha8yDBcbmIBlGGzF45bwbgfuAHoAAHP93EwCflCRS+xMAKIcVHke5fcu4N1ad1Ea3gr6LFt7pxH0n5iXyPfUTRbHi3wCvFnlFvfI8dzPwvjUXDvtHvhc1DMMw2pZ/rhx8o4P7JOVBBXxVGoUPDR4MVElCIgAqlcN16OMHlds/MG7LGeTBMXd6rvY7iVjeTf7E5cVFvxF49eyilnnw3mFrzIMFxIbYGUYbMHjlvPuAR0ToKYKIgAg4F76CAnhACdBNhG4iFItQLI4+znGLOPaVLn9m+il8G/lybqABQeDne959gQa/Bnq14IHNIGBB2cqKu8pWVliPuGEYxmnCyysH3+fBI06kp4TgRIg7R0waRpU1eNCJdEuIFBeLFPdy0ucc527p62TfD5eXnlEe9IM4fhDP97z7jgTBrxV6+S304B0VZXfdUVFmHiwQFiAZRoEZvHLetcAnjt//TyTb/gzlSkSYV1r+7OdKy59t0//V/stedAPKF+Td9ZPGuQDJoI5Ao6+DF8aP8mYgr/Ma4QFfA14oW1kxqCUVGIZhGIVj5crB1zr4hGQRnicS6QNoD5GSUpF5s8pLPzervLSNPTjZjS0fVQAPCrXJTvhBk/wLWekkIl0k9GBd0DoP3lFRNqglFRgnYkPsDKOADFk1b7gqL4tQ0lw5VVDNHSmpQtghI88AN20dP31nYVoKA5cvSKjyWeAOoA/huL9DCo9sGz/1Y/nW13fRwvnA1PrvY14CF2E+UjytXNzFI52XhcPAbWsuHPZISyswDMMwWs6qVUOGq+rLItKsBwPVhvHlucq94AdUwzPATXeN31owD05bPjBRpUWfdQR3xPD7eARSQ/xQLfFH/jl+XQs8OKaRBwOKYpU4lzvgGZOIc5Y77r1u8Tgx1zoP3jtsjXmwFViAZBgFYsiqed2BxcCIXGWjBkgAvg+EZfcBt24dP31OK5rJwOULegMzVblThLOztG+FKhO2TZgaea2FvosWvgoMa7wv7hWR7QkigBNHPMOcpVYGSQAPAbevuXDYkdZUYhiGYURn1aoheXhQqY34GXSZ77MnLLoPuPWu8Vtb5cFpywf2BmYGyp0uiwcrtXhFlRZPWDthZR4eHJPmwYCi+BGcZH+fvZ1jROLEIXkCdInHibc8SIKUB+8dtsY82AIsQDKMAjBk1TwPmAu8KUr5FgZI9dwHfG7r+OkZF5jLxsDlC8YAnwLeDxTlKh8E/GHbhKk3RKm776KFQpidKO2JoRD3ElmDpEQzAZQnHp54zQZY6cRcDAkTYKDoQeDTK0YPejByBYZhGEaLWLVqSF4ejNqDBLDU99l7YtH7gM/dlWWh1WxMWz4wLw/uDc76wysTVkX04JiMHhR8iuKVSIYgyQPGFSUoyuK5Ys+jxIvuwRpgbyzGEREU6KR60MGn/zxohXkwTyxAMowCMGTVvO8Cn4lavgVD7NIPrQZu3Dp++prmzh+4fIEHvIVQCG+I2r6Ga6t8cPuEKx7KVbbvooXdgQOZjglCLEOQ5LkYMdf8fFJBiLt4TjkIQqLRNYRwMrAgBKo7RfjyS6PO/UWu92EYhmG0jFWrhuTlwaQqURIS+KrMD4fYpbMauPGu8Vub9eC05QNb7MGjWsRO7fXB7RMWRfDgmOwelCRFscomc5AHxTwGxJr3YEyEzvE4Xg4PHhbh1USCZH05KUVkAMjZiB7eqdR9efG5PzIPRsQCJMNoJUNWzbsZ+GXU8mFwBBmCniYEAWiQtVw1oYzu3zp++gn/yAOXL+gG3AJ8EhgatW3p7QxUaoErt0+4YlFzZfsuWngBkFVSIo5YWqDTXO9RGtUJl3hSRK7NVqCoUV1hz1PTYQm+Bk+pBm9eekH/Fs2ANQzDMDKzatWQm8nLg9GH120OAl4JspZt8OBd47eeUGja8oGt9mCtemzRfikPLsrhwTHNetBJHYnY0YYgKQZcUpTARfCgQPVZicSTLosHk8A/i4oIRIAY4k1F3Ogm5TRY/5QGG9+8pP/vzIM5sCx2htEKhqyadxnwk6jl8w+Omi1SDPwIeKy0/NleAAOXLxg6cPmCHwDbgB/QQik0IgH8uf+yFwc2X0ybHW+uGuAHdQ3fu/yGzv33K2PPvw74ANBkLHXjYXieuIzBUerYNSLOhhkYhmEUkFWrhuTpQSUZMTjaHgSszx4cQSMPziov7QUwbfnAodOWDyyIBzV0dcqDk3N4UJr1YKBx6vxODd/38Fyk4ChsB/993/mvZPXgbs9LBUcgbmLG4Cg8NuIacUPMgxGwHiTDaCFDVs0bCCwlzAAXCVWWqsoawhtuHIirkgDOA0ahOCUVREUMpEJkH3ivisikPE5qluDEYYArgMu3T7iiMr1c30Xzu4CsAG9IrjpjLj7bOe/mKMPrUmwCyiouLqsGKFtZMQR4GJhcXyDu4nguTKcal1izgZeq1iXV77Lsgv61US5uGIZhZGfVqiF5e9BXXZpUTfOgJo7BecdglCruCMp+VXZH/IiqwH7Y9wq8WltADx7QLryuZ9V/m/LgogwenNQF6lZAbU4PJmKVsz2XvHlwzKN/juF1KTYBZQ+XVVQD3FFR1sSDG+JxDnge0AmJfRCR7OswqR6qU/+FLkv6/8k82AwWIBlGCxiyal5n4O/ARXmc9gjwvk1jZmT8pystf3YE8BtgXPQqBcgvkUEUwuF19fU38Bjw79snXNHQr9V30fwEMAfk6nC6ac6apydiJdd44n0u5kVaSO/tFReXnZCtKLUg7FeALwOuPkAK5yvllk2gwduWjDpnbpSLN8eDC3qUAv0+OHX/0tbWZRiGcaaxatWQFntwzJhNGT04q7w0bw/uBjYDlQX2oK/Ca9qX4ES3pTy4qJEHJ6U8WHc1RIk5ZHpJ4sA153re54bEIwVIb3+4rOIED6YWhG3w4KvxOPs9D2QALvbOnBVqsPFti8+Z1WoP9ljwUCnQb//Um9qdB22InWHkyZBV8xwwm/yksAz4ULbgCGDr+OnrgcuA70ar0kNy9Ji0hCzBEcB1hAvRAdB30XyPMI3o1XlUvw74QoDOyfVwJtCgIj04Alhz4bDkmguHfRWYBryW/+KyknnsQQQeXNBDHlzQ84EH/94rKZ63RTzvpQf/3qv6wQU9f9PSOg3DMM40Vq0a0mIPZguOAO4avzWyB33gFWC1SMGDoxqNsV17pwdH0MSDkxp5MHIb1gFfqNIgpwePBkFFenAEcO+wNcl7h61p8GCXhsVlIz14BOneYg/2WPCQ9Fzw8AO9/v77pOd13uJ5nV/q9fffVfdc8Ot25UHrQTKMPBmyat5XgbvzOGUnMHHTmBnbo55QWv7sNcCDQN/MJRwi0VfpjkL9/KjwjtDsjf69ybrgt4RpVj9+fHeuJ2FavXvy5SUApUvL4zEXX+e5zMPyVNX31Z+0efzYZc3VWLayojvwQJFX9C4nLlIPkqr+cPGofrfnLJjG7Oe7xyTmrRHnhmesNwiWoDr5g1P3203VMIx2zapVQ1rkwTFjNkX24Kzy0mY9+C9gU4EDo1r1OKRdOEwntPk+hPcm6zTNgz5kyrV3Aq569+QVJQCDykvjw+OxdX28zB6sVvX3+v6k+WM3N+vBOyrKuifhgRVFRe9KunNwsdxZyVX9Hy7ud2veHuz+/P0xL9ZtjXNFGT0YBDVLVJOT90+96Yz3oPUgGUYeDFn19GdEgrtFAuq3MKTIei+oAa7LJzgC2Dp++lPAhcDfMpco3L+uKmv8IDXnCCHCU7BfivAAJwRHALl6cvRn9V9tnTi+DrjQD/wF6Q9pAg2qfPWn5gqOANZcOOwg8O5kkPxqoM3P5K1HRC6IUq4xs5/vLoj8KVtwBCDOXYrI17IdNwzDaA/8bdWQz6wXuXupCPNFWC7CVpqxYMqD+QRHAHeN35rVg0ngtbxa3Tx16q3ZEfRgi/blEF1yBUeQ0YMeuYeaS4MHN4/fWufgwn2+vyBI8+DRIKh63fen5gqOAO4dtuZgDN49IJn8ajx4PaIHvbw92P35+0Uk8adswRGAc0WXisTbhQetB8kwcjBszVMOeLMqXxbh0kxljq9r1CS4+MCmMTMebum1S8ufFeAO4NuEE1oBmp2AGZFqwkme924ZN3VV/2Uvfgv4fNSTVRU/mene4ZE5wArWQDBm9+RpTU4aVL7iEgnXqBgMPJoMkn/dOnF83jemsas3DyrxiteJSK7F//YBfRaN7BvpGrOf7y7A/4rn3Sle89JU1ToRGXHTlL3/itZqwzCM05971gxzwJs91S/7Ihk92EuVMtVMIcIHxozZ1GIPziovbeLBSmBJ63uPGjw4f9yWVf2XTW6BB9P3BoTxYKYHhrE1UDRm9+TFTdxz5YpBl3jIWwQGB/DopmTyr5vT0pZH4a2bxw56vfij65DO0TzY94ORrtH9+fsF+F/P63qn84qbLVvvwb1Trj+jPWgBkmFkYdiapzoDNwGfBrI+MaknCJoESN/eNGZG5Jttc5SWPzsW+C0wEgSRSBM7M7GDcEjAT7eMm7qvfmf/ZS96hJNP3xa1Ig0U3890/5BGmwK6FPSK3ZOn1bS00VGY/WSncU/0/cVLW0uuijL2sN+ikX13R6r3+e5fBL4pMQ9xkXruXgSuumnKXj9KYcMwjNOVe9YMy8uDg4OAwSfu+vaYMZsK4sFZ5aUNHjwMLG15gNTgwfnjtjTy4OQWerDJXsI+Lj/1tQO8pRC7YvfkxW3qwU5P3j5u8NBhL3XrdnY0D/b9YCQPdn/+/i8C3/RiZ+FcImd5Uh7cO+X6M9aDFiAZRhrD1jzVH7gd+ChwdtTz0nqRHgfesWnMjILdHErLn+0EfB+YCXknZ1gM3AM8umXc1LpMBfove7Er8A8g8uTNIFCCjEFSA0uB6bsnT2uybkMhmf23TkPwZN2S7v8Zf7nbx3KWv2bvzM2Dqp+dCzwPzL95RuXrGet9vvtHgfsB8giQAD5/05S9345a2DAM43TinjXDWuTBhCqXacMAtceBd4wZs6lgHpxVXtoJ+L4PMxcCdS304PxxW7J4cHILPdhskZQHF7epBzv97VNDxKtd1++c0nifPv1zlt/8r3Wbjxw50ODByhn3Z/Rg9+fvb/CgF+uGc7k6pxr4/N4p15+xHrQAyTBSDFvz1HjgP4B3kzvjQEZSvUivAJM3jZlxuIDNa6C0/NnrwT0skqOfO3yE9Qfgni3jpi6JUnf/ZS8OIryZ94raHt8Psi1oux64fPfkafsyHk1xydLt54jIuCDQ3YmiePnCsX3yuinNfqIkjpNX8NywVzu9jed6/iDnOZMPfJ0LK09Y9H0loSTqA6aDs5/vfgPh08rU6nuCi5aSFcJcrxNvmrJ3ZfR3YhiGcWq5Z82wVnvw8iAgESaYmzxmzKY28eCs8tLrK+Dh10Qie3D+uC0RPTh5EHl7UHN4cHHzHvzJ9nOkWMYFR3V3YmC8fOFb8/NgyRN3xsXVvuK8umFnde/FwIHn5zxnx47NvL5vZ+NdJ3iwcsb9B7s/f/8JHhRJEIuf1aSuLNQCE/dOuf6M9KAFSEaHZtiapzwRPiLCp1UZ0dp/hyCQAyATN42ZsbEwLcxMafmzg8FbKOLOST+mqrXAd0Xkh1vGTc1rUvxTQAUAACAASURBVCxA/2UvXgE8S8R8oVnmI20DpuyePG1LtvMuWbpjhPNkjnPu/PresCAIjvnJ4O6XJp4b+anT7CdKvoPn7sQJr8eH88d+WfJaNGJE5R+48sAXsh1WRDbi3BBETugyknhePXerCIOkNh1SYRiG0RruWTPM2ybykWqRT3dTHdFNlVxRR3NMDYIDsTBjXZt68PPlpYM3wcI9Ik086KnW+vBdRH44f9yWFnhwcgs82GR3yoOLs3vwpztGuC4yx3Vy54uX8mBNcMzfH9z90keie7DkiTu/47zqO8X5FBV3YvjwsTnP2b9/D9u3Zf0VqchZG50bNETSPBiLn53PMP9VhEHSGedBC5CMDsvwtU9f7BwviEi3+n2qGnaX57u0Dg1D7KZvGnP1c4VsZzZKy58XkM8BHwLpCfo68JiIu3vLuKnHWlN3/2Uv3gr8PGr5tKF2+wl7jtZmK39p+c5S56TCZRnM7Pv+7MXjzrkl13VnP1HyLuD3eA6c4BPnFwNWEeRIYtG7diXv3H1d9gKeB5kCIZFwqF30IOnbN03ZW5Dx94ZhGIVm5trhF+9y7oXDjTzoVBkZBJwfBHnnS+2qygTV6ReO2XRSPHhzeakcg88l4UPV0LMYXhd4bK/I3fPHbWmlBye3wIMN36Y8uDi7Bx/aWepKpMKVZPHgEX/24vfk9mDJE3e+C/i9844hLkBEKBt9SfrzvSZUVVWysWJVlqOd8LyhGZcTEYnhxbrn5cG9U64/4zxoAZLRIRmx7ukRIqyRLIsJ+X4YKOVDEMgPN425Ou91BU5X+i978bvAZ6KUbdSLdJRwzlGzQxkmle/8pxfzml1gMAj0O4su7vuf2Y7PfqJkFKrliJTgBFIZ5v7Q9wn2J0Y0295YcIxbtl+Iy5RpKFtwlEI8h3iR16BSYNpNU/a+GPUEwzCMk8EH1o0Y8brImqosHhzq+1yY59PCwUHww7eP2dSOPDg5Tw8CDR5c3LwHH975T697Dg/W6ncWvTO7B0ueuHOUKuUilIirwXlhA84/fyzFJZ2abW8Q+KxZ/VKGI3E8b0SzvUTO64TndW62/kYoMG3vlOvPKA/aOkhGR+Wn2YIjgOhz8RsWWL2vPQVHKT5H1nWYMlIHvDNXcDRlxR7nnLswV2XOyWenrNjz1UzHZj9e3B3VhYiUAMdXuQV61K3P2dCkK+FIbGCmizYbHAGoH6DRPzQI8OBDC3t3jXqCYRjGycCHn2YLjgA2OcehiHV5qpyjel97Co5StNCDzQdHU+buca5zBA8m5LNT5mb2YPGfvtZdk4mFIpQAqMbqNUh1dVXOhjrnkUg0HUzp3Lk5h9AFfhVBkDHPRSYEeLD3wkfPKA9agGR0SESY3PxxwbkcH5QVX5X5wNSNo6/5ZCHbdzqwfcIVPvAeVd2Wq2zqpvyB3ZOnPZ2rbF1tXS9xOfr+j3P3lBV7Zk1ZsSf9l/EcIsczKynhSrfA2XUbIlX8ejxDxtqIkbEmffLofR9MmH3QMAzjtOGASLMeVBH+leOeKKp+V9X558DUG0ZvbIceXNQCDy7O7cEddb0knocH5+6ZNWVumgf9+HMSq23kQQ8NwtF6UQIkgOLi9F6mGM5FS1roJ4+0aw9agGR0VHL+7TfjhV3Al0Xot3H0NVduHH3NGdVtnA/bJ1xxCHijapb8PCk00G/unjztd1HqTNb5+zW/sb1fAb5RHyTNnls8Eri4SalAIenTo3ZdpEr3x5sfhpeDJKo/zqP8hx5a2PvtrbmgYRhGIQkieHCHc2S5We8Cvqwi/W4dvfHK60dvbMceXBTRg3xz9+TF0Ty4y9+vyRZ4MBUkFf/6npGUHGjiQQ3i+Mlijh2LNv2qaYCUzyL0flK1Li8P9l746BnjQQuQjI5Kba4CIpI+2upl4IPAoIqya75RUXZNs2k72ws7Jk5dr8rbVbVJjh5VJfD1p7smTftS1PqWXzYwGQTBpjyb8UXgf1JB0sysw+AUelavS61PC6IggeBSmwTScOxAph6kKITB3U3i3O3AM3mc+dOHFvbu07KLGoZhFJZ4BA/WiPD6iffbBg9+qqziG58qq+ggHlwcwYOLo3vwroHJoKqFHpy7R3B1M8VlidfU49jRANSBdkWCcxF/BM6fgPMnIP5FEPQBzRQgRYvZUg85b3IukbcHey989IzwYIty3BvGmY4qi0W4Mlc5EUFV5wDfA+ZXlF3TIbOa7Lxk6uP9lswfLsIPgEkixFWpQJm189Kpc/OtL1nnf9g593yei93+JxBTxK8/S4Gj3rnsT4xif2Ik++Mj2Z8YiXd8wd4TEAAVFGVffCSaiEM8HsZbfpA6DqiGcVCjuU2N+MTNVx18BOChhb1vIUxj2j1rq0XCSpU+wAMPLex93U1T9nbIvyPDME4fEqqLEbkyV7kdIvRq5MFPlVV0yPvXzksWP95vyaThIprBg4vz9+A+/8Ouk3teYvl7EOGEpWnj8W50Ku5NSUlvSor7UFLcG+f3RDL0g4SeOxeVfRQVv0j84CjiVQPAE4LEYehUBM6hLok6H5XwFfEba/UTB6+67RGA3gsfze5BFVAPUQ8lAOf3QYIHei989Lq9U64/rf+OLIud0SEZuf7pa0TkyVzlVHWXiPRfO3xGCxJ/G80xccm2x+JF8WvzCpIEuvjb1pfWPD/iQGIUBxLDqXWRF607AcXnI9WXEyP38gxhsASgleLceuAgcADVag30QjS4kEDDWEjq15Vt+r4CP0AD/1M3Xbb33hY12jAMo0Bcs37kNTURPCiqu1Sk/wvD15oHC8zEe7c9Fj8vfm39Gkg5cUAJ1HQ6uv5w8YYRnUp6U1zcm1jOdeMzE8i/2LrAQZB7QJmiID4qfqULiho8qKLVmkheGCTqLtREAE4QvDAwyhCgBd5R/PjhT+2d+vbT2oMWIBkdklEb5sVUdaeIRFkpe9La4TMircBtRGfcP7b0dk42JooTXZsNkoRQCpI56GgNb635CAO0vHAVqkIQZOi7alxEVX3/wg9M3rO6cBc2DMPIjys3jIqhupOIHnxh+FrzYIEZN2tLb9dZNiaGJbo2GyR1BXoD3QrvwZ0rKqg9WFSw+jSmBN2an+GmklQ/cfDCPdP+7bT1oM1BMjoka4fPSIrInyMWv75NG9NBWX7ZwL1BoF+pqa7NnglHQGKCOCm4FAD2uNGFrVAkHJrQbBERce6hwl7YMAwjP14YvjaJefCUsvyugXuDo/qVmldr0WQWc/QAGSbIWW3jwaKukdf1i4QkBXfQkWmZwYYyGhOX7Hxae9ACJKMj88eI5a4ftWFe4e9KBsCPNNB1WYOkwt63Tw4iOddSQuSihxb2ziddkGEYRlsQ2YNXbhhlHmwbfqRVui5jkFQCZFiyr7AUPh2BBIJUN//nIn7iot4LHz1tPWgBktGReZ5wDG0uhgBj27gtZyRlcyoSZXMqPlr211c/PXpORdPU2zlYftnAOuDTGihNgiRX+KEEjVGUwcFzbVN5jnaLiIjnWZIcwzBONebBVlL2hopE2RsqPlp21aufHj29BR68K+XBY0qTIOmstvZgQNW+Jon5CoLU5PAgnng1PU5bD1qAZHRY1g6fUQv8NWJxG16Qxui5FY94nquOxb37Y4nY9724t3z04xu3lc2pKMunnuWXDXwKmNskSGrjZ5U9gg2crVvb9iJZUFV1nmsbKxmGYUTkheFrzYOtYPT0ike8hKuOFXv3x0pi3/eKvOWjZ2zcVvaGPD14V8qD9UFSXcqDndug0Y2oPboP/9ipiVEUX12yy2nrQQuQjI7OoxHLmRgaMXpOxd+8mHejuBMfbXme6+95bsUFf3m1X55V3gnUaaDUHGtmTlKBKNF9vKP2o216jWZRXf2+iTvqTl0DDMMwGjAPtoDR0yv+5hVl8GDc9ffibsUFV7bQg42DpDa0RLJ2P7tfrmq7C+SIMNSrXb3j6omnrQctQDI6Ok8DlRHKjRq1Yd6otm7MmUDZnFfLXMy9KdtxceI5T6IKF4Dllw3coKq/hDClds2xWtQvbJCkaJ2ir3UKtj1wY9UbKeZwQes/gSD77FRV9VV5b9td3DAMIy8ie/DKDaPMg0DZVa+WuUQzHvTEc7E8PXjXwA2aTHmwOhUkHS60B2vrlIOv1VRufGDL3ENosu0m+gbFzXhQkj7in9YetADJ6NCsHT6jGng8YnF7egaAfC3XmGhxMmnEo+vymnypSerqe45UlZqqWjTIXw5ecIxe1S8z/PBvmbTvq1y5+5NPAX0WXtAnsfCCPoP+vfJNt/l+8tWaZBI/CArfW5WlPlVFg2CfBsHED0zaddqmNjUMo2PxwvC15sF8cRE86MmkEZPy9OA26urnIGm1UvOPWvRI/o7ykz5HD1Syd/MetqzYzMalFaEH+/dPLOx//qAtv+Y2f2/wanJnkqCq8B7UhEIiw36UwNXsC7yqibvecNVp7cHTdnKUYZxEHgXefeIuPWGefXjvkH8Hvn7ymnV64pwMzVVGRBxwCbDwD08UjwP5ighDgRgia4AKETkEHAYO7ZYRSUn88Vb1PSR1V1JVaiprSHRO4LwMz3JUtVvdZjm7dh09atfSI/Xate413In5RYd//arf7q3/Zuak3frA4r5/8YPgs36qpydc3/X4Aq/1v3rn3NKYcyuAswlXCT+74WvV7ifMnlUF1WpUXxPYCexQ1R0oAlqpqn9QP3jlpil7bfE5wzBON5p4sJYh1MkwlCI89lGky3HUmAeJ6EF33IPFb31inAhfIS5D8YhJQtaQONGDCS1KDgwG3cp+QfqEdWi1UvN0DYmrErgeTT2oqlpztFqOHTpG1eEqjh2qoupQFTVHq9OLDt957eQGD+6eNUn73rX4L8Gh4LPBodSaRR6IJ+GrC1/xwBW7pa5rZg8q2l0afVpSp2iJVmuxvoakPIjuwNWJSrJSXd0fgsShV/ZOuf6096AtFGt0eEZtmNcF2AsUg+Jc0yRkqfU/ARm2dviMjSe/lacPY57YtM45GYGAcw5xkuod0YYen1QP0Kyvl1zUV5z7aK4nbf/wbuXZ+GcBkPqbcyNicQ8XC+UwuG7+2guqH3tpQM3iDbHa3bepUgoaxifZLzHw5rfVNGRkeGBx3yuABRHebgUwfOak3U2qfnh5qQO6odqTIHACO983cUeUYSqGYRinFVduGNXgQZ+uVLp3UicjTiykNXQNfk8Ra4e9MHxtx/bgNZvWOS/8ATnnEEl5MLVByoMHame91nNTX9fLfbTZhWCB7kEPemsYGUkfkK5pHhzi4Xo5iMGRI0fWHtx14KXKrZUbajpV30ZMS9UDnIaBTWpx9TQG1nzybQ0e7HvX4rw8uHvWpCYeLP3Ncgd0U9GeQZfAUcTOHVdPbBcetB4ko8OzdviMylEb5v0N9LpMwRE0rP+Jqv4HcPtJb+RphAhxcYIX95qkH1VVAj/ATwZ0Yd/7nOflfMrmE+el2PuP1+EDaLhIbKr+ZJ2P1iQZXLeAa2tvGwWE4+BjTcdP18spUMUPwg2YBjzcqNg/gH1ArhXkhwEjgbXpB94/bmtAmB43SopcwzCM05YXhq+tvHLDqL8l6XPdYfdBAjm7aSEp4oi7EdW/mAcdcRHB87J4MAg96EvyfV7f3B5Eobse/5nrHsIns10beXCTj65KUvl6JTs6bRuFCz3oVTX9KK8oONBiRTsHaNcApPAe3Prece3WgzYHyTAAEV2dLTg6XgZEuPHkter0RJz0jiViGddmEBG8mEeiOE5wVunQF93Hqcxx713j3sQROTHZj/qgSQiS2rCpD9PqfpRz7ViRcLVxzzkSMY9E2PN0VeMyMyft9oG5Ed4uwDsiljMMwzhjqZJpqw+5j2YOjuqRODVyoXlQpHcs1owHPY9EUZyuPboO7Xm0F17QfH9EV+1GnBOnK+le0Ncg2KMEu5Rgm6K7YL+/D6podsiEIEgguCqHtzeG2x2D4EQP7p41yTzYDBYgGR2e0RufvkGEz0dci63H6I1Pd9ie17FP/qvYi3tdo5T1Yh5/j3+K+xLz+X3sfta5q0mmCwBYHLsleyV6fBsQLGeArsx7eSTPOeKee2eGQ39Jv1QA+KktoME/HU4MhmF0LEZvfOyGKrn68yolOcsmGdhj9MbHOq4H3/yvYs+L7sE+1X05/8BwBhweSNearoimj+GHs7VH5gp84AhwFKiBY1RRLdXHZRURd9Th9nk5PUiQut5ewr6lgw3X6XAetADJ6NCM3vj0Z4DfiWTKt5IRCYLmntu0b8SToc7ld9tQibHRu4rH4v/H/yVe5GnvS+ySC1Bgs5vEbjcyUj2Tk7883o68WgCek+4PzS0+L233PKAajgdHmuomRAQVIQj3X/rA4r75rmdhGIZxRjB642OfAX6HSCQPKiIlwbMd14OSvwcFoWtdVwZUDmTYgeH0PdqP4mQxKJTQiSKKI9VzwO0//k0eARKAHHXdi781N6sHqQN2ghwUpFqQY4IcSaUcOsqlfe9a3KE8aAGS0SEZvfFpb/TGp38AfDfPU4+8cv7Ved6W2g+CbGvN+dVyNuWxm/hl4jF+Ef8LT3lfaXaYQD1nB1sYHjzf4uuGQ+5kUuN9MyftPgo8Ux8cZZt8piAKH27xxQ3DME5DRm98zBu98bG8Pehx4MjS8+/ruB6U1nkwpjF6VPdk8KGhDD40lL5V/SD7kkEN1FLL0UjLVWVGAkGOuhM8uHvWpKPAMwTAvrBMk/NU4ABCVcfyYIftIjU6LqM3Pl0C/IoWrOegyq8L36K2Z/iv1vZAuRPhbcAhVX05SAZf33jr6N351PPPGecdGv/81iCVxrtV7En1HHkNGehSXXMZ4pRJ/uz01N15o6pHM+z+i8Jbc00+C1Rvx1LbGobRThi98bEWezCum89MD16ytgdwJzTyYBB8fWN5nh6ce96h8W8vjAeL/WLww3TeGgdNBGiMjB48KPtP3N+CNV41ntmDVPNWSWb3oKigRzqWB60HyehQjN74dE/CLuWWBEerVOXjhW9V23L+g6+8wTm324t7/+XFvDFezLs8Fo/dHkvEdg79xepnhvxs1buH/GxVp6j1qa8FlaMgOAQPDw+HpPUolehBxvp/bvi+0dygyKhqICIvZjg0J1ojpe+Pl/SLNhbQMAzjNGb0xsda7MG4blrVRf965nlwYsqDnvdfnueN8Tzv8lgsdnssFts5dPzqZ4aMW/XuIePy8KC2gQfrBO+oh3fYIXUnHvfxOSyHju/wyLuLQ50G4mfxYJNlkzK0sVb69rtlSYfxoAVIRodh9ManBwMLgSn5nqvKPGDc2uEzzqhx1+fPfmWYF/fmiZMmt1LnOYkXx6cj/FZVDw/6yYqV5/345fNz1anoLYEfbGmL9koqUGo8iXW8/wjx1N27YThcnviB/ul9bz52KH3/zEm7dwO7IlbTodPaGoZx5jN642Mt9qCnO+YFFI17YfjaM8uDE18Z5nnePJEMHnRO4vH4dEh58KIVK88bG8GDqrcEQRt5UMNASWqOe/CgHEDrnx56QO5cGk3QzsGfjn3tzU08uHvWpN2oeTAdC5CMDsHojU+PAxYBI3KVzcAXRbhmzbCrkwVuVpsjnvxvc8MARIR4cRwR8ZznxriYW3/e/S9/trk6//nG8/zl0wee59f53w+C1g17y4ZDQMFpnY5P/vZQAAd9OOLnGR/5qlR2KnntcN+ee368vPRL9y8vzfT7fy5idTf/eEm/s/K5vmEYxunC6I2PtcqDvpx7zYpht595HpQIHoynPOjcGOfc+vPG5vDg3PP85XMGnuf7bejBYwJBuAz6Ie/AIeIcpJgjdCLI59O7+krJ7k6v9Xyx757Sq5Z/qXTG8qa/f4nuwX63LOkQHpT6RRUNo70yeuPTbxbhjyJSEq5yHfnUOuDW1UOvfjhnydOUEQ+vO+g8l/NmFvgBddVhn76q+kEyOO+1j120PWf9j65b4GLuinhRnHgihrh888tlxydARX/+8rTzGiaG/u6pzg44i3Bhu56preHrQHU0yvkB2rXqrK7xoLioj6QtVKGq+0TkWeDvwEK/pmY/8K+MC1o05T8+dumuHxToLRqGYZwURr/6lzdLTfEfpaakRIuOocXHaDKeOTMpD1535nrw0nUHnYvgwSCgrq6RB4PgvNdWRPDgpJQHS+LEiwvsweIALdafv/zgcQ92/vRTzXpQYzoap+er0LXr+rPiRTXFfSSW5sFA94k77sGa3jX7Uf4lzU7IbeA/dv3y0nbvQQuQjHbN2M3zvuF58l+NP/uqKnV1Qa5A6TDwztVDr362jZvYpox4eN3rznNZFlg4ET/pk6wJHw4GyWDu5tvGvi1n/Y+u+xL1kzYVYokY8aIYXqLp6uL5EhAQiJa9PO28V/I5777yARMFHomJDI3YhkoNgmpV7aVBQI4/jE3A8I9duqvDZnAyDOPMYuxLi77hvd7vv8Q/vg6denXU9d+Idj7S3KkpD153Znvw0nWvOxfRg75PMpnyYBDM3fxyBA9OauRBIFYUI15SIA8WBQQlWvbyg/l5cMCY8omU8Ij0ie7BIBZUa1x7BfEAjWlzY8w2AcN3/fLSdu1BG2JntFsuem3eHenBEdR3pzuaWcZgO3DF6RIc9Zu1WPrNWtyyu6yyN2pRL+bhxVNpcYShEU97OnUd8ME/5lN9sIaqfceoOVJLkGzV0INX8wmO7isf0PW+8gH3AkvyCI4AuohzvZzn4cXjuHgcF4shnoc0/SMZAvxb1IoNwzBOJRctePkOb0//E4IjAPHjxLeMwB3J2rGS8uDpERz1G7lY+o1soQfJw4Oeh+c1pIfLz4Mp/JoCelB5NZ/gaMCY8q4DxpTfCyyRnvl50CVdL++YR/xwnPj+OLEDMbxKD1fj0tdc6hAetDTfRrtk7OZ54pz8T7abg4jgeY4MY4fXAP+2eujVW9u6jc3R/1vLzhaR3zvnpiU6FcVR/AH/U75IA71t+xcnrIlaTxAEd4jKU1FvkrFEDFUl8INukU5Isg+hVvTEBQY1UOqq6qirqsPFHbHiGEUlckwlFnlqaY+g4nswMFLZ+8oHXAvcB/QHWvXUTlILxTauQVXRICDVw3QHMLfFFzAMwzgJjF28RFzN2f8jWZ6FC4K3dwBBl0PpaaVTHrzu1HqwrJEHE0VxwB8wunyRqt62fU2eHpQ8PBhLeTCI6EHYB9QKuT0YL4kdE5HIHqyuq/5e1LIDxpQf92AMJNYKDyKIL2FglMpwp04J4gFBSYDG2r8HrQfJaJeIMM05aXZpaueajLZ9Abj8lAdH/730XM9zu7yY90ZxEhcRxInnxbzLvZhb3v+/l0ZOs/nqBy94OvCDJ/O5fiwRw3mNl+tuysjfre828nfrvynI2vTgKJ2gLqD2SC1H9lXfM636v5cMTP4jZxv6+Sv5WOWbZuYqd++y/kP+b1n/54HHqA+OctaePyJCfQ+TeN6MHy/pd0EbXMYwDKNgSG3xNFfTqXkP1nRCqro23vUCcPmpD45SHvS8N4qkPCjieZ53uee55f3L8vDg0gueDoI8PRiL4VwOD05a323kpJQHiebBo3uP3rPz9W1LjlQdztmGo8eOUlG+LqcH+49eNqT/6GUneLAtuj8kELwaj/jBOF6lN6PfzUvatQctQDLaJaoMi1LOHZ9M+VvgTauHXn2wzRoVEee5Z8W5jDdbcS7hPO+lc7+5NPLtz4t5b9FAn4paXkRIdEqMHPXIhovTj4383Xpv5O/WfwR4FfgiUBS1XlUGX1r70+tvrHp/5UePXMElNT8nplXppRjgv8TNVf+OwEV//Gsiq9x/sPTcrwtUiMiVJ9bQtjjPQzzvx218GcMwjFahRceiefB4gJTy4HWn3oPOPSuSxYPiEs55L517QR4e9Ly3qObpwURi5KjJGTw4ab03clLLPbj34J7r/7WzonLtptXs3bkbX08cv6YoR6qOsGnlBqjjosSgv2b14LllS79OBg9SG7VFLcOr9vCq2rcHLUAy2iUisjJKuVSA9G3gfauHXl3Tpo2KwLnfXNpTnGv2yZjzXFdx8kDUOte+Z3ggTt4BZFogLiMiEgceH/XIhoYxbiN/t/6NwD+BB4A+UetqROcb3l67Hbi7u25nRu03+VzlhdxQdStTau7l8pofcHvl5Xyw6j14+EiYfu7GTBX9YOm5d3siX0rPUFdP0MbJZ8S5K+5f1r8tOqsMwzAKghzrEs2DYYCU8uB1p96DFyztKZLDg851FcnDg4uGByIt9ODkRh6c1HoP1q5++3bg7rqaWna9toNXlqzkXxsq2LVzJ7t27GDd8tVsXlkBCqIiBJk9eG7Z0rslmwcD0Oq29aCrdlf0v2FZu/WgBUhGu8TzZJmq5lyvQYRkUZF31+qhVxdsIYNxW/8iE7b9pXTyrrld8j3XOZkWZZy057mbz/n6kkFR6137nuE1wLUaaM6UpY04B3h85G/XTxj5u/VzCFdeH5PH+en8PPV6L7AFQFDO9+dzZe09TKv9P87SE9eqE2gyBvy7i/t19kS+3NzPKalKW2boTAkp74UWDcMwThZeZfdl6vzcHqzqmixaO/Gu1UOvK5wHP7xVJty8rXTyjbva1oOj8vDgopQHtQUenLR+wshJBfZgQMNCs5X7j7D3tV3s3bKbZG3aryzZ1IP9Ri7uLDk8qHsV9dvQgyqCtl8PWoBktEvKB0wPgOebHlEaD8JKrax9SSGueemOOWdfunPOi8UJzy9KxLaIcGTSrjl7Lt05511R61AlfcxZRsQ5cZ73p3zat/Y9w/dXH6n+cZ6L2o1GeQnlrfmclI6i+9ffMPLPADe8vbZO4FsRT+2evsPz3HtFxMtUuDF1qvhtGyj1bKuKDcMwWkv5Wwdk9uCJGkQooAffv+PsS9+388Xiwwm/qCqxRQI5Muk9u/Zc+r6dhfegOHEuTw8uGr6/uroFHoSXoAAeXBx6sHb12+tIRvSg39SDzvNyw/jXOQAAIABJREFUe9AH3aloZRt6UNqvBy1AMtotItJovLEiKE5IbYpIgyWmtvZaE7b99WznZHPMc5fXd3eLCJ5zvT0nv79kx5xPRanHr0s+pYHWRSnrxb2Lz/n6kuvzaadf57vqw9V53SwFkXSh5oOiB3CMbbzPE5kT6doiTdPYKaOiXttXpU6VuiCoDlSfU9UlQKtXgtfwB9iuM/gYhnHmI4F33IMByGFwuwW3Q3A7BTkoEMYKrffgzdvOdkm3OVbnXV6fAkkQPN/19urc7y95/45oHvSTT6lG9KDnXXzOqDw96PuuujpPD7ZyQSNFD8CJHpRjET1IJg9qNA8mQfcpulUJ9gTVeqyAHpT27UELkIz2zPzwJRUYOUhlcEYaAiUAvbq1F/I8WeCcZEwJKiLEPPneJTv+mnOowa67JmnUbDsigot5P+s3a3HklKFAnyAZUH0k7yApj0uEKFqnog8jDFz/rpHb0g7vjDIEEjgvw77yPJvyZ4Xzbxu3dfpHx22dRLgC+ZXAl4AngLwnJGsQ/P22Cdvb9SJ5hmG0C0IPBuD2Ce6IQ3wJ0zgHgjsquN0CSVrvwTpvgQtcZg8ixGq9713ygR25PbguTw8672f9RubpwSCgBUFSHpcIUbRO0YeBgesXZ/AgJ8mDAX+mivO3PjNu+ta54wriwSAe/H377ye0Ww9agGS0Z14GjtQHRJlIBUpTxm97Jp65RG7Gbf3LDc7J6ObKiIgD+UzEKt8buRcp5nUXJ/8TsV6A3gB+rU/t0fzS3IhKpF4kweei+NO7v9j13++956zxf7znrPFnP/lU5xN+A9e9rcYXkShpZJuIwTn5QxDh6aKqUpv0g+q65N23j9/WIKaZF2+pmnnxlvkzL97yzZkXb3kL4VC5McBtwK8IVwnPXm8QbAeuitB2wzCMU03owYOC1GVZFzAQ3EGZMv6xbS334Ie33uCSrnkPIg4lugej9yJ1F2mBB32f2to8PRgxSFJVjh6t3L1r5457t2197Y/btr52duf+T51wcs3ut/lCyzwozv0hys9HVfGTySBZV3f3tlXjGzy4Zc7FVVvmXDx/y5yLv7llzsV5ezCIBdvx2rcHpS0nMhvGqWb8tmeedMI1ue5pgTJzWf83/jTf+sdt/cs5/5+9M4+Po7j2/e9U9ywabSPLWmzLsnC8yja2vOElJl4UdoNwcICELASCHyTkJsGEPC7kEXK5gQBhCTeBBJIbkhtwEoyMAcONvIAXHIMRjvcFL5IsLMuydo1mprvO+6NnpBlNz0yPFmOb+fnTIeqpri6Nuutbp+rUOQB2Oe3KoHgdpy7lm1vzF19ppd7hv9j+U6EoP7FSVvNrrHn9k+r+3+y4ifOG/+rDdQgZ3NtT7bCnxEzfECYGx5xWGaNuRVnKExiqHOz50SkAH4YeHp/2PIwZrFjyAki5drE3rKN6YtuQR1QhfmT2nTMzdMnQun3MNwBYuHzWCcud3W8rC4cw81wwfwvARTCySniY+Rkw/+f/mVHbb5uZk0oqqaQGUtNeq3lLnKBLiWMzSrr4tg++NixxDt5aPQSMXc5W+6B43ga6It/c+lK+NQ5O2v5TISxyUNNY0/yT6vZb4OCkHhy022G3J8DBOOPmzk4PmppOw++PsF8iOKhpPssc9NYtDrvxkOJtj4gYHGQpIXtw8MS+WZY5WLi4cgiD57LK3wIHOEjwsMrPsI3/s/YvM85rDg5AKqmkkjp7RMBBIlxqodz1ABICw9TqVRS4Jq5xZNyDUq3WLRTlQZb8HRIUdwOkoiqk+7W1+Q9uHXLiJ3E7v7CwpL52H4QQUB196wpyxRFck/IEitVN0VbrBgO4JHAAAJw2xS+ZIRmBrOVstkDlCLS5LvSkLvleyfrVNqGMC+ayYmZINgyjHvyaD2AJgFes/j63lVR9AuDvgSOppJJK6pwVdeIgMcXnoLcXHLy12uAgI65xBAAEWOegUB5k5u8QWeCgopCua2vzx20dYsEICOegL8BBtW8c9Pv9aGo6jc5OT7QiERxUFJvfMLiMQArMpjaHKQdZynt15qsVIcaRMGYuORCYSEqJHiCcjwQ5WLW65DPNwaSLXVLntRhYY7HoxTNrKwYlWP0tACzNhAGAt07JsVr22F1TdAYvs1KWiGCz2/KkLr9voXhE3obO1k7o/t65EbuoCV9KeQT3pF+PCbaoxpGpiMimCAGbImBXFTjtKpw2BXZVgSLCKopwL1g+64TOjNt8uo5OvwavX4NX0+HXI4yjoB57bGt+Ij7qSSWVVFLnhZgsclDHxTOfq+0dBy32/d4Wr3UO7piiMyfAQZstT8pecrCzE7reOw7quo7GxgacOHE8lnFkKiKyCSEghAJFUaGqdiiKDYqigihsiB7BwRP7Zulgvk3XdWh+PzS/H7qmQep6T+MoqMcS3Kv1mVZyBSmp81oEvMUMjSj2s04EG4CvAXjKSr1Tq1ddAOCJ4M/MHNc3We+gcRm3rxUtv1lkaVlaCLGSJe+iaPubKHAAEDYFNpftx0VPf3QCRg7tnoc3sBl0sFk9nhYPXFkuCGFtzkSBH/PsL+MS5/NwiVZL11gREUEhQBEKmBlevw42wLCtZ9nls05sfGxr/goA11vwGSgC8EMAD/VbY5NKKqmkzgER4y0WrJGk2BwEJcbBW6u7OUiGC3ZcFztNH5dRuFa0VCXAQeZdRLH3+RplFdhsth8XTYnBQY7CQQAejwcul3UOMjNaW1vQ0tIcbeWnVzLGEgRFEYbLuO4HonDwxL5ZG/PHbV0BwwsmnoqQ5KBlJVeQkjqv9UFBqYT1MJTfnllbEXcebGr1KsGMPwJIKAGecEAIVTHNiG2mY3dNYRC+HvEBAVABUgFSAocK2FJsuQD+AmM5/DUAbwFYB2ATgPcJVKlAkAKB4CFAEGxEM/I0eeJH9CFgkliLux1LcI3zl/1qHEXcigh2mwICxsYo9iMAnRarvPexrfnD+qFpSSWVVFLnjD74coGEkgAHn6uNz8FbqwWDwzloYRVJKIoQIgEO7pjCgAkHg7ek8MNmi8NBokpFEaQoAsFDCIIQBCKCx2OBgwDa29tw/HgVmpoa+tU4ivz9CIpiA/qRg/njtiY5aEFJAymp815E+LHFohMAzIpVYMqx1TZmvEKEeaHnrcQ6URwMAGUW2wIAqFpeUqn5tQYAgCphH9oKStEScmWLpUCwVwgQSDfc7RjmvX061eN2+7fwTccPkSOqwHLgA7wIIiiCoubnWD7rRBUAq9GLXAmUTSqppJI6b0R+6j8O3n3MxnZ+hUDhHKT4TFAUASTKwX+VVGpagIMwgirEik6bqIgoEC7cyN4UCP9tykFN8+OTT2pQX38CmuYfyETkPdononLwxL5ZSQ4OgJIGUlLnvbYNLd0P4F2Lxb8d7YMpx1YvBHgXEuzcgxIOBhGmJ3JNzn2bL6LU1uy8Lx3E0BsOIGdRLYYsOYTcaw7COaK5N82IKgJBeiU8TZ6fMHgbg5sZrDH4yHz1eb4/pRSj1O7UC6zzmTGSBI2KU+QXAHrml4imrz62NX9OH5uUVFJJJXVOaduyof3DwbuPLYSOXfCZcNDSCpJInIOjN19EhOy8vFwMHToEOTmDMWTIEOTm5sLpdCZSVVwREaSU8Hg8P2HmbczczMwaMx9pbGzg6uqj8Hq7F2uCQREGWkSiXzmYP25rkoNxlDSQkvqsyGpknhtm1lZkhp6Ycmz1iCnHVv8NwFoiHmM2a2Uaf62HhLGCVJRx+1rTRHpmypjS8vTwpSehumTXHidBBHuqRM7cOuRffRiOof24BwiA9Muj+24ce9G+G8e699041rbvxrEjr7Q91SpMZgelX54JI6kj1ofLZ53oAHB3AvU99djW/GTfl1RSSX3WZJ2Dz9WGc/DuYyOm3H3M4KCPxpjtNbJCAmGsIBVlFCbAwYyMp4cPHw5VVbs5qBDsLjtyhg5GfkE+HE6H1eriigiQUh7dt3XsRfu2jnXv2zrWtm/r2JGNjQ2msJVSPxNGUkwOntg3K2EO5o/bmuRgDCW/nKQ+K3oFQKOFcikAvgIAU46tTplybPVPAOwFcF2si6y52AGKQxAICy20A2P/d/Vlg2e3zAwNZKMIgqoSVEVAUQjOTB1DFp1A9udrrVQZVwHoRXTEUudXo10j/RK6T4fUJKQuwcyJZd4D0Kaq2J/txq68wV3HgewsfJKeilOprrbHdxRNfnxHUaxEFSsAbDb9hAhQBKAoxn+JpiOGT3tSSSWV1HmqxDl497GUKXcfC+dglB7emoudAkVRCLDIwYv2XjZ48OCZoUGQFIeAmqpCdSpQ7AqcaQ4MKcpHdm6iAfjMFbhXBAeZZXQOSh26rkEGcg/1hoOqqsKdlY3BOXldR1ZWNlLT0uFKTW0rKtkxuahkR684SEQQxncPoSigJAfj6qxKFOsaumYwqWIpBKYTUSpLXiPsyoutB0vPnkYmdc5qZm3FUwC+F68cM1f6tc6fAfgljKgvXSKSpn7PNlVAVeLPNxx5Ngu6h1pI0B0AXjrx0CxTP+fpNS8VSK/Y50zvzhkhBGLeo/lgOhq35sdtQzxJyOKq703dG3qu/K9qmmITp4QiTKfpWDJ0TYJ1BoAWm0udr9iVCwBMDRzTYBJaFQAaHXYcd2dYyVDuB7AHwA4Y2eF3ANhx1+SjDQDw2Nb8aQDeR9DRI2AYmSbRk7ITusxbPutES7ybJpXUmdQa15jBgmgpEOAg8xpFiBdLW/cmOZhUnzXzuVrrHPxYM+dgC4H0yH7V5lGh+pW4bTiy+yh0TW8hCnBwXxQOltYUSCn3OZ3Obg7aBVRn9Hs0N7Sgsd6KDRhbUsriqn+Fc1AdXJ4mhHJKiCgcZA5dTWpRVdt8RVEtcdBudyAj091rDh6tnNwAAPnjtoZxMGgYmdUrpeyUup53Yt+sJAdN9KkZSK6ha1wASgDMDByzyK4UCVv4AJAlt7JfXtpedel7n0IzkzqPNLO2YiKAnVbK+v2dpm5z0QwkVRGwqfENpGO/d0Nr7erc/wXgXgBvnnioO7Hd9JqXslhii1AwzhbyPthUitl5Sh2o+svn0JeFYQa3Eihz2A0fCodd5XXur3eBq3yFukyo9KxQBEhQIFM3Q+ocNIxC9UTZ9doPgz+89XYqARgCAxBBWEz1Ewr252SDLIZVjaIaBGDBfv9s6HIhiEBxDFbW5evLZ9Yu7suNrSqjYhTpujYbzAsZ7JK6dijwkUAgYDtLmc/MQ5h5F7NcqZWd+uRMtC2pT09rXGMiOKgQFfUMM8zMrZL50kvb9yc5mFSfNPO5WuscrPaDvZHnqY1A/kgWqZ0KbL742WOO7a2C5teCP3ZzMCTB6/TSmixm3iKEGGez2bqutaWrcTgoUXWwOm4bYomZW4koc1jBUOGw23ndSncXB9XB5cuIxLNCGJNvwT1IzNLMze4J7VRZFwdTh71tykGACrIH51gOLx5FXRz0+/2zpa4vDBpHsSR1/fXaPTPPEAfnkK6rs8G0kEEuqdsOBey4EA5m5jOnDWF27WLOWqmV/cenxsEzYiC5hq5RABSjGwIzAUwC0PWXEw4FFGWAyZJ9kDy+7cglhwe8sUmd15pZW/Ee4kToAQBd16BLv8knDCEi3xlVIdjU+DNn1f+TCd+pCIBsBvDjEw/N2jS95qUUAG8DmGeELDXeCSJYMsDqNuTDU50et5y5JPIuOfRhSq5nNBHSAUgp+RgD3343+5try1eoNgC7AIyxUJkPwNiy67WjsQo9/sGwB2Gz3d/LBkdXsF+LzCYeUoR1aLpt+awTA9oJpr5dNIeIXhdCyeq+t4Su+SGleWJCw/jUX9I17SZ9yemBiyGb1BnTGteYuBxUhICIMvhjZh8D4y9p25fkYFJ90sznaq1xsFmHXm/S/WiAaI3kkepVYPPGN5CqD9TA1xnhgWZwcN+sTdNLa0I4SAgaSCQItrT49ddVnYSnI7GEraHKy8v9MCXFOZqIAhyUBgdXZa9VB5cnzEHtVNnRWIWGTfzgQdsAcDA4vg+4/EUro+uaZgs1TgdCqW9fPIdIvi6EDOEgQdfskNJmeg2zAMsRL+na9Jv0Jd8+4xwcsD1IrqFrclxD19zvGrrmHQDNMGYJngdwG4ApCIECFIpqHAEACbKD6M300fFz1CSVVBxZ2qQqRDRjhyAlRYy5rc4zCLtpwbkANubf997rukesBowQ4syATDAAgppqZtTFF5OO4Uv3NKfmd04VgtIDYU+FoogLFEH/mHfqD3eUXa/5Ycz0WZEdwIPxCmmKklA0I8sKxoBVFOMwLUIKLCQf7ItcawovFELZGGocGfcWUG2OqM+ZMfOn3qioNqu5S5I6C7XGNSZnjWvM/WtcY+JykICoxhEAEJGdgDcr0scnOZhUX2WNg+nCPDKdCkinjPCysLIHCegK1NBTBgfHbX1d1/UQDjKkDIyNLY5YVXv8yUozMTOGDx/WnJrqmiqECOGgcoEixD/mXX3qDu1UWb9zUBkgDgbDlwf2fUUro1hJwtsXudYsuFAIbWOocWTcm6HavBDCfNxCJCGUIzcq6uZPhYPxTfFeyDV0ze0w/FYtxV8kJX5/TwqNBfBVAH/uU+OS+qxrBYAnAcRcZiEiCFIg2WyGP2ggdcOAgTZYSByrpusAzGZLGO55DVcqKeGTJLrOgbG+tTFRalHbitZ9g/4KwAGjczY7HAzOBfA5ADYGdgy/btcEWwotMKuTiEhVxNPzTv3hD3cBKwH8E8BFFppzU/kK9fGy67Ud0Qow88AHigkaSrrJ31JQ7yxKixKK8jIRRf0dFdUO9ndGnd0jIS63leeU+MvqKweskUkNiNa4xiTGQQvvOFGSg0n1i6xxUBBEGkG2mvRPKQCrbKQnlQAYYNUiB2N4W7jd7it7DuZ1XTcG+2yRgxmpK1qb2uJzkEM4yNgxvHDYBJvNFoODytPzrj71ByTIQXVw+ePaqbJPlYNBQ0k34SBFs1D6SULRXiaKbt4qqhfsF2COYsSJustt5T8u8Zc9fEY52O8GkmvomssBPIOEVqcsT4g9nT66Yl3rwdL+CdmV1GdO24aWts+srfgfAP8nXlkhVEizQTUAw0giADgN4N/tKtUCWBWvzkHzWuGtU+FvCn/10qc1IW1CZARRZkDTGKrFN9WZ4207+r0pK62VNjS77oXLbDb1u7HKEJFCwINl12t3l69Q7wGwwULVBOBhAJdHK6AzHzZfXO9nBVeUQgwRZvYvn1G7b2BvK8bH/pygqHZofhNH/8DnJMSdAL41EO1LamC0xjUmYQ4msCz0dEX6+HWlrXuTHEyqV9q2bGj7zOdqrXEwU0C2RuGgDWAbA0EOHlOtcTA7G94OH/z+8HF5eno60tIi7StmhqZpUMkaCJ0uZ9vRjxLk4BV1l9lUaxzUTpXdrQ4u7zcOMvMZcZsNrihxDw7W7p4xwBzU43DQMJI0fwrMekIiHSROnnEODoTV+rOE67W+DyoLwHP94WqXOWndBRkT134vc9K672RMWGsaVSSp81YW3exiPsYSwK8BjP5oxOJnYcyjxZXikhjy5VNwDuseELvGtyJzZlPUa5gBv99yMroLrBQKanbdC/kA/mhlgYoEzQWAsuu1dwC8YfEWl5WvUKOGc2Xm01pUI7Sf1fOXZH5+IG+XUTEq1cqqgBBKDJdOAOC+hyZM6kwrYQ4m4EybBeC5/nC1W5c54YK1GcXfW5c54TtrM4qTHPxsyRoHnSJ0Q0RPdXPw0RHPQlrkoKpgyJAhYUleXS4XMjMzo17DzPD7/APDwSvqAhy0sIorxFwA0E6VJcRBdXB5TA6arewMhHr+jjzgHJyTamV8IYSEEFqMEuoZ52C/GkiuoWsyYUTkSUisRd9AZqKrAHwt0XsElTFh7eTMSev2g3BYKOIpEvQMKVSXOWndpoyJa2PFl0/qPNG2oaUfek9aG49E8Y7aCGDqRyMWf+ejEYtPG6ekJTAAgOJk5JedRtr4DjiL2pF18SlL11l8RSyDYXbdCwLAnxAl7GhPESgn5Mf/C+tjukfKV6jRukjplxJajE2kAyGWcuPyGbV3DPBtPGzxl1LUWF0PfdxP7UnqDGiNa0yvOCjZ8iQI0EcOrs0onrwuc8J+AIeFEE8R0TNEVLcuc8KmtRnFSQ5+BrRt2dAPvSe91jhoN+2+DQ4+OuI7Hz06wuCgbs1AAhv5kPLz85GWlgan04msrKz41wFWE5Nb5+AVdQlyEL3moDq4PCoHQ/InWayu75JSbqzdPeMMcNDa5jRF9SL616mfcQ729wqSs1d1smEkJaCn0kdXDE3kgozitZkZxWsfJUGVJGhMqBVtuLHQXCLa5568Ppk89zOg5krTzUUxpXeiGcCNAL7w0YjFPf2JNzKzhYfYePlJAXK+2Izcy08j+g6VcElrHWfh/Ma/WXWdXQ6gtLtVsUWElOD/L7te2wngxWhlBQgCFEw8Ox3RE+3qAODXdXg1DX5dhy6l1d81MRkD0E6WcvnyGbUXxyuulqePVMvTblLL0y9TyzMtZ30PqqX0kJRS32OlbNDVLrLJDGYZd5NvUmeVesdBWH7Hg3qqIn18Qhxcm1GcuTaj+FEiqiQy4SAZHFzvnpjk4GdAzTubrHEw5GnQ/Xo3Bx8dEc5BiY0sLXAwUIKIkJOTg9zcXMv7bGVkSgkzFc6/oTFxDlqomoi6OKidKovJQSIROKxxUNd1aJoGXdcHzFgKhCXvlFIur909Iz4Hf1o+Ur2n/Cb1wfLL1CfLe8HBLVJKm0UOBo2knm12gNl9xjnY72G+XUPXHANQ2JtrRYoKEpa9Bt4AsDheEtmM4rUKgJsBPARCrogTKpklP9a8c+HdVhuR1Lkp9x0VR0f/O4+I1SkzM/xaJ1gDmreoqF8ry9v/+8pro5WfU7d6O5GYGr0+CUbkErKRgTv+Hkkbq3DE3f4KACjakLX0WLQPX/+zY+HBnEn3/G3ysi9y4IWz2xQo8XMwMICUde6vewGgfIVaCOAAjI2wAAABYRhGId8rM0NC1knw8EAkvC79xwfD7oPhjmQqEfCZtglRTkRFACbAPMpFnJYzoOuvAbjtrmk1ddGKqeWpCkDfBuhngBjco5KTAFUC2B049gDYo5U1RyTZU1YOUgD8gEg8lJKWabcKf7+vE0E72wj1LX/pu7ruLmu/ZFJni9a4xvSag6owT24cRW8AWBwviezajOJuDgK58fKtMPNjC5t3Jzl4nss9Zv3R0d8fMyJWoCxmhv+IBvYzmvc3on5XXXn7scuic3BJ3XZSKToHdQZ3RJ6XUpoGEOgpm0uFw2Wap7Wnija8nBWVg4681xdmZmbeM/Jzo79IgRfObrNBiZ/w3eDgSrcXANTB5ZEcFGGGkXGREY2vjlkOD0TC69KwiR/E5GBw75DoIweZGXqAgzU7p0Xn4M3lCjLwbWTjZ8hAOAclTkIgkoPfLzPh4O8CHDz1UEraarvVbs3vS+kK2MBMYFnwS9/VL5xxDg5EFLtnAfxnL67zSZ/+sXAo4y3C4UoAXwfwx2gFMorXXgzgKRjhVK0ZX4Q73ZPX/6Jpx4J6K41I6tyU3sa3N3/Eb7pLYiScYx0d+xWc/l8HtEYBBXKB+5b1GU0vLIiSdZrnM8vjRCIiMhAzmxpHQDCkOEHXI/JCdElrVeA5mo6cWZGBHEx0AYAIMLz+Z0c+Car0OVz5/zt2KThk6criRAkBGAlgLwCUXa9Vla9QnwFwFwFQYJ6tm4ggWOQB8mEAXZ3cwqb/yphpz01J852MekPJDDBDl/In900/vvPxHUV2AONgvNOTQ/6bHbUSg0w/BvDoXdNqTH9RtTzVAcNl6R5AjDLfMk+5AC4NHCHXZlajGxS7makZoOUAzWKW8Hs9sDtdUZsXKiNgQydYSimlfMB/zcmo0EzqrFavOahL+bEiRL9xcG1GcTgHrdV753r3xF8saNqV5OB5LN2j3d78YfOb7hnuqGVkK6Ojph2nP2qA1q5BYdsCd9H6jKajUTgoMZ91Pk4KmXMwSnqioNEey0jSNA2eZg9yrBlIphx05L2eT0SVqqrmFwwfEWHEWFAYB7VTZVXq4PJnANwFGJHionJQiDwpEc7BJU0ZDoc9xeuNzv9gMlop5U+O75q+s6hkR8IcZGaWAQ7W7JxmzsGbyw0OqrgHBRhlaoIJmHPwyfJwDro6mzGIlkPwLObB8Hsnw+6MGsgvTMGADSwzpZQFD/ivefJT4eBArCAJAK8CuDpGMQawD8C2kGNnR+3l3vTRFU8C+DeLt2sGMKH1YOnx0JMZxWuLADyKHsuZpJDVFao/NO1YkIwadZ4r41v/+FPRd/kmZ37kjJHm1fHJXwU8ByLmEN4FcHnTCwsi5sAyb1uX7cjTny38Sud19kGhz5kEI/7MGLOEpkV2krJT4OSrQ5CSp2HY4oa49QD41oaspX8IPbH6T44UoVA1KSL71fHfwK688LQLiiJgt5DoFsDV69xfXx38YdUKNY8gjgmQI97Ai5m9V13vdS5q/vX3FEEPEiGTiMBSR1brQYyvfQUKonpnTLlv+nHT3vXxHUUEYCiAKWD+AoBrAWQGbroRzN+5a2r1CbNr1fLUDADLAPwAwBDDl6R/vIuYATABIKSkuuNmNA/K5/Uc9Hs9C/Ulp2v6pSFJnXGtcY3pNQcv7zjgrUgfnzAHS1v3hnFwbUZxEcw4SGTVSPrDgqZdSQ6e58oYUfGnoq+NvMk5PDIavdai4ZNXa+GpjbBqDA4eNeHgiHXZDqfj2cKRhdfZU+3dc01+gH2I688djFjXU1JKnDx5EilpKRhWZMmz9FsbXs4K46Ajb3UKkagWQmQXjihCVtagsAsURYHdZmnd4Op1K91dHFQHr8oTgo4RCUsc9NZd5Vz0pebvKYp4kIgyiQhSSrS0tKK6JmZwyinHd0035WBRyY4uDnIPDjLzRmb+TvW/pppz8ObycA4WwggF0w9iVQM7UGcbAAAgAElEQVRSvUBaG1IyyiGUZkvX+bwTDvq9MxfqS779qXGw3w0koMtIWgLjy86G8YrsRjcEtnfUXm76LaWPrnAB2AFglMXbrQFwZevBUs4oXpsGY9PcXQhZ7gwqAQMJAOY17ViwyWrhpM5NZd687vnMWfot7osYiguQPqB1B+H0OwLQow6U3wJwTdMLC3wAkHnbOgLwZQBPA8glhTHkag/cUxNPLdDT3Y41Qv1r+fDVOeHM96LopuirLSH62YaspT8JPfH6/zgfUVTxo4/yL8Jr426KuEAIgsMCGPKajz3+9a0//9Hl13fIN/7qHA9jc+s0K43yCTueW/jT99nunGEGEdXbjBmHn4lmJE27b/rxD63cx4rU8tQ8GAPQOxA0pgAY4Zr6Nw8nMyCEHSmp0SM0hZfnViIa11J6KBnG+RxWwEiKycHLOw6YcrAifXyvOFjaupfXZhTH5qB1AwkA5i1o2pXk4HmuzBHrns+cmHmLe1oWlBQF0i/RurMFp7efRvQ5qwAHjwY4OKIHB4kwZMgQuN2Jj7R7utsxM+rr6+Hz+eB0OVE0ZoSVan624eWsMA46819/RAjlR1mDBqGwsCjiAiEEHPb4nmttbW2P79q180cdtZdLZ/4bCXFQCIGLLrrofbvdbspBr9eLg4cOR9sPNe34run9x8Gby805OBGxIhf2SqzoEMP2ICVjjbXyjFYijGsp3fKpcXBADKS+Kn10xedhzFBY7cVvIRvpAH4OYEjUUgTE24MUol0ApjbtWDCgCbSS+nTlvmU9SU1/S6jKJQle+ncAN7LC+TDCnC4O/5gx+Ate5Jaa57eJJb/fCATEEmh4OxedR1MBAMKl6WPu+MRKt/WnDVlLvx564o2/OPefTssf87vpP4JfiXRPIAKcXWDgkCMo472ZUvUuSvf+pRFAFYOLEfSDjvOm1qfl47ULv45295CYg7Ochu0Ye/LNiPPMmH3/jONbY98lvtTy1M/B2JR7M0wGjwOUOxvMgMOZAdVmyTUEAF5uKT1044A0JqlzQhXp4xPnIFngIOKmMAjVLgBTFzTtSnLwPJa7aD1Jqb8lRC85yNE4CAwePBi5uXkJtymYI4mZ0dDQgM5Og4tCEfqYSaOtcfDlrDAOOvPf2J+SkjJm9Jhx6JmMFjAmD5yOkGA5ThiUIBiGogeAHzhx4gSOHDlscJBDOBhHKSkujBkzFm53RkwOnjrVgE9OmEyGMs8+vntG3zl4c3l0DqowdjgNgFjV4BhZDtVuOe3Tyy2lWz41Dg7MaKCPaj1YuingaveDuIUJgMBvYcXeZeNlszh7NhHA9wA8bqUwAAyevSkLjK+CkAPGZpb8j4Zt884KC7SwrNIBwFdVXnJWtOdsUdMLC9hx7epyW6rjEtWR0J7H6xg8FIxJILNs5IRT7zjhaxAYusQDkUDVRALMEk3vZncZRwxmzUPfg+EyE29DywVzT75IMAZJ4wGMv7D4GwV7c6dCU5wQIYniDNc/Bne9GwAgI1IGARLMhNOuHBAoC0BWIEIdGIHwxCavFQPYUTAb68dcA7bZYYvz7jVkTgBMDCRp7LXoNRiUlSkLQHgCoAspZgfA6O8VJMAwQH2d7VBUGxTVjrT0wbDZHGAAmt+L1pZ6sAxzw7who2LUCy2lhyr6vTFJnRMqbd27KeBqF5+DhqxxEAPLwU2Dp2QB+CqMcMibmfkf8xp2nBXcqSyc4wDgK6nacla052xR09EF7MhbXW6zOS5R1QQ5yDwUwCTAjIPAqVOn4PP5MHTosEQM866Epk1NTV3GETOz5tesc/DKk2EcHDGiqCAra1AgiEIoBxGs33g3BAFuw+soTHaAOxlOpxNEAQ4G3qPgtdGUm5uHoqIi2Gy2uO+e251pbiD1lYPXr1wAhZ6AHdE5qAeOfl5BAgDSVPhaZ0MZVA2lZRDSPrwOtvoisNChZR1H66w/gVPDckLekFEx54WW0i2fCgfPyhUkoMvV7iMAo6MWUiwGXghVYqtI7QDGNe1YENMHMnvmxjQS9BIErgx96Ji5GYzbTr33+b8m1sj+0fDFHy4B4TcgY7mbmX2QWMXM36x5fZpJHJnPphzXrv4xgJ/b05xQ7InNGTAFDIMYj2FKgYbhX+2AmmbtXdM0H5o/TDvVvHVQGgAfgAMM/ubJh+bsnt/4t90AimO2idmnaZ0ehLmOxSqvgyHhsCsQxCbGUbcc3g7cuT4yuBUH/oV+Dx41Ba+U3IpP3EUAAFUhqPEjBGH2voehcPiEtcaoATDygRnHE5rJVstTSUr9NSJxlbUBYf/tQeoploSsnBHIzIpcRWNmtDTXwesJC8JxAMCFLaWHEl+GTOq8UMDVLjYHYTnwQpgSGKy2Axi3oGlXTA5uzJ6cRkQvASYcBG77/KmPPhUOfjh89hIAvwFCOAiDg9NqtiY5GJAjL8BBuxOKkiAHLYwjU1JSMHx4IVTVWt2apqG5uflUc3NzNweZv3nywJzd829ojM9ByT6tXUuAgwwG4HDYITIpWu4nAIC/yY8PNr1vXkeP70JRFIwbNx7p6UaEbFVVoFrY77t7zz7InjmfmGsAjDy+e0ZiHLy5nGSrfI3SyBoHRwCIHrejT+LMdmTV6cjcORXEPThIEi1z/wzvmI2hpwMc3HLGOXhWriABQOvB0o700RU3w0hGFv4tGiGzegUFsJFozKJhlQrgCQBLzT7MnrmRAFwNgd+TQoN6fk5EmQxeMXjOplIi+kH95rntiTc4cRVcsZ0g8EdS6Gs98lzYoWApJKYPv/rDUdWvTU0o+dR5LDcA+No6YU93QrG2SRMAQEwRhkFPeWpUHHkuDcNvaoczL/ZXHsh787uMkpZlBxZfaUadI4gDBgD2wGFRAkBw5ix2Sa/dhVZHJtK94VsnulaTAitJ1ZkX4G/TlkFXEo/I3e7IRUZn937zAG8KYETreiHWtQsaHxlEhCsBbFnnvudjKfXnhVCusn53ibgWb29EhMF5I5HuNnc1ISJkZOahWXYH6mCpjWHmuwH8R/82JqlzRaWtezsq0sebczCgXnEQCa0ixeTgxuzJBgeB3xNF4SDzik2Dp5QS0Q/m1leeEQ5uL5hFAP5IZMJB43eZ/uHw2aOmVr+X5KAhg4O+TiRqJIWuxkSTx+PBkSOHMXx4IZzOyIAQoQoYGr/LyMhYdmBbce84SIlyMHBvwSB7bBCqmSpsDhv83nA7JXQ1CQDS0tIwvngCFJH4cozD4YDHE5J316jTGgevbRxERAYHV7o/lm3yeZEurHOwFsb6XH+njJaEwXsKkH58sOnHxAIZW76G5owsaMMaAehgeXAMc/2nwsGzOhlc68HSzTA65m4JgNSENplGiHWGtaSeAIDr3JPXX9bzZPbMjRcAeA1AOYlIKAQV2BD7bQD/ypm7eX6vGpyACq7YngLg7z2No7A2CboAQPlAt+UcUtcMk6+1E7o/sRyyxBRrIysAwN8kcPR3afCeRszBAbO+H8DtHxTcGI02R+O2hxIb4BMRyGpXQMDWz0W8DoGPjHvWZIzAium3RxhHVherO5zhCc1DLrv/gfeHmXbZCxofGbuo+Re1ikINiiJeVBRxaFHzLzrz80u+ae2uodIR9w+agBTVjiEFE6MaR0EREdIzc6DaHFAUFarNCUW1/zSjYlTM1YOkzm+Vtu6N5CASDrYQocAg1DIH17snRrz4G7Mnd3PQxDgKKpSDm3NK5veqwQloe8Esg4MUg4OU5GAPdXPQ12kpJ1GorDyLfr8fR48egdfrjcNBNjhYUdA3DibwehgchKVlAyJCwaiC6PcFkJqaiuIJEyOMI6teWzGMyPuHTXjfnIPXNo5d9KXmWkVRGhRFeVFRlEOLrmvuzFfyv2nppkH5ARwGYCmriDUpXhVD9kY3joIiSUh/9zKoHVOhKJOh2q6Dol7604yKL55xDp7VBlJA98FYYjPU9xY3Afg+DL9qq3rGPXm9EwCyZ250ZM/ceB+MWO9XgSzP4I0EsD5n7uZf58zdbOqr21cVXLF9GIB3IbAkbpsIVxaWVRYNRDvOQYUtJvvaPJBaYnCIiGkQqXrppRtkp3BLqa816ySl1Hfpujblg4IbY938iJXm9GrgJK2NlXYNm4U2h3lC7dqMQqwoWQY2mTGTFsHQ7ug2kJjDTJURMDaVhmlh0yMzFIV2CkFDQn9vIchRPPFaccHIUkv37dFaABoAvQmQGwFeB2NeLSE5XZkYWjgZDqe1V14IBa7UzK6/nxCKUFR7ch9SUuEc7Lt6xcH17olOANiYPdmxMXtyNweRGAc355T8enNOyYBwcHvBLIODsMBB4MrKwjlFA9GOc1DhHPR5IGWCHIyveinlDVJKt5QyCgflLl3Xp3xQUdB3Dia6BQOGh5EV5RbmwhZl33JqWirGTSiGMHHJiHCbiyKnMyR2Qvj3ZM7BJU0zFEXZKYQI5yAJR7E2UVzgGWnpvl3ywjCS9gKoQRNasRGM3nGw2YWhuwvhaI+9chiU8KpwvTsS5DXGEUKMFIp68Rnn4FlvILUeLPUA+CYACdF7dwIYI55fAxjdsmfRU0T0LIAPLF77OQD3ZM/c+EUAO2FkPDb+0ok353YAO3Pmbu7NqC2qCq7YPhPA+wCmW/mOiEgw8y/7sw3nsMK9bRnwtnogdeurCASKZSC9CGB8828Xrvio5Brtn0OuK5VSWySlXiGlvk9KfZOu+7/6zyHXTfqg4MbOqLUYGjADqaRqg6VyumLHtgsigx1VZxbh5ZJl0FTzSG1WV5DaHbmGYcQwyx513wPvD+u6wRcaHlYAvEZEpqQiIowomouMDPPZvhg6AOBWgPO1staLtbKWRVpZ8zAAgwB8HsBtMJJvVgD4xKyCzKxhyBtaDCVBN0NFUcNCghOJQvf6cfHcKpM6j1Xaurebg+gfDi5q2dMrDm7MnhzJwcR1O4Cdm3NK+pWD2wtmJTnYe0XsOvF6PZAWJ86AuM+lwcFjC1d8tKFI++fbQ0qllIuklBVSyn1Syk26rn/1n28PmfRBRUH/cLAXBtInVdbG/0JRMGzUsIjzqWlpGDt+fFS3OusrSA4EoieZfXzfsAnvd3Pwmob4HNSKkKGZT2zG0AH4cCsakK/dX3ax9oOyRdr3y6xzkIHM2izk7R8KRUvAzZABpdWBlI0XABoFfofCQvf6759RDp61QRp6Kn10xaMQWB4RVcSaKgD8oGXPol2hJ92T10+D0ZnGrVSoQpJisqs1saAPPfU8gOX1m+day5wVRQVXbP8qDJ9U44URCbXp0qrykv/ty/3PFqVf+w+7zpqbmf2eVVc0Wr3Oce3q9wDMiviACI6MFAgLgQWAQMCG8KLHACxr/u3Ct622JZ4ublgxTwjxbrxyuu5LaPYvq7UGt215EL+95BF4nPE7UUX341vvPgCvrQPNaXbUpY7E5sLroQs7iIBo+7/tNgERZ+Ciah2YduDxWC/ldx+Ycfy/AOALDQ/fZ7OJn8UbDPl87dj2z1/D74u7/WEbgEcArNLK2i1/gWp5ZhaAYmbMEor65dz8McUpqe40q9cHJaWGoNeT39cJT4eRrF7q2u8bF+y9JdH6kjq/VJE+/lEAy3tpIFUA+MGilj1hHFzvnmidg0JIQeY7FROJUNZDzwNYPre+sk8c3F4wK5yDibXp0pKqLecHB1/+uV1/a5ibGxx+z+rrrXMwLwoHQXA4Uix/lyZjSoODx/qRg0sb5gnFAgc7dUi/dQOvo6MDe/bsxMzSWbCnxt+AI3WJyvUfAlLA7nDAlerCsOFDjSh5TBBR1iDsdhtEHONN0zTs3Rtz0fi7x3fPMDh4TcN9NpstPgfhwzbXP+EXkQnpe6ibg38os87BJ8sNDir6LMH4cu6+guKUprTEOeiUYKfxHPkLmuCZcwwQgNT3/r5xwX+eMQ6eSwZSCgQOk0L5CVx2CEayvNUtexaZ/qLuyeufAfCdaBWQQiBFxJwZ6eOeqBoAt9Vvnmste1aICq7YLgA8BODHPT8TcTYZhmg/gAurykvivjFnq1LL3p5DhD8RxMjgZlHJslNnbR+MTPWHQ46PARzvXHVl10vvuHb1HhhhQCNEwjCSyAIcQgwkhjGrcn/zbxe29fHXC9MXTv81DUBrvOdN03xgttavCenHze/8BNkdJ1GVMw7l835o6bohLdvwuaa30OC4ADuzroEkw3k7loFkUwUUC7N6Uw88CbsW1QG6FsCo9SPvHA3gA7vd2hJNU+MxfFT5oun3wlL6QHQNEb2tlbX3ulMctfvyKQBegeFKlJCYGVKGb/r1dnbA29kGqWvPNC7Ye2dv25XU+aGK9PEpAA4T9Y6Di1r2mD7b690TY3OQCCLOnqc+7omqAXDb3PrKhDm4vWBWdA5aN5D2A7iwpGrLucvBh56ZQ+n+P9GYlpGkMtgnILcN7tTX5+9Do8Ocg/8K4WBeDA6SYSRFsY3DFDKm7ObgsX7m4PWnrXHQo4E1a925lBI7d+6A19uJzMFuTJ43xdJ1TXUtOF3dBKfTgezcrK53IJaBZLOpUCxMvO7dewCapkX7uBbAqFGjRgY4aCHDLYAm0YiPUiqN8UoPsUf6YKNrSKW3tT+U9Z6DX9ndew4SQ6bLsMlm79h6eEtqIfU9zzQu+PkZ4+BZG8Wup1oPlnrSx1TczMxrLHTCLTCW/3/VsmdRvNCA98GIaBO+M5wAoSqWlmhZ595H1TOikryZM3fzfwP4Yf3muZZmfAqu2J4O4H9gkpgNSChS31gYfuiPWSl8tslV9tbFCikbQsPKEhEUUpyCxRS/9Jn1cn7nNW8chQGJwyCEr5OHfG0sGd7WTjgyUiTFo4Nx3W4AtzT/duE/e/cbxdY7g77cdnHDy58QKVETQQYi4VmqT9U6cdOW/0R2h5FzobB+H4bX7UF1XvyV7BPp05DircX+zEVg6l4+D3oFmL0OBjzjP5eetCFwtnnALA2f8PCJnKEa2W6HEc3HZjUalztrBEaNvhQHD7zZ1RZmCdYlALYDGM1L/W/FrSiKRu2+/Jswwgkn7HZkGEeRIHQ4XWCpw+Np6bfs6Umduypt3eupSB+fMAcXtezpHQcBKCL2BGFQwYFxXzi4OafkvwH8cG59pSUObi+YFZuD1iP1ndscXP7bi5XPN22gNK2bg3YJ5fMnnWJ88xT/E8VT0BEx3PM7LwzhoAvDunLgGOnxusTM8Ho74XBY4KAhg4PHBoiDKwa1XXxdwyekUmwO6tbG+LquY8+eXfB6Dc++5lNNaDx5Glm5UeOOdCkzJx3eZi/c7sywZy2Y+oJMeGd1YSItLQ1tbW2QzGApe143lIgS56DMwijfaBx0HOhqC7czuFkHfDA4uGFp7zn4ld3fRG85CIZMlRGbfxz7c8AuHzyj/GeUg+fMClJQ6eMqXiJBN5h9Fvhd/kBEP27Zs8g0y5aZ3JPX3wTgT10nCBA2JbGOngKrTX2IKgSgDsZq0muxChVcsX0kjMhB0fMdU0IrW20AxlaVlyS8+e7TVNq1b9sIdJpIRF3ClaxDMxl4xhIHyRCcYTGehy32dOdsipIliMEMgQdAeLj5twsHdBby4oaXriFSyqPmedP9poNtNl6QT7LaT2Snepsdk2o2Y0LNe1B6bJ76ZNBI/G1+xGSsqaTuhybNUzIIEWkkCUGwW3D/HNGwHgVN20LbDpYSkMZ/Dw2a017tnpYKAIpClmbjgtq7+1XUHv+wZ2JWAKgGMIqX+hP6+43afbkTxkzpbYlcF1S3cWTeFwf6tSVHJ697tTf1J3X+qSJ9/EtE8Tm4qGWPZQ6ud08M5yCsG0eh6mt0PQQ4OLe+MiYHtxfMis/BxNrTBmBsSdWWc4uDjz9loyGe05TbGZ2D/8qC9t+jEqqXJRvRzDxsbNgHIISyxW53zo6WZDTAmAcAPNx8bIA5+KWGa0il6Bz06pC+yInCIAc7Ozuz/X6fo/5UPRpO1UeUSx+UgZIvTLXUFt2jQ28zmZRkQEBEGElCCNgt5Fw8Wd+AxsbuxKkGKyRYSkgpkZ09qD0ryx3goAJFsb7PZ6+yG7W+4+AWacQj6pbBwQ1LE+PgV3b3jYMUMI6ifC2BcdmSo7+efMY4eNYHaeip1n2lN7LOj3GIn4wxeOIaML7Qurf0W4kYRwH9D4B3gj8kbBwBRn4ljS1HQOmSAMhGEA4B4RB5ZKdVufO31OQu2HJz3sL3IqL8FFyxfT4M/9CYUAAjkUjFaTD8Tc8x0Z2xjCMA1sNXh10T+McCYCP4gvTrh0G4lsERm1gY3ACBac2/W/jgQBtHAPBu9o2rpNT+jXv4ijFz0DjSYMSeeQVG7oCvAphKRGlb8r4x7JaKe2/+ynu/wIU1WyKMIwDIb/gYhbU7LbWFhIpoK0JSGkdwRYkZcLcdtFRvhz0n/D5EEIoCYVPRmjYM1ZklqcHPdD12BnOAQSQhAse44sVITzedeBwO4CZLDQQwteoWMeHQDRcTia3otXEkA2510dsfGOD95YJ/LZrdm3skdf6ptHXvjcwmHDQSSX6htHXvtxIxjgIK42BvjKOQdiR8HRFBCAEhRB4RrdqSO7VmS+7Um9/LmxbBwe0Fs+bDCgcT07nJwSzfnbGMIwCg4iZASSx1AQkCOQjkFkCW8RxIqR8GcC2zCQeZGwBMaz628MGBNo4A4N1XsldJnzTnoGEcRefgm3nDduzYfvPevbtNjSMAaGloRsOJU5baIpzCfDRNgAz845B/rR3WPA4djvB9UEQERVGg2mxITUuD250ZwkE97ntnvGPGMU4vRnpLek/jCEiUg5dWiQlXH7qYJPWeg2rArS6GzRgYlf3lgjv+dcY4eM6tIAWVPq5CgFEKwnAw1rTuL+3TrI978vpiADsgSFVsiSf1CkgH8CSptIeIHoUR6SO6BCBs0QfwzNxJRG8CeBnAGzan/WsAnkECrpFkS2g27+Kq8pKN8Yt9+spYUqEw8xEiGh6vrF/3da8K9UIMBgQ/43118Z2Zt66zA7gHwIUwlpCfaX6+/zafJqJ5p/7iAnAvkbiQWbYx8yZmfR2Ajzfnfj1qpu2VzylOEBqFSs6ezwYzQ/oZdYOK8PdL7rPUDl1q0PX4PLygdROK2v6J94t+CBaxH+FUbx2m1Px35L1IxT9zvoQOW3jAJSEIasTKFIOIYeZpqusaNr3zJDo7m3p+dBDAeF4aPRnW1KpbUwFaCdAXgzOpzDr8mgc+Xyt03VqSc6Oc9eeSmVsAzDw6ed1+yxcldV6rIn28AFAKY1CzprR1b584uN49sRjADgLURGaje8jgIFnkIGLvFerJQbvNljgHE1vVurikasu5wcGKBxTuFEfIKeNz8JfF4JrUeMWiijsZaOZnvHWL78wcYcLBfgzCkIjmlZ1ygXAvCbqQmdtY502sscHBN3KjdsZK9kongEYiYcpBZon0rHRMWzjTUjv0Tgm9Nf6+3+amVrQ2t2H0qKK4e+Q6O704VlUTcZ6IkJ+XA5stfNuREAKqGvlaBA2jiDZLHZvq30EnRwQNNDi4YWl0Dl5RlQrCStjRzUGN4WcNPrsPul23FOVZT9WNN9ni68ngFgjMPPrM5AHn4DlrIA2E3JPXP0wK3SPUXoFhE4A7GrbN2wkAOXM35wH4LwBfinYB2a132kJV/IqaYLxgINGIdjsATKsqL+n35Af9rYwlFTcAeMlKWZ8ez/0+thgMED/uLV+8vE8VnUVa+ZzydwBfIgGADMdBlozQrUtvfP47OFpQErcuZoZf60Sswf6olg0obDeiCe8c9g10OGLvMSfWMevwLyF6LIPuz5yD6rRJptf0dLUjMISI3qb2tgZsejci/yYA3MBL/SvMPphadYsKiBoiEZH11ehLdUipQdM64dc6TQ1HZgmfrwO67ofNZj06VODadmYed2zKhkhqJpVUP2i9e+LDRHSPWdBWC9oE4I55DTt2AsDmnJL4HEzAeFGE8CuJxs0PKIH3bAeAaSVVW85+DlY8YJ2D908B2nv11QEI9G8N/Li39vzhoJK98u8AvgQEnecp0I93c2Pi7AsxeGhOlBq6xczwN2qmuSmCampsQVuLsfg2onBYeK6jKHUeOHg44rzbnYmMdPNFw56udkbQpOjPfru/DZsaTAMC3sAblppz8ItVKlJQQyqZc7DDiPCnOTT4nZqpscSC4Sv0QU/XYTthg/AnwEGF29nG4479csqAcvCcc7EbYP0MjNMJXlMPIz/FxUHjCADqN8+tq9889zoAXwYQuU6bQE4nxaaiV8YR4IPELTBcEaxoMoBlvbjPGVXGkgoBxv1gww0u1BWup6wnio8uI8dRZEdwjqscAFgaQUakFm4cAcDMXTG3AHTJWPaP/niOaV7bZRwBgMtn7tIQKiYFnbbwiefT9qFRjSPAcLULTcJHJlF6QpWalo3cfFMPnXvpb7YoL6f4s5lxZNyPACgQQoHdnopUVzbS0/LgdGZCVQwQSqmhs7N7lcnv70zoGSUSqcx8TsxuJ3XO6mdA7zkYNI4AYG59Zd3c+sroHIR1DqrGwK93HMR5yMGKBwTA90+nQ7hBbMR3xZu4lCqRi8ho6XzC2SfjCAj8nVLOTw4au4iDwY3CuXF0T6SBYiYiguKKPrneeLq5yzgCAK83vtcFEaFncDqHwx7VOAIMV7vQ3FXx3q9UWxpyzScs76X5fzO/2I4/mxlHXfdzAYIF7B47UhtdSD+ZBmeTE2qnYmxZcEp0jumEnqkDAvDn+sGK9cUa0imVMfAcTBpIIWrasaAdwAMWV9UYRqSOsQ3b5v2xYds804vqN8/9G4BiAGGWuNUEZopNtZyHp4dOAlhQ8+a03wP4Lqz78vxHYVnl4N7c8IyJ8TWCKBZQQBAwgmkqICiGoRQi3WKoawuy1kueO3oDMee6gJymaoys3m7puRGkIHKKiDGu6W0UdFSGnXb5rPl1tzu6Z+00smFP1vy412ia7JoBtDLuGvm5i81OXwjgyp4np1UvUwG6NnIAZ7QAACAASURBVFZ9Bowo5GcBu80Fl2sQ0tPy4HBkwG5PDYEWw+/3JrRnQwilqLDy4kWWL0gqqQS0oGlXrzg4r2HHH+c17DC9aG59pTkHEzCOepln6SSABdNqtibMwcrCOWc1B4fj1Nd+KFYX/1B5HVeL7ZgjDuAbyjt4RPkTZlD4Xk99S0Rwwt7qM8fBtuY21B8/aY2DDgJ62EjMjNMNTWhv7Qg77/VZ26blcHSvMhERsgdlxb1G07SEokqOTP2c2WlzDi6pVmFDfA6G2HXEBHunDa4mF9Lr0+DwOGBvtIOCQRfVgJEUZ1IzVKJTFBXeXTmgHEwaSD3Ekp+B5F0xyzD/C8DMhm3z7mjYNi9uONL6zXPr6zfPvQHAEhgReiwNiIQiemsc7QAwo+bNaVsAoKq85H0Av7d4bRaMnBJnpTKvXZ9GUH5jFnyBQBBQuhAYyIfU53sG9i/9tc8V9UGvPqXSq0+p95b/yvbxql/Zjq/6le3QqmdsT6/+tePS1b92JAzyJcv0RgAb4pWbuWsVWXlYDR/nEDKwRHHzmxjq6RHsgcEp3pOW/ijVGdPRGgjWcCBzNjrViL3apvJ6vZaT5GZmDkN6hmnAhn83WUW6hIjiZw+M4kxNJJDizESWezhyc8bCnVkApzMTABIykgLA+7qlwkkl1Qsx8zMMWOLgvIYdd8xr2BGXg3PrK+vn1lcmzkEjcIO1hodrB4AZ02q2bgGAkqot5w0Hf7e+KO1O5c3fTBeR9oqDNPxAeQPjYHgfcbMNcmt8F7F4YmZA+XQ5qA5+ldTBr95ryyn/2Jaz6rgtZ9UhW86qpx15qy915K1OmIN6wxJLHDy65zCxVQ6G5KBkZjQ2NKOjzdOjJLPX67XEQbc7A3a7gZ0sd6bpHiMzGRy0Nv7JtGciXTVNEP/vJqtIl5CwwMEoi2kkCSl1TmTtcCN3fQ7clZlw1joBAvw5fsv7xQkE0MByMLkHyUSDpr/rAvN7EHRhWFx7Zh3MT5MQdzdsm9erpYmcuZuzATwJwk3xAij0cvXoFQDfqHlzWliUmcKyyhwABwC4Ta8KkRGUAK9C4FUA71b/feqxRBsxEHJfu0Ew+B8EWhirHEOCSUKTmleyHtvJ14IYvMu76qqovl0f/XTEEFWoWUS0f8J9h/rdb/3Vp9R0IeiwUEQsAFQB2B56LL7DG9OXbeVzyncB/Cre/VfNv6umJn98QbxyUurQdC+IdYw+tQrZHfsBoM6uKuMVITwA/D+ddES/rP3ZITCS3MWtT5d+pPgb0SbSLCe+PXZ4FQQBo8eVWVpFOvHJLuyofKmrLHf9Dy3kpf71wXLTqpcF/NVjy2indcOcmaHpPng8TdD1iM2yptJ17cWqkne+YfkmSSWVoN4ddKGLgfcIiOAgA08LorvnNezoVX+3OafE4CBwU7w9SL1cPXoFwDem1WwN42Bl4RzrHDSGRq8GjnenVm85Kzj4+ga3aGHnPzKoMyYHP5QX4DF5DbTXhnvlhvy+c7CTd3kPROfgiCkfDVFVg4OH3p/Q7xxUB7+aTiQOC5EYB711i2NyUMleaYmDk+eV1GTlDorPQa+E1mJElDt54hQ62joAoE5R1fEiwMEjH07SL7uh3SIHJXQp4fP5oQhheSLt8OHDRrS6ceMsrSKd6PwEO05XgqRRlgmAYICwkDcs7ebgkmprHAwJD29FDIbm0uHJ80B3WHt8dJf+YtVjJQPGwaSBFENZ095ZCOBWAtzM2A7mhxsr50eEt+yNcuZuvopUepkUihpWRnXYEg2z+lMAD9a8Oc10dFZYVnkngKetVMQwkt8GJsOrAWwMOfZW/31q35dmEpT72g0Pw4icE1MMBpNex8wj/dLngpHNeSSAz4X8/5EwIj/F/IIZXA9glHfVVS3Bc3sfGkPMPJnB9xHoCiJKAYz8CpLlewy+atL9hy0lOrSi8l/ZKhVFWEvrHZTh6dUEQiOAIyC8R4STMPYWNAJo1FnadZbrY9YD4HTGkM6/XP5gRKSfntKlBql1YEz9qxjkORT60bW/mFZTHvzhsvZniZkbiSgzVn2G4eAN+5lZD6wOmfdbzY378fGBlwEAF05dFi2cd4/7SLy35Wl0tNeHnAOkxPt8nTYTAKZVL8sBcBxhjgPR6oue0yie/H4v2tpPxC2nab5l1VM3/rZXN0kqqQT0TtakhQBuBZEbzNsZeHh+485+4eDmnJKriOhlougctKlqrzg4rWarKaMqC+dY52D4axzBwanVW844B1/f4LbEQZ0JX9P/rY5b1ZH+/1fSNw76uB4So7wHujk45qK9BgeZ7yPqwUEp32Pmqw5vn9RvHLTllFcKoSTGQUNNQICDwHsAhXFQSt0upR6Xg650V+eML86Kz8FOCa1ZQ92Jenjaw1aOrq3ZNa2bgze0J8BBPexnlhxzdaixsREHDxqJYEtKpiIjI773BTPjvWNb0MHtXU8DE0Oq8n3eeJ3BwSXV1jnYxmYhxC3J7/KjraA9ro+blqktq/751AHjYNJA+hSV8/nNOaTQaxCYZfbSKXbV6syZB8aq0d9iFSosq1QBfAgg+k73ELHgaA9oA4xoRUFQVFb/faq12Ma9lPvaDTfDontEwEBa3rKy9PFY5ZzXvOEAMAIBUDB4FoB5ABwA2gG8COKHvOWLJQDsfWjMRADXM/ONRGTqtAsAkmUzMw+beP/HfR5ErHxSKbbZ1d0JXaQAlnKdhyjYD3T3BsZCt2QJBvC7sicO+5zpI2PVoWsejDnxEtydR3p+9OYvptWE+TJf2vbrI0SiKF6bNJMIhMHEqj1XlDR/B/bs/A00v5FjwmbPwIxZ34eVxO8nT3yEA/tehZQMyQxdBgI+MO7Tv6Q9NK162fcBmIa869m2XlMhoE5vKzye6HvkpZQtfr/HXTtja7LzTuqc1+ackhwieg0w52ACK0geGKtGMTlYWTgnMQ5Gf8siODi1esuAcvD1DW7LHPSyipv17y5vKX0gNgcv7MFBjWeBMQ8MBxjtkHgRXn7IW2VwcMxFe61xUBoc/PiDiX3moJK9slhVbYlxEIDl2NEBdY+HAzwMuBMYxghjzuXzDttd9pgc9Ldo+OTwCXg6IrwB3qzZNS2cg9e3HSGionhtCjWQQs8bSWPDH1BN82Pnzp3/n703j4+quv//X+9z751JZkI2EgJZ2HejAhGsS4WoH9Eqola0tna1q239tNpWkWqt1g212s3+/PbT1dqPFP2goi3VtmBVEAwIouyyJgESSCYhme3ec96/P+5kmGS2O0loXe7Lxxhyl3NOJpPzvO/zfp/3G6ZpfxQ9Hg8+8pGPOPMiHTqEbTu3gb0KnMdgr4LyKEDj78vVH7+77ooDzjioGOjMdlVmhUsiCFX0DU08LmWoTrPSLG6+eeYJ46BrIL0HNGzO6kkAvg/CmUQU/+MTugYtS8pxZj5ERBc3/qVug5O+Rl725mw4iLkF7NWDdHGkfcYQZPABpaRmKauAwRqAZsXqMcXyscDy+gGtshVfvmoOgJfgsO4FgyWTLOr8v/MHPDFvvXviZNgZmK6GvcnYkaSSf6u97d0LB9r/sp/ot+qG5jwWvh/GUTZJVtg9bPLy5XO+fTGlsTZYSYxr/gNKwin38CoAoxfXNR7oOXDBsV+sEkKbnanfdAZSfFzS7GUk7d65FIG2Lb2uGTv+Yoyompmpm1hfCuvX/hSRSO+q5VIxpFL3nTzjCxfDwQNVruF1qdtgtLXvTflQqJSKKmXNPTDjlVUD6sSVq/eYVg+bYXMQvTmoCYFsNZl6OFjX+LojDr458kznHHT4iMTMQWY+IJWlWZZVwGzZHFTRx6QKP1Yf2D+gieH5VcVzkAMHG7lUfk9+pqjz/DsGzMGJp2/tHwel/Nu7DbUD5qBetuxWTdNz3BOWe5HjTFJKoqikcPkpH51+MWmpOagshcZ3mhHqThkqrQCMbny77jgHrzq2SgjhgIPpQ86klL2MpF27dqKtrfcC2/jx41FVVZWpm3hfa9euRSSSELlBDM5XUD513ykTZjjjYJgBZ9Hi6dsAo+2UdohoCg7qKqoK1NwD98xYNbBeMstN0vAeUMuqM7e3rDrz0y0rzxwHYDKAHwDYqiyZ0Y3KipuJaLpT4wgA9j8z/WXYBfcGTUTkEyQm6ZoxPs/IH+7RvOWCxKkaaY9qpB8unrfys8XzVjrY3J6s4stXTYAdT+64KCDAvxyIcbTt7kljtt89+altd09qJNBW2CEbjqEAAEQ0p7/991HWWPneHQ9SrwnSSGBcy7YLyApfm3KjqjIx+vCf0xlHgD3PfCHxALP6U7Z+s6W/FgnFZtuObE4yjgCgqfE1R2m0iQSqas7qc4ygawKFhRW3IAMUNM2DPG+hndbbPwy+/DII0f+UunbadO8604xskdI6xqwspWSHlNYqZjXGNY5cfRB1ZsuG7We2bPj0mS0benFQKpWZg2xz0KlxBADT968+MRwUYpKhe8bn5/mGez3+ciE8p2qa/1Fd8x9eWTzysyuLR/aLg8+vKs6Zg5t51C8HYhxNmrNtzOT/2v7UpPO2NVIebQW9jzh4AiSEho72YxdYIetaVskcVJZC8/bD6YwjICUH2QEHM1voiQtpR48eSTKOAKCxsdHR3iUiQk1N75rDxAQR1FAQKszMQWjIE174hQ9D8v3wDcnPpQZn8lhA0CxtnTnU3CLz5THW2VKG6pA+uYo9POZEG0eA60F6z6ri3DUEoBZEX9R07QskqKDHRcp2kO+/SIi5TX89LecqqCMve7OawXsIlHGydepBSiXFCmasSKYpTTBUI4AfA/hVYHl9l5M2ii9fVQpgDYCJTvtl8F4CjQssm5Pzat3WuyeSgHiSQFf12ZQMBeU4u0rPPQzWB5q0YdlP9PG6oe3MfiUAQpbfaP/FzJCsFjy84BeriMRiAp0NIOQLH5CTm38/XcseVnYAwJjFdY3x92Nu16NHiMTQdP1ZMopse3mkjCIaCWDLW79Mm+BgwqTLMGx49tB1pSw0rH0EZrT3x3NY5ekoHjoJgG1I6ZoHmuaJf00VusDMCEc6EE7wSOUiKc3vbRrz+AP9utmVqw+I1lTUEYBaAr6oadoXiHpzUDH/SxDNPa1pbc4cfHPkmdXM2EOU2egYyCOSUgpRM8ZBsxOKo3EO1gf2O+Lg86uKc+bgXi7fO5pax10yJ5AzByeevpVEsXiS8uiqxHIkLBmqU9mb7x3K3jfK+kCTNuhly8Zrmu6MgwBOyEohesLa5IKzLjhnFem0mAhnAwiFjoVl487m6Q4eEQ4AGNP4dt1xDl7ddYSIMnAw+1snLYlIJILNm9+CTHP9pEmTMHx45gLtgP2ZXbt2LaJ90pAPH1OJ0uH2MAkEHRo00uyv0FJzEIxwJIJwd85/ngAA6ZXf2/TXMf8xDroG0vtAFeeuIaFr9QDqABAR/b75bzMPD6TNmss3LCGmqzJdk2EPkiNZ0oRkO5uLqeJ/bO0AHgXw08Dy+pZ09xZfvsoA8DcA9U77Y/BuANM6ltUf6894t989+VFB4msp22aGzFwuoe/1KiIjxvQfDCysAgCe+ZnRrGkie7YBAVA/DVonUqyeuPTL5rWJx763vroSduageM/xGSWeFi5WjwG4eHFd4196Tp/f+bMJQmhrRB8jyQ5tMx15fqSMYteWP6CjYxfSpazL95Vh+mlfdxSD3XTgNezd/VJs+AI+/wiMnnAxDCMfuubp5bXKJmZGd/AITCu3RVxmhpRm+Vtj/+isYJQrVx8CramoI02IXhyc2bxuQBzcUHPmEiJk5uAAH5FMy7TDoFgiasZzFsQ5WB/Yn5aDz68qzpmDITZ2S4hpn6g/3C8OTp67/VHhy8DBo9IuvetAzKwikYixf9P0AXPQKH+mWQgtOwcBnCgDCQCUUk+YrZf24mB17fokDsZHctyg7zl0cePbdcc5uKBzghBijehjJNkcVI48P9KS2Lp1Czo6OtJyzufz4bTTTnPEwQMHDmD37t3x8fsL/Bg3dQIMzYAODSKHOH4Go7s7CDOS295cBkPmy/K3Xhj7H+OgayB9SFVz2QYdwF4CpQxMHYj3qEdSSVjK3igYTd5LEgbwWwAPBpbX94rNKr58FQH4fwC+mEN3hwGcHlg2p1+pWLfePbFQgxagDLNHLkaSVHJb7W3vTunPWPrqqYfobMOjv5I15fsJ9CABgGT19Pwvm1f2Pf699dXPAJgPxIwjIZKNFTst3AsP1DVeknh4btejHsXqHgJ9GuBhdu0q54bo0cNvYs+OJ8EAmCitkTRp6lUoK88eHSKlieamtfD5K+AvGAFNG1j1eUtGcaRtFwzd27tOVKYxKLll0+jfnzSgjl25cpVVG2rOtDlISM3BQXg8klLCtGwORpKLZMc5WB/Y34uDz68q7jcHL5kT6BcHJ569tVAr1QKkZeCgxZAtDjko5bZ3G2oHhYNU8tTZum684ixhx4k0kOTTZuv8JA5W166PcxCwQ9/6Pk7EEiu80Ph2XW8OXt3lUcz3EPBpADEOOv/wHT58GDt32FnrMqXNnzp1KsrLs9fEklKisakJfr8fBQUFWfcAZpNFEkeCbTAiOoRyZlxJXW3Z9OLo/ygH3T1IH1IdeGaGBYGTmfhN7pO7bKCeox5lWanIA/A1ADuL5618snjeyhkJ525EblCIAJjfX+MIAATEZZmMIyA28WSZePPJBz/5uUQvDTTfOytjnQqnuvImfjUasZ6KRkxImWFFiQcH6ApA43A/3pg2HGtOq0TDqRXYU1OIcJ7+VppbfhXrPrVxBNjHhLj4u+ure9WR+FvB9dGXhnzjOy8O+XqFVFadYvkYAEehJ1JGsW/X/9nNAyBmkFL2m9DnjWjc/y8nTULTDFRWfwSFRSMHbBwBgCYMKMUwrQii0RAsK5pxP4VUMipl9L8G3LErV66yasaB1RaAk5nxZuKUkWIK6bd6YyVpboxzcGXxyCdXFo8cMAf7axwBgPCJyzIZRwBAOoHyMlziBXzn5sN/qZ9Lv1wSmPWb5kHhILdf+aplRZ8yzSiUklk8K4Pzy/P7CzF8eBUqK2tQUVGJwsJi6HpmDgKpjSOgp6C6uLi6dn1vDi4piL705yHfefHPQyqkUnWKOQcOSry763hZjXh2Ozu8sde1+/fvd9IkNE1DdXU1ioqKBmwcAYDGAipfwSyyEC2MwsqzoLQMHNRVVObL/zgHXQ+SK9RcsWEkgK8AmATCySDnsc6ZJJUFS1lQrOKepCz6OwT+BcIPcyx88YnAsjlL+jlMAMD2uyffIUj8INt1ihVUiixlXsqDT/jQd+8Sg/dayjq95tb1acMonGjpgzQRwBbE/HpEAAkBIQhCEEgkrBrpaR0pWaUANMwYjmh+8l5itmPe/klEywA8c9/Unc0A8L311RqAvUxUjWyre0o9/sCMAxmrX5/X8UgBgGuY+atENCPVNUpJ7HzntzgWSB2WHpvV9jPRfSCaCeCjU2o/Nb506ITM40Pi/qeBi5nR3rEPUTPY5wxBExqIbJAyGEpKKJZXvzP+yf9otXpXrj6M2lBz5nEO2pvRB4WDlrRgWRaUsmBajvYk/j3yzdC/rHPNH2ZdkeutT1wyJzAgDk7+r+13iAIHHIwoqKPJHMw73Qvf2T6Q0YeDQd5rtVqnr/92zYA4SCVLe3EQiPGPRHwuzWKQOtbw4dXweLJzcOcbU5sBoLp2vQZgLxFVZ/NyKaUeP7B5RmYOXtnhgIMK77zzDjoCGT9X+4noPopxsLa2dvzQoSm3PPWS0/1PTsRgtKMDUe7zHCgBzRQgi0BMYAKUR0IZfPU7/zf+P85B10BylaSaKzeUAzgbdk2gcwBMRz98SqaMxo0j5WA/CYBYcdqcJrXbA8vm3JXr2Ppq4w9H/c1v+C9wcq3FvWNpNdZRqBemtemkkl2S5UU1t65/dSBjXPog/X+wAZ5ScaNJI+ge0QZBRUS5BUo2nFqBcIHjouuvI1ZpXoVC17IQt2f93TEfemD6fodx5MC5gYdnMaufE9EpAHmZFcLBFuzduRTBrqZMt5oAzuy4JNLQc+CMpuvnFxWPeibDPXFJaeUU6pdOiiW6ulsRzFDXKEH/+874Jz854E5duXI1YG2oOXNQOBg1ba+xaXVBqey5j+UYifA93UB+Tt3cfsmcwIA5OKpu49/8Ix1y8LCFxIhzfZSGwqsLkZjYIVGyQ3bJVnnR+u/WDIiDVLI0IwcTjSYh9DYiFOW6O7eiohJeb57Ty+McDIVC1wohbs+2vsvMh/a/Nd05Bz8emMXMMQ7Cy8wIBYPYsXMnursyOppMAGdGDl8S5+BHLmyaX1xc7JCDMqdQv3RSxOiibgRl+rpGCfrfd54e/57goGsgucqqmis3DAFwBo6D4nTYxVTTylIWZM/L6YNm7sbRnwBcG1g2Z0Af4oYfVl0kIP5SoBc4clwpVpAs41/LPcOURpk3CEVlVAK4DcD9Nbeu79eG1aUP0ggAuwD4HFy+F8Dk/CKPAFAKoCT2SvvvpqF5Y3dPKp+YY9V6AAAzb2cpJ3G22BRmCSLvA9P25WR9FC33PAEyPmkT2dGv+6aOSyI/7nvwwu77X4b9Gc4oZgVLDrzmoyWjMM0gOo41Z7v0EICT3hn/pCNLypUrV/9ebag5M3cOWpbtQZJBSNnXi5wsVaIQfqAbXJYT0v4E4NpL5gQGxMGq2oaLhBB/KRhZ0MsDlE7qmILstEuRSCkx7MZypRVk4eCeqIS0Obj+uzX94iCVLM2Zgx5PvmMO5uX5xpaXV/SbgzLGwUzP1swsici7b9O0nDjoGbb8CSLKxXi4KXL4kmQOfqLbIQcHx4tkaRImmegws+YNsTn49Pj3BAddA8lVzqq5coMXwGnM/FEAVwKY3lNAVLGCVBZMaUKxdJ4aO3fjaDWA8wLL5gyoHFnDnVUTwWjQoA0xhAGvlt17wszotjOTWfma739LjJJPZ7unJ9QQdkaiz/Q35G7pg3Q3gFuTB5XwtedtJPz3gu/wT520+63NY4sFsMujadl971nEzGClwD37gZJ18gPT9r3ttL2i5zxXgbAkh8/HXwDM67gkkgTgC7vvvwD27yCjBiPMTioLSpl24dfAPmQx7Oa9M/7J5wfUoStXrv5t2lBzZnoOKnuBxTRDkCoM5uwZvFgwwvd1Q03MyW5YDeC8S+YEBsTBqtqGiQAaNE0bYhQZ8A51wEHJ6N5nc9A3Pf9/S+Y74OBhC+rYcQ6u/27/Qu6oZGlqDqbWf3P7AkccHDtjczGAXdogcVDFanilec4+ed+maY456Bn23FUALcnBcPsLgHmRw5ckc/AT3TlwcGAGkhQKSrffg7Zo1hDTee88Pf49w0E3SYOrnHXgqRmRA0/NeK3x6br7Gp+uO42IPFJZFaY0TwqboaFhK3S9ZGu3Y+OIkKtxtBfA5YNgHBUCeAbAEMA2YpwWU9NJ3wNgZrFeXJRjt3MBbDxwT13G6tkZtBhA79UVBqAAUnYcLymyNxMp/Gjpg1TosN0fMzBgKACxjaiaBs0wIAwDpGl9f7+zcmsQ9+Tw+TgI4HOpjKOYXmLmPVm77OcmrlidDFhWBCq2746IYOgZwzV+5xpHrly9vzTjwOrIjAOrX6trXHNfXeOa04jIY0mrwjTNk0LhzqGhcOv1luza7cQ4AgDrHDNX42gvgMsHwTjqzcFjDjmoEfQhMQ5e6pCDx5845wLYWPfAgcHjYM+4YvuQEubwH1HJUsccxCByUNM0GIYBwzCgaUm1gnLjIOieHLh0EMDnUhlHMZ1YDoKhSMHSjydjICIYmdPs/u69ZBwBrgfJ1QlS8byVGoCPA7gZQMoNhnHl5j3qBHBmYNmcdwYyvoY7qwTsuOFLwXYVaADwal4YInv2MmZeVaQXfw7AbjhYaLCL5fbOFnhEHOXDoiUKYBOAr1z0vdBGJ2Nf+iDdCOChWEO2cZRmMyoTP7Pge3x5pva+tXnshQD+CgDeNNl3BkOsFJSUAPNjD0zb91Wn9xUt9yhHg7LnsnM75kVXZrrsgq57vyZIPJq5KWceJDsjnQJz7JVmUSAYakconLx6xsyHiGjyO+Of7MjamStXrt5XWlk80jEHQw91QY1zbCB1AjjzkjmBAXGwqrbhOAeBeMYy7zAvjAJnHCz+bNHn4JSDjSY4nMBBZhx94wi3vHY4CrY5GDp4kSMOUsnS4xzsOZYGE8z8DLcvyMjBsTM2xzmYLgvdYKgnJJGZH9u3aZpjDnqGLVfZMu0C8XpL50Zb5mXm4NVdXxNEDjiY3YOkSAFkl4exX0iZHyNohRBKUdCdwYcINPmdp8e/pzjoepBcnRAFltfLwPL6PwM4DcB/AXhpEJpVAK4aqHEU0w8QgwII8cx0lnK22kdEcxSr78PB31Asm13v+0EoV2U00RrvFRCzQHjzrw/kL1nxoG+Mg+4fBXAgm3Fkd45Ll95Pad0X39o8tggJ6UnlCVwwISEgdB0gynXV0NmgGCDFmY1xAGB+TLHKGOOsVDIUYgVcETVDCIU70RVsQzDcDqmyh5Om9yDxV13jyJWrD6bqA/tlfWC/Iw5ykeO5VwG4aqDGUUzHOQjESxBYnTlwsNshByWDI304SISyWeU0/rMTvcIQswC8mT/ir0t8lSucczChrQy6lEqWpuXg2Bmbe3HwRDoOhBDQdR10ojgIBrNyyEHOwsFkg53BkEIiapgI5YXR5Q8i6AtD6gpKY7BA2uSBRvpC6199rxlHgGsguTrBCiyv58Dy+r8HltdfALsC+hIgRZ5sZ7ohsGxO1rjZbGq4s+oKALcnHuPYfz3JF5zILm6aXZna88CDceYYEAhEdBUz71jxoO+xFQ/6atLds+A7HO4Zf7YssAQSAL6c4ZIHAMRrMlg5FqjLVbHwu8nf3TTayQbbHnVnveJ4cogHip81Lst06YtDblXM6nROE/uilIRiGcs8FUE40o1gKICu4FEEwx2IRLthyWjMa5R5ctOYYQAAIABJREFUM26PdD05pl8puXrLhD8/m/VmV65cva9VH9jP9YH9f68P7E/PQedUvOGSOYEBc7CqtiGZg7H5TIYlVNTBgHSAvA452KnSPuJ7Sj0Y84lxPaFxVzHzDl/lisd8lSvScpDbFxznYBbHSmxvmGMOOp3X+6tY+N3k0dM2DSoHE8b9gFH+bGYO/nmIYuYMHFRQbIfKmbqFsDeCYH4IXQVBBP1hRPKisAwJFjGvkQP7TU8RYqdIrd7y9IT3JAddA8nVv02B5fUbAsvrPwG7vsQvYVcRd7Yuwvx4YNmcXwx0DA13VtUC+EPSiZgXSUEhqrKHVhnkARFl3cnKzFmz+HnJiyJlh0gTkQ57It+14kHfz1Y86EuXCvRx2Jl8nGhOqoPf2jz2fABf6ns8qhSiscnxRIjs8AXnq2eM+zOfZ0Bxj6lIAP5U/KxxWqZbXhqyaJdiOVwp+TSzCjKrsGLVKaX1QjDc8URXsA3doTaEI8dgWiHIDJ7FVN6mviIS0BMSgCglt0ppnZ/1RleuXH2gVB/Yv6E+sD+Jg/qq7CFtdJQev2ROYMAcrKptSM1BIJ5YINqZnYOesQZId8jBjiwcLPeicJK9lSmRg77KFT/zVa44YRwcO2NzSg5mSbAwYIlcOQjOyEHbOIobtQTgT0b5s5k5+OchuxTzcKXU08wcZOawYu6UUr4QpPATXf4guv0hhPMjMD0WpK5Se4cIUCK7QW3v3z6ecV2R2ipJvmc56O5BcvUfU/G8lcMAfBPAN6ChOO0+JOZGEI0JLJvjzO+fRg13VpUCeAPA2EzXEQhDtCEZV6X8ogCag9IKdh2o7MPuQhf2eQ6kOhWGHUpw/4XfCfbK+LP0Afo8KfpNtrYZvH3BzTw58dgNb40pJWAPUeYkDgRAEEEjahFE5RhI5b0EKSm/uvjk3Y85ubboOQ8B2ApBk5JO9jaOEnUIwOmB+aaz0uEJOq3x614i0U3krHaGpukwUniI+qo7eDQUDLXvZlZLNM340Tvjn3QnX1euPuRaWTxyGIBvqhL1jfBD3cVcmnpaEDtFo5qgxlwyJzAgDlbVNjjjoCAMGTMkbV0jACi41A+t2AEHuxSsQw44uLsLB57dl+pUnIPB5gt7cZBKln6eyAEHmbdz+4JeHBwz/a1SOOAgEE/+0EKDyEEp5Vd3bzjZEQc9w54jAFuJRBIH+xhHiToE4HSzdX7uHPxUo5d06ibhkIOWBkNmTMIAAOi2gqGgCu1m8BKNtR+98/T49ywHXQ+Sq/+YAsvrWwLL628DUAOJO8F9yywDUPw6GOMGwTjSATyJLFAA7HA7M8VQeqRBd2QcAYB04F0AAJH+TzEPwI0Adq940Hfvigd9xzPsMH7H4KwZjAg06an7Rd8VuKedQIEBSObDUaWmABgOe6XtLwAGlgObeYvTSzsujTIxz4BS2+OhdDHDKI1xhNhYny9+1nCavSiuhupfRJjVXU4Xj1LFaaeSL7/0za0Tl9Zum/T0Xa5x5MqVKwCoD+xvqQ/sv020ixrv4vw7aZ9Igo/2mv662KGNGwTjyDkHFcPsSs9BfYTmyDgCABlwyEFvdg76Klfc66tckZhp7nfMDjhINEmUPtUvDgIAMx9Wg8xBzoGD0ZZLmZlnKKW294TS9RhGaYwjxMb6vFH+bO4cfKI6whY756ADDxIA+PT8N7c+NbF221OT7novG0eA60Fy9R5S8aUrDRDmA7gcQBOAJwPP1m8YjLYb7qx6AMB3nF6vk/6uX/OPS3Uun3yOMt059R4BQAABNHkOOrn0GICHATx84XeCgaX30xMER4Xjrr3yZvUEAHx946hyXYjDTjLixHTFIyfvXpZ44JYtEwoBfAz27+pjAAoctgVWqvP+2ndzTY+O4meN4QDWAhiZw20rAMwLzDdzfrA4rfH6G4m0e4nIk+1ar8eXNQ6+pzjgv4beO/DKe65cufpA6qWPjTDUODlfDeXLKYgmMJ688IHWQeFgVW1Dbhz06e/6q1Jz0HduPoxqBxwMKljNDjm4OYCDf29ycmmcg8HmCwNUstRpAdVrVduVTwDAqFM3loscObh7w8m9ODhh5pZ+c1Ap1fnu+tqcOWiUP9tvDpqt83Pn4DWNN5KH7iWRhYMMeKOerPuiGSwJ5P3Xn4a+5znoGkiuPvBquLPqUwD+mMMtRwHMLNKLXgAwJX6UAcECBcaQrA0IaPAiD4aw5xTFjKiKQLIFhoKyM83Yu55YYpf+LsJaxPEAGRwg0EPdMnKQwf/j4JbfXXmz+jwAfHPT6Os0IZzcA2Ze9pNT9lyR6ZpbtkzIA3AegCtgZ0Qqy9Aes1LXLD5595LE46NfLKgDcDeAahAxgA0gegNAM2xjuRnAoUB3aBKA1wDksiL2KIBvBOabOU92s5pv8DKrmwC6jojSrroaRh40kX011ZLmR1cPe/DVXMfhypUrVwNRVW1D7hwkzCwa34eDAMRwgSEXZLcFCop2YezYP2DE0BYoUui2DOxorUBHYBhUsBjcXQQVLIIKFkN2FeLdX7chctD5czMzB4jooUik+yCzMw6qtis/DwCjp226TuTAwT1vnpKRgxNmbsmJg0qpa3ZvOLkXBwuqX4xzkGIcpBQcDIW6+81Bs3V+7hz8fLOXLb4JGjJzMGpA4+yBaZaQH139x2HveQ66BpKrD7Qa7qyqA/AqbBd9VjFYRsl8zBJWXQH84wqpsCx2AqQIXi0PHi3zQooBD3wieQ+TnbDBSpvVzor9x8yQsBCgDjRTE8zkiIte47VYalFlZct1cQDAqCtvVvzNTaO/rAmRNe6ZmWEqtRzA/Een7XM0UdyyZYIO4Cxm/gKAT/R4X9gOi+tg5s8uPnl3r4w1o18s+BOIrnFQC4sBtDDzMUuqcYqZVCzMQMVerNLm0vl2YL75iJOfIZVmNd8gAFwE4LsAkjbWapoBQ8/qaIJlRS9aXfHQiv6Ow5UrV65yVVVtQ24cZJamGX3Msqw6/7CCcYUjYhzUABpKyDvJC09N5vmubOSL+OhJf4beZ1pXzNgmLexPE5psdXhhHfOB2Qsr6EPH66PR9KvJMFvTD52ZpZSWZllRZMn6dADAKNV2JY+etunLwiEHVYyD+zZNc8TBCTO3pOUgxzi4e8PJvThYUP3in4joGieljhDjoFJyHDNT75C7tPuRAODbZuv8/nPw882ZOehwH5KlWRetfrziPc9B10By9YFVw51VIyCwDYTCnkmHme10qmk+9lGKdlq6LAQAYkIFhoGYQIpAIPiNgoyhVARCoSjNVLAOljIdpcS0r1fYSTvRqrVmvE6BYUFCKgWZfnKceOXNauc3N40eL4h2ZpuITSl7Rvm5R6ft+72jASfoli0TSEk5EcwzSYg37699N6lux+gXCxZBiB/l2nYm2XWnbBBbloQpJaSdku+ywHzzuYG2P6v5hpmww1SuRGwfJ5GA15OfdVxSmqetrnho/UDH4MqVK1dOVFXbMALANgCFPeFP2fgTjUY7pWXZHNQIw6ZWgASBygnkIxSc5Qf1tXwS5MlrxcfqF8JIc4lixmrLRJfT/S3SwM7bLkXr06MyXsesIKVll2pIv/93omq7cufoaZvGkwMOyuOFUj+3b9O0nDk4YeYWklJOZOaZQog3311fm8TBguoXF4kTwMGer1JaseK0igFcZrbOHzgHP9+czEFF8JrZIvEYUpOnrX684j3PQddAcvWBVMOPqghAEwlKmR6UFSfVnbDICkU1Mz8xhLaIi+DjfAglYAgDXj2vt3HVZ27NIx/yRObSBvbepPReoaSxMmOzeAvHxLGM10nEqlkzQ7KCVHYoX4Kuv/Jm9UsAuOGtMZsFUW3atpRKLBrbBeDUR6ft2+140A41+qUh3SDKpRZEzlLMiFoWpGJLKXXx0XnRFwej3VnNN4wB8G0A1wHweYw8iAxhdkrJ5lfLF1cNRt+uXLlylU1VtQ02B5GGgykMJcuyQmY02mu1p6imCPmVPogyAaPaQN5ELyAYyIedpsDsDcLx036O6ZUbM46tVSmst3LhoI63PnM1jq2ryHhdj2Fke35sQ6mPR+V61XblLwFgzPS3NlMGDvZJ890F4NR9m6YNOgeH1LzUTSeYg8wMy7LArCyl1MXRlnmDw8HPNx/nIMPnMQ2IDGF2ilTzq0+Uvy846Gaxc/VB1Z3pjCPATmGKhGdZBm/vaxwBQBDBuEFkCA8g0ftloZdHSoeDWhY5ZgglIoxRWZMOQcTaJSLoQoNXN+DVDOgU/zM/r+cfivnjKlXWQPtconEE2BtP/3D9xlHZfec5aPQK37ATbRwBdppyj6ZB14Sua9rzZc97MxPWodZV/nTPusqf3gB7s+xtphVtT7fgZIecq68PRr+uXLly5VB3pjOOgGQWMfP2vsYRAASPBtGDNs8YA5isgNMZOJWBmQycqoBhDJA9/5UXNmYdWBkRshdHSBgrWRi7qMHBdSL2lewSDIYXhuGFEHF8xTnIzB/nNBxMUSy2AMAfRp26cVA56KtcMexEG0dAvDgthNB0TdOe91Y8Pzgc/G3lnnW/rbQ5SLjN1K32dB5KBisl3j8cdA0kVx9UfTbbBURxI6k1JMKNqewWEyYUFDTSIZRIHZqnYBtLKnvoQk+/DksLxOWHP6freySIYGg6vJoOAp3/1P22i+Pnp+7dYSl1tRUrCNuzj8dSClbq2PCzANycrb+2L872t103+5m262Z3tV03W8a+Ptv2xdnJm0mJpvfrh+qHhBCxr2QIoqcHs+11lT89uq7ypz9iVpWmFbldKRlMDG9QSrZLaZ61uuLBZwazX1euXLnKouwcPA6+1nA4lNKyMYMmlFTQR2oQHwFQit7RE34A4xmYxkAZI6qyP1oSEUY4SGyTKP+4lDWSHPQloOsGdN0LIjpflD6lAcDejafuUEpd3eMp6nn1FIlNIUccnN22zD+77e/PzG57uWt22+vS/vr3Z2e3/V8SB+k/wEEiYdBgc/C3lUfX/bbyRyy40tSt2xWpYM/zEIOhSLVLTZ61+vGK9w0HXQPJ1QdThBJHl9lGEqVdZSMgTGF4sxcLBxQcp/UWlOuf3sBCYQUJeDStCEBdz7FHp+1bppj/x1IKZswwUplDbu+4fuOomelOtn1x9kfBOEKg+QTykx217ifQpWA0tV03u3daUuYo/o0hvoLiHrZZJ6L9dZU/Db8+/OG7Xi1f7JfSrLYs83OWNCteLV9currioddPRJ+uXLlylUHOOGhbO0SU3tsUbgnDe44HGd0++QAmMjppvKPBVYrcOMgDfGQVQkDTPL04uG/TtGXM/D89RlGfsLpUumPUqRvTcnB229KPAqVHiIrnE/n9RLqwvxZfCgxtmt32j14cZObov3OrC51oDv62Mvz6H4bf9eoT5X6pyWpLsz5nabLi1SfKS1c/XvG+4qBrILn6YIqRecNOgoioLJ/yJqeLm+3EMcdhcVEZzja5ArANllxC7SxkN7yy9SpIwBBa3xoY3wbwrsNh6ACeuH7jqCR3VtuXZl8Bxj8JlDLVEIEKADS0XzcncQdnIRwWWR1MEcEYscI3qGESfbW64qGm1RUP/n5NxUMt2a925cqVqxMi5xwEleV58yeLNEbLscZO0EhnzDqgLna09lUoBAoclyECrC4nZYYyd2wbScaAOTjq1I1JHJzd9qsrgCH/JPKn5iD5CwBvw5z2hl4cdFpsfHBFhq9yxYnl4OMVTasfr/j9mscr3pccPKFvjitX/0EtA3C904uJSOTBiwhHIal39huDDBA7m8QZChabMLLXFoUgAcnOaj4cokONAKrTne/2Epoq/QjnafBGJCpaw/AFTWh95l1C76W9R6ft67p+46hrYaeAdRLvMAHAQwC+CgBtX5otANwBxm3ZbiRQOYN/AuBrsUNDwAwoBThYSdQkMLRbx+ijBsa0enCoyMLaMUEIybjpySKcssuL/Agh5GVsG2XikQUdOFpy/A04HvYG69BFQccF89ZVjroQwMNAT/0HPgjwolnN+59w2sZAtdw71gCwAMCnYc/bRwE8PC+ye+2/awyuXLl63ylnDnq9eYhGI4nZ2wAARpkBp4EPYS5HizUBFcbOrNdWCoEd0iEHl0zPyEEigt9fCE3XIC2JcDgI00zeYkTUm4P7Nk3rGnXqxn5zcHbbr2wOQr/Njj9ML6K8cmbVi4M9YX3pjNPeDQC6T4dR5IGn0AOr20KwuRvMQNHIYngL8kCCwErBDJro2N8OZSVzEGAr2HyRYw5W3rzuQjAeBtCzIfogCIua75/1b+Pgvcu9KTm4cF7khHDQzWLn6gOphruqNAi0EpGjEIMeMRhRRGElGEnEhAk8wbHHxxBe+B0Uk7XrDEWzXieVtbcFLePeNd69GsAvCMd/JgXgzVNK0FxTYCee6N0B8kMW/F0WKtqA0Ufy4Ymoo6Hy8stKuvU3zvrcy/HKtNdvHPUDAHc4+gFtXfqjX4x+GXbhwXlgODYiAXym5NerHh+9wnc9gF8AgMaE0qCBYV32q7xLx7Bj9qs89rU0qEHr04cCIxwywW3J76MC4x+nhbDkvG7sLzPje6ukUmtaPhY+M9sg142oJkD8P5D4YqqaVgA/Mat537VOf+j+arl3bCGAfwE4NcXpX8yL7P7GiR6DK1eu3n+qqm3QALQmMsOJmBnRaBRSHn9+pgLChL+Nd2wkjTTW4HT/b7NeF2bGKjM7By1ZtbflLx8d9+5NI2wO9mF7SUkpCoYUpqw/aFkWLNOEp6QVFafsgxSRo0NPUpflVbS/8dSlP4hzcNSpG3Pm4OiVbxznIPJBNNnpvZ9ZVXLa477KFXEOkiAYPgNGgf3SfTp0vwHdr9svnwEtX0tiPSuG2WIiejDZGGRmhNqD6G7pghmKxvdWKaXWhA99LCsHRyxcR1D4f8T4YlJSDzBAeKL5/lknnIP3Lvdm5ODCeZFB56BrILn6wKrh7qpKAJuIKG1F63SKcBQmHZ9sxmEcDM6eoa5HRZ6hGesl9ShshqCgQLBXv+wJiABwT2HZo4rVlLJFr7QCwIoHfUJBfRmgrwGo3XhyiWgenb6Y9rAOA19+uRqloYSxs52prtsrrW6PPBYxVKup8f7tZZ21hwvCw9t9UQTyTXTlSfTYI4k/CzOj/Kje/o0nK1s1pok9bTr2sjHLUHvwpe1DumvCOp80rEtHabcO3bmBlSQraCHSHk55ThHjtalhPDn7GN6piUQsKScenRfdn6m9dSOqPQB+A9I/len3yKzuntW87/v9HngWLfeOJQDPApiX4bIvzovs/vWJGoMrV67ev6qqbbA5iNw5GI1GYCak4h73h7EwJjgLPNIQxqVF34VOkazXrgkPx1FFAEVAFAFRGIQIGB4w+2DJsUeVqpjyStkNrQDgq1whlFJfJsLXANSWlAwVhUXFadsvrGnBvAd/heHDA/FjYQCHJHC0o8AyO/zHrJC3VUX0/YfXjq3t3F02PHS4CKHDhYi2FwAsAIrt1YrhgJmhVwfbK3/9divpsDmYg4HEEjL4XPFL3etlDVt8ku63DaKkhc4cZLVZCO9L/X4zM8KBEI4d7kCkKxyRUk6MtszLyMERC9d5wPgNKXwq0wIxg+9uXjzrhHHw3uVeRxxcOC8yqBx0DSRXH2itv6e6gJmfJaJzc703qkxEYx4eH3yo0WqY4Cxg2qcXwKNlL1puyijCVjDdaQXgvLJFr6xKdfK2VdWz2ob716Z7gC/u0vH9F8bE03/3Eie80sgSCoF8CwGfiY58C6amYGqMkDIxfZ0H+dGEpcRYW069bEoqdLd32WnSB2EKYmaEWoJgK3Nj3V7V4I+IHwD465RNO1JevG5EdRmApwFxDmXJssTMTEQXzmzak3NNiZXFY/IBjAcwEcAUgC4AaApAeQAHACztCqmVAGUr6rdzXmT3xFz7d+XK1YdD1bXrCxj8LCF3DppmFNGYh8d3ig81P69mMpxN9DN9v8FoT/Z9+fvNEVgfTl+OCMB5r5TdsCrVyeqTG2b5/QVpOegb1obrnrwPHi15umcAjQA6MoxNRjWEW4sQbilCuLUIZjgP0UgeuoJlwNwoREHfwohTQQ5C7AFAdWroWlYCdAo42GacVcyM4NYQOJKZg0qqBqHZHNyxfErKi0csXGdzUOEckWXxksFMoAubFs/MmYPFK/+ZwEE1BTh6AdA9BTDzAD0AGEtv6vrqSh0yKwcXzosMKgddA8nVB17r76n2APgtgE/meq+lLISVvSJToVX8sAQl3wGy59zWyUCBpyhr+8yMrmja6fmHZYteuSPdya9umbBQ17R70p2/6a+jUNWZIeUQI6lYrlOxYkQ6w7CCCaERuYXZwYpaCHeGbKNmEKYhs9tENJB9tTKmtwEsBvDklE074kuk60ZUTwXwPIAxIC1eUyOLjgE4e2bTnrf6nlhZPEaDXSdpIoBJsa89r5GIr0cKUIqcOYqV1R1WelJF4mQNnRfZ3eZksK5cufrwqbp2ff85aFmIRG0PfcV1w35Ycm3xd5CXnYPD9C2YXfBI9vZZw1+6ZkOm3v7zw1fKbrgj3b0TZm1ZqGXg4BW//jHGjD+Yvm8A29E/BEXYi6bISei0EuueloMo7Tap5P4PeBB6sRgcxKAYSWariUhj9pDFmOIc3LF8SpyDIxaui3OQlGOuHwNwdtPimUkcLF75TwccVAAaAepMajhPsfWV7tv1PKSOEknQ0IXzIoPGQddAcvWh0Pp7qgXsTZXfyvVeS0mEVRgApk7WJu8CsBDANwCUZ7qv0FPiqN5RyOyGpZJih/8F23uUdsr86taJS3Qhrkp1Li8qcPeycdk9OglFbnMVMyPSkWAk5ehFAoBoMIJId2RQwKCiCqHWtN64dDoA4McA/udYS/CjAJ4EYMcsOjeQAKAxHFbXWxKzASoGUAY7IcZ4ZE6Mi3TGUY8sKRHKzruyeZHdR50O1pUrVx8+Vdeu7zcHpbQQjsQ4uGbiLhzDQvjxDYhMHFS4pPAW5ItA+ktiagjV4oCVlGX8X7C9R2kJMfH0rUtEGg56/CF8/YXbkS1qbT+A5MdyZ1JM2BuZ3sdIGg+i7PuQexTZ4EekwQ9093MQiePpUgjuDOV623EO1h7rxcEcDCQAaAxPCF8vy8zZ8KIYXpRBwCEHmwFKb9vUWAfxydCPs/VftnBeZNA46Kb5dvWhUN2tjQrAjXBQ5K2vdKHBp+UjT3jNikVrzIpFa+6EverxLQBp01dGpTNvhqElueOPAvhUJuMIABRzU7pztU3+nAyV/oiI4C1MCCOMbZ9yUiy3Rx6fF7rXiYPEyYD6dVcNgIeZ+bDHb7xAhOMbujgn91q1YdBzRHwTkboOUPMBPglgBwW0Mg9cEwKU+T192zWOXLlylU2Nb9f1m4OapiM/zwevN89cUzHCXDN+xJ0Q2TgosD/qrNxOjZHk5TkK4FOZjCMA4AwcHHf2O1mNI2Bg6ZwFMaq8W/oc3Qtmx14ceGd0Qx8dHZwn8oFwkPiw57DnBbIozsEc10+rjQPGc9QubqIWcR2aaT6COAmczTiSADIb0Qe0SnRS+n1mAN4eTOMIcA0kVx8i1d3ayHW3Ni4G8HnYf5GOJUhAI23z2rtHjAWAikVrwhWL1vwEwDgAtyqopCWbqHJmIGmk9zVmPle26JWUFc0TJZVqSOcBntrspF7EwEWCIDwJeOmHkZRXkA/SBjgV9Xiu+mloEZHP6zfIX5aP/CJvbKcZO6pp1SNNI3i9PZXKASIn7jnKasgSEQw94zVPOh6kK1euPtRqfLuOG9+u6x8HhYAmtM0jpqwdCwBrKkaE11SMOM7BSDIH90U/4qjtYdpR5FGvEKrPvVJ2Q1YOqgwcHHfGVkd9DzSAwUth5ItE74cFYA84h0W2/NkdECUDHElPmHt/Ocjk87Z6yb/Nj/w9+aAo5cxzLazB2+i1xyIJ1CoceMZCtqsq8+Cw2cj4WRp0DroGkqsPnepubfwdgPkAcvJDE1GeAPXahFixaE1XxaI19zK48jBaOmUCbxRLSJVpwotXtIZ+3Iv0cNmiV553OKS2qJRJD/GaJEw+lDU83NYgRNhqRp8wQttIygq2+OWCkF+cPzAvkrLfR6EPbEojIuheDf6yfOh5GsDJ728m6RrBYyT+IFkyYTj8BWjpl0HbAPzMUSOuXLlyFVPj23W/Qz85SCR6cXBNxYiuNRUj7mWTK1t+39Ipg8c52KGqEZCp9+QYAIaA4IW9qFStH+o59fArZTc45qBMxUHDwpjTtztqIOvOFgfyaF19jgQBHHTOQS8j/2MdgD4AKEdjHPQOkIMg6N06/Dv90AM6WORoJHXpMA55juOtnbKY4k5KTwF7tXHpTp0QDroGkqsPpepubXwBwHnMnD04OkGCxLi1d4+Y3vd45aJ1gWY6ePoWbLNacQQqlv2grxeJSMDQPPDoefDoXnj0PBiaF35PIQq8RW2lvoqj/MiCK/iRBSfxIwuypcFrV8yISgmpVBwQE1rykWc5+NMerO2Hyc/uSwBMhr0h2JE0Q0NeUX7ufTPsiTf2swzUQOoRESFviAcgztlIMgwBXe8xfgdlOJkMpIfmRXb3N3zelStXH2I1vl3XPw4KMW7ElLVJHFw3rjpw8JGDp2+bt8068sQRqIjNwb5epCoSuNzw4NOePCzwePEpTx4+aXjxXf8B3Fywte3p0lePBnjBFQFecFKAs3OQmSGlhErgYM2MXfD4skdxhAE4D4ZLLwtJZUCWAG25cbBMIv+/OpEznBWACOKusIEaSD0iJuQ15QEWcjaSjHYDepsdXUKK7PGlv9pRm4e0SpipAyIfWjgvMugcdA0kVx9a1d3auCaqzK+r3PaagIDZqY5feGtwmyT5wyZqxrvabrSLACIyHJ+wBWkwNE/Sxn8igiY0ePX8UiL6EYCnYWeX6eaHFxzgHy/YxD9esJp/vOAWfqgXLNoBu6ZRVEqELQsRy8LUA/8+7xErTgwRY9jaJlqQAAAgAElEQVQJLK4p/Z+XuwF8XUl1xGlbRr4Bw5ecHvWYVypJvBsKNghk7GWhl3EE2AYS2/8N+KeLG0ngXPcjwWMQtPiiWOahOIGO/RlJOtwG4Oc5DcyVK1euEtT4dt0a04x+vaeAqHNRSg4Gmy/cJtvlD5sfasbuK/cg8EwA+4KzwLGN/hOFhrmGByV9OJhHhEoNONt7pNRD3IuDbbzgQCsv2HSYF6xu4QW3HOZkDvYYSZZlwbIsjDtrs6OfYjCeqsOcD0m9JvyFAK55ufTzNgePCeccnByBZ3qyU09GpGLFu2EBMGFbdRHY/r8QesUJCu8gchCEvIN5dqhdjgt+xmEPtM7Y+5LRg6QDnH2B1CIP9mkT+h4+YRwcyN40V67e9zLZFFJK5GleCOcZyzJNE4sBXBOFOfWwdhhtog1TOR/55IMmcvhzsyOzBBjVhHjO0DMYfDc/tOARAi3EXBsMvW5TjJMd7j9q9Uctf1TTfVFn7u2kvpgBiZ7Cdh0APln6q5f/0nO+5NerQk1XzNyYX+Q732nxO0+RF3885TDWjDiGlgITRwsssMHi3PU+8+ZVNVmL7wpDAwS6oHA+gE8A+BIcpGVPJy3ukVJgpq1EYoqT+4gIXo9AOKIgs0b5KzgJMdA1glS9eOd6j1y5cjVgmZbNQa83D0IMHgfNlujUw/e3oO2PBmY8PgGTRuzA6ZpzDjIAExAWUJ2QO/sMMN99iBc8oogWArcncxAS48/umzghtQ41lVpySEg3CnPO/Gb3xYRWjACRBGIcfLn0S3EOrio5LTTz6T0bfRe3nU95zuwV7zldOPyPAI6ticLstmB1m2DJwlfuN2vOG5mVg5pXDC4HwzE+EcDMWwnkjIMgeJq8iOhhyNJsBvgQOIn23KVPxXjZa2/ZCfEeAa4HyZWr8ZrQYEHCiSeJmaHAj6c7P/fW7iiALyu2n4pNMtGERgjSsk5qvTuy3dt9N/ATSBDoRgbvfPSl6fV9nQ+j2/JRFHHkrt5fHvJ4vn/lu8UPXbjvnN+f1bTwj2c0r95Q0X7EDEVhRUxIU4JV6kQFrPi4O18TYQCzEo2jHimpSsPHQo5D1AQIn9lfgyNFEo0lJiyD4Y0Srvr7kEkss7chbDfLD6Zu2rl2yqYd34adbfB2Zna8gtdL9tvPAG4C6BTYtSGc3UqEPK9w8Ht39t7oWq923L1Hrly5GiyN1zQNUlpw4kliZjCrtBzsbpobBfBlKe22zCYTDQ+PR43QYOTAQROAZWe86X2CSCiiG8G886VX76nvO4dWntSIgqF99wSl1P5Tqto8/5x3Z/HqL/73OW/efu3CTXdes3rXP8450mKORbtVhS45FFH2QKVwn4TYh0aMhYk8CGGFAcxKNI56pNr10tDKIseBCCSAmkUGpB6B2RkFSwYJwpARRZPYdMBBO8TuBzuXT127Y/mU4xxEPznIsf8TbgKQGweZ4D2QZyd8yKjCLOdt7dKngo8/F51QDroGkqsPtQSJ83oeYJ0YSQq86iOLDmWcZObe2v2aYn6i5/s25Jh5Mtu+fgAEGulVYsmtayfJsYHjC0OnHnQ2yQB4xnP7c/zzSds6Fp6x6ZUvXbD+vi9c2HDWpM36L6yQCbM7iuixMFRU2fHHJvd6JbrLSRPtpb96eUeafqqkKRENOo/y9rDAL16eCII9QV31jyEYFtChsrtiQILgG+qPT95TNu1om7Jpx13B9tD6aDAKJXMLI2HJCsC8WQcbfzyrea8F4BoAbzq9n4iQnxxBzwD2AXgRdmjADQw+lHRVHwmixJS1D86L7D7mdByuXLlylU5CHOegEyOJWa06tO0jGTnY3TT3NWYV5+D2v49HgeU8WkHBQXY5opF5edaSX/7mN3Jq7fF8CBPPceY9AvDMlzzP8bY1kzre+MN5r/zrvqvuW/Wja84KfsT3ixZrPJrMk7A3Wof9agr2YjL28iQ08lg08ljs5Uk4iFEwYxmsBUXbXy79UnoONnkRXe88u6zIY0z8yfESU0Mqi6B7dchodoaRIPhH++Ic3LF8StuO5VPuCo4Kro8WR6G0HDlo2Bw8eO+sHzcvnpU7ByUhb3N+381efTjovQFMWTnYLQpxUMSTfjy4cF7khHHQNZBcfaglSExK/N6ChEyzKV+yapGQFzlpl8HfUKyiAKCg0J1LBbgciq2O6yjQFq2djK9sGoOybg+mNTsuTvdMmuNLeg3FgeeHiCoit85Lips4ML/OA6ACAHq8Uk5VFcrDqe0+jDqkY96rNlSk5WxSF0LUJn7/RlX1KQDmWhGJcGcEka4olIO27FVSLJl1sPGFnmMzm/Z0AbgEdmE9h+Mh+PJxBHaow8kA/PWBPaPrA3vm1gf2fLM+sOdn4N7vezrFvEhH4e49cuXK1SCpLweltJAqMxwAKCVbpHTIQeZvKGVz0Ax5sG9HmeMxScBxlpvaU5q0x373G9xxz1MYUdWGiee847SbNBykPhzUABAUNESRhyjyoGAfi99BqJgXuSWJg3UPHIhzMLrJB3Ovg9J4MeVNtOCb5IWeb6Cgwma7ijjLzC703hysvPGNU0hiriywEBkeRrQ0AqU74CAYrPGSg/fOinOwafHM3DkY0pD/iv8IIhTnYKD+3NGB+nPnBurP/Wag/ryfAcoRB3fpU4F/AwddA8nVh11Ji1QSCiYsSJbxl8lmq4Scccaiw44ygs69tTsglYoX42uUewdxyMmadagUd792EiqjjsKM2wG8kupEyS9XbmXFHT3fs7ONuwIxAPRRr7Lo4a6wYw8OEWFOcymuf6YUBoSdStz5ftNTezeGrySGudkeLRPKVHaoYAoxM9hiCKLVfc/NbNrTDOBiZnZctEIIlPny8d36wJ636wN7kmtmWZy+hHiCYgaS6z1y5crVYCppLlNKwrJMSCnjL9M0W6WUMw5vP8MRB7ub5gaUknEO/umXpw3mmJN03gVb8MRTj+KsMR1O8qKl5eDKkq9tZaY4BxU78nw54CAh/HIhVLezfVhEQOlHh6B0zFAIQ0DzarnkC+rFQbLwlfjCKwHSJ2GWRqHyFVhLw0EwOJ8hIJI42LR4ps1ByoGDUVGWv8r33UD9uW8H6s9N4uBHoisdcXCXfhJwgr1HgGsguXKVpgK4bShJKFgsJQPzz1h0OG3F7lQ6f2HnI5aSDzMzjuIoOqTDTKr9TA2ts4Bm6DB8Xgg944S+3HP7c+knNcJ3ev6ZQ3rrqmzHNF2HspTjNkcd0DD1cD6MPAOaocFpogf0NZCA0X0vICI7OZ3FtqEk2d5vpdj+t8k9YY57UnUws2nP5khU7ckl/TcR6l4fPuaSvseXe8eKqMUfd9KWJgj5HuE4/tuVK1euHCgtB5WSUEpCSksCPP/w9jNy4mDn/vMfkdJ6mJmx9sUJeHHTUEf39bdCgmEojNV0zDG8GCO0TA+5y7/kycBBcAIHHYcGZuWgPsyAai4HS2c/oabryB/mg+E3oHlz2svcd6FwdN8LiMlOIOdjKJ8CexisxV4eBvu5J5VbSg42LZ65OVoV2ZNL+m9SVDf81teTOHjvcq84O/rix72cPVFDqzYC/5v/lRPOQddAcvWhFjP/d7YHUwbfdcaiw2v60/55t3TcKFlNl0r++U3zja0dsr3TyYNwLhNOX9nFTg0Y+R5QitzQSB9e13P/75jZdp2n8bCkUBIYGsZ0x9PAaroGw2sADCjTWXhb7SbRO6MSOzbY+hpIr/e9oFfCQoZtFFmxV+9kECnBAABSYkg0mpOBBCJ8L8Wpy4hwinT4Xusaneu4U1euXLnKIkccZL7r8PYz+sXBjn3n3aiUnC6l+vPXrrp86983lXaaWfrT7E770x0AwEOEqbqBcwwPhqfOUJuFg/gdsx1Cxg4LmSIFB7v3JnCwQoNRYwARD1RTdkORFUEcze9JPmRLIW3kQx9l5SBUgrGlAexlsC/28nKihZCeg4VySHSE8z3GBAIpSsnBA+Q9xZD7HLWzXx9/wjnoGkiuPtQ6+7YjLytWT6XM1MYMxWrZWd9v/eFA+jjvlo6N597ScXX9LYGpxTf9vUgqc4JS8l7FajkzvwhgCxK3L8ayEwzESAIAEgJGngeat1ewQRj2psi0KvrZPywiehDonwfp9JdLpp/+cslzm0eF7gEAoWvQE8bAirPuAWrnCCjFnOsQDKP3XzCjqOcbAv7Q9+fIYRVub6qDq0pG6gAqLMmIOjD4EtSLisu9Y4Um8HNd5PQscGkuHbpy5cpVJh3ZdXZmDiq1rHXnWQPiYMe+8zZ27Dv36qM75k69ctpjRa9Jc8JeJe89pNTyaAoOEmCnPxhgKR8/CdQZHkzTjESvVFYO/qPoGxYRYhzM3UAqGfvy9JKxLz8XarI5qJUKGKOPh9Zxpx+qNXNSpchmD9CW3Ddbzjg446b9cQ6C6Q99nylIDYyDJb9bpQOokCUWzKE5ldvtxcF7l3vFy1rZz5/QRyKQPV9Rj044B906SK4+9Dr7tiMLXr2r7HoC3UmgUgDE4BZm/unZtx25e7D7M256dheAWxOP8SMLNACjAEwCMBGESRCoY8XTCeSszHQaaboGAnqSJLzouf05JxkjfgPgDmYucdhN1ekvl9Qy851EdDkAlB7TIf7/9u49SqryTvf48+5d3dy67cZAG1tQUIEkYsB4pUXFYFeOMzkk48ll5iSZcRKdSeLlxBCjJpNkjjrjXGJOolnknJWJmLm4VjBZrsPMnEQIYxyxRYkX4iWGayt46Qa5lkBX1X5/5496wb5UV+1uCoH2+3HxR1ft2ntDL/fTT797v28cqW5U3YBCcuBWu7hu4MV/ZyavPet3qKHM5cm8V7kVU8s4U9JKSTpny5aXfj150n9KuvjAmykLUtcZv12/d5D33q1wF0iSSD6WUi4fsqv3F5HTl+LInSiVBuvMLM25XfKr5mlN83au21VtQwBIY9u6uR+fMG3lF525W50LOWilHNy2fm7Nc/CjdQNzcKf1zcFYmjFKOjtvdpa5Q8vBk+JYkZOeKpZy8Or6oeRgnDoHx5/6cJ8czIzLKGqKVHd6mRzsapZ5p/iEgZfy/MujtWNxXPaHdF80RQPXVC/nYA6+ctc5L0364q//U9YrB9MVpK71951RPQdHJYojr8inCsI+f+HHo/FfeiSeWHpWy2+RmZervi7lJc2/uqtp57zrD1sOUpAASXO/sW2RpEWP/dUJUeITN/cb29JNFVMj7kv3J5I2hj8/P/jGnZ+ITXalpFudXOtw9x9lYilflMwq3lZwQNPdK3K7rpu/yLx9Pc32jx3/xjVmdnPvAGjZXae6UfWD/sBvianoi6XbB5wkk7aOzuuaj6zTt/++/GxHKUeQZN7PVwgGSXLO/b16F6R0zzN1Vnjv4PciEzt5f/AWumpu7/1FFOm63l+bpdpHRtJ/kdLNfAcAaWxbN3eRpEUnzHgsSpLEbVs/923NwWZXPgdf1SdiWSkH5YafgydGsRpUVE7pcnBF07W5+bu+v8gsTpWDbzw8cUAO1jXXqf70ukEyx8m2NquYG6OocZ80Oi/11Cm/Oda6G17VhPdMDMNofaUcQZIvWt8ctF45aKkLUmeF90rfi6IU78jI13m5vCs921SJ65uDL0bH9crBvMxeT/NtPuw5yC12QC9zvt7l3+5yVNHCJYlbeP+PnNw0Sd+QhjJfeF9RJjINYYE3lRZg60lzm93Jb45p7F+E3rt9XPUiYqXRJF/w2lrfo4Uf3qAdYxPtGVv+trXUBckGDL//QtLBsfuUI0iD3netEAyZzFsLwSZJ5btBvFfn+a9t6r+IYJ+Z/nzK20nM7E9SbQgAQ9T1uzn+7S5HlbRqSdLq7v+R3KHn4InRcHLQ9Vi1H/oljZm6f0AOjjtrrFxdlc/uGyXf3Sz/cot6XmzQhpteV7InGfR53bQFSd4Gz8H0y4lUz8FtmVIpclJSn8jc4OfnI9/52h3n98nBfYr75KD5l9Ocl8z2HtYcpCABx4KFS/Zq4ZLbJZ0u6f+otI7ekDjnOuu/uXRr2u2b7l7RJenHaQrS+PzA8f6mnvR3ROwZVdTXLu/Ua42ltZLun7+n7PNP5i3tc1FNvb84++XNRUn/KKUePZIqB8NJkSvNKtdbkkj9Z0Y3k5JEBe81r/9OXJ8ld6UhrGPb/qvmaYd0ywkAHEtatWRvqw4tBzPOdV5dnz4HVzRd2yW5H6d5Dqn+XT0DXqubmP4yXcwV1fl3L6nwRikH97y8u3wOFoeXg5t/cPZbOZii8AUVc9C9GSna2+vfJpSk/ovRmkxJJin4Oj+v/06865uDPkm7vFJde/Ov7jpsOUhBAo4lC5e8roVLPq/SvcX/Xm3z3t7MFNcM44h3phm1icptkvLqUoh84YGZb9zYeXzPXZK2SNKjH9ivZ08pv9RGqlEks3IfXiwNaYKGSsFwciZT/i/ovVQsvvUnjCzdMqdr04Dpecw0YMn3NKNIzrlMMbErqm4IACNMq5a83qrh5eC+3aOHl4NpJmoo98u3OF3e+KIV3nhw+409r7yVg/u379f+N8pPe51mFMlMg+dg+gkaBs/BRCdntpV5UsdJvs6rOKqoYn3pTzIqkWXslq7b5gzIwROsp18O7pH5HVVPzLm6TFJ8/rDlIAUJOBYtXPKCFi75sKTLXhuzr+piaUXz+vq5zz451MM03b1irXn/22rbba8bOIPNjtHV148zM1/nowULv7zu20/N2/k/JJ0s6TxJf3P7n29ft/hDO7S/32+ifLH6nR9muqf/a2e/vPlFSauGMILUOdgbceTOG0LRekbS98q9YdJV/X8TmG5tXslJU9OeAACMNK1a8kKrSjn4cuf4qjmYKzjd+Mkrh5yDK5quXestUzUH89sGPjBU3Faoun8z81HGLVj33TO+vXPTvD45uP3F7et2rNs+4Ha7ZH+KoEhsQA5u/sHZpRw8xBnsJCnKxee5Sus5hRl5FUlyg+fgBOu5KtNvBVyf8jY7OXfYcpCCBBzLFi5Z8ZVznrnmf89Yr/1R+eJgZlpyykvqGtNz7XAOYWY3VRvO/7dJA6fm/MkHqt/FYGbXT/yXlb848PVT83baU/N2rn5q3s5bJM34+cV7Z/7xt1791s2f79q6dO4ebWsqlmbAq9AifOK3Jvli2QuxpHtqMYIURe49aXZgpX+4P5vTtalsW/y9fRvXeNNVZnbwm5f2OST1nhoeAN6hWrVkxR9+9LPX3PoXl2v33vJzjxXMdNfdF6p7S/MwczC+qdql+fWfTh7w2tb/t636vvfZ9SsvmngwB3dummc7N81bvXPTvFskzdjbtXfmq6te+VbX011b92zZo+L+ovx+L19hFMkX/NZiLhk8B2swghTtjdLlYOnp3D/runVO2Rz8xe+9smaOf+OqBisczMG0zyGp7IIgteGGshI8gKPPH/560ngz6x6VxJnPv3Cq3r+zWeN8nRKZdtb16K73rdPa8TmZmfYVChcsbet+fKjHePMrl9+bqc+UfSDyd2N36+qLflP2c9/815N03mvNA143M/nEf/fdP3nshrTn8P4VjWe5orJtL4w9/78/1Dx68ptjLoviqM/9x76YbDDTOVMfWrOz3D6ePHnycZn6zBuZurjiDJ5huu1RZ/x2fdmL76MTp7wcRW5gGg5095yuTddX2+jnY09tlele53Spcy5TFztFFUa6zCwpemts37Oh+rLjADDCTZr56/Fm1j16TCFz/W3/rra2Tp14XF57E6dXto7VbTd+RGufmSwzU6FQuKB7bduQc/DyN2+9N5MpPzHA7uffpd987Lyynzvpcyep+eKmAa+bN/md/ruPfeTdqXOw8eQVZ8lZduyEsec3n3b86DHvHn1ZVNc3B5Mev0HezlmzaGrZHJz8hSePy+zLvBHnM5VzUCYnN2r9fWeUzcGJf/3oy9H+KFUOdt06p2oOvvfn01qddO9mN/ZS71wmrvuviqKJg5+f7U188enGPe0/OSw5SEECRoBPrD7p2ci5mQe+jrxUbjmCffn8f/zftu75Q93/ruvmu8zo+m9GkbvBRVHpSm+Wf/hdWzv/8px10wdb+sDM9AdPjtcVz05Qc6Fe8uZltjkp+htbf/r4/UM9j942XDQz46LoY1Hs2s2sKLl/mvrQmpXVPrfm9KlPZ+ri2ZW28d7nzvzdxsbB3l85ccqqOHLnV9qHmb3pnGud07Vpd7VzOuDBcae1SFronK6rz0RjBtsu8bZ4/u71n027XwAY6U46Y/WzrncOxol8MvDZoXw+/x/da9uGnIPzd33f1We2f9NFxRsil2+SJFOc37qstXPdl983vWzoqpSD4+c1a0J2gupPqJcl5q2gzX5HcuPjn2o9pByc+acbMlGd+5iri9rNW9E5/dOaRVOr5uDUK9c8HeczlXMw8rmN/3zmoDk48W9Wror2xpVzMLI3nXetXbfOSZ2D4x6cHXLwhOsy9b8/aA76ZO3i3fO/f9hykIIEjAAff6L1rjiKrqu23d58XpIuXtrW/chwj7X/lg83FHsK+aRQLFy24PFYUfSii6PTet+6ZmaSN1ky4La/30o6e3V77oiNfKw5bcoVcV38s0q32hULyQOz1m8a9OHPRyaccnEcuYcr7SPx9rW5WzvvGM45PjjutAlRpLszkfuk63UQM5M3LZq/e/01w9kvAIxUre974q4oRQ7mQw52r20bdg5+eP/XGgrFxnwxaSw8PnNGHEXRi1EUD8hBM69kkBzMbW4/Yjk45U/XXBH3xD+rNNV3Uld8YNOPZw2agxO+88jF0a744Uoz4vlxyde23jR3WDk47sHZE6Joxt1RZvYnnRvXKweLMr9p0e75dx/WHKQgASPAx59onRQ5t7nyD+xePcWiVFo47uKlbd01+Z//3OUN0yWtUeRGO+cOlqMK7lzdnvtKLY49XL+ZNnVlnIkvLPeeT/wu7/20Wes7Kz5EtXLCKfdFkfujcv/mSeIfmLvtpUOeXWfFcadPlOlTcmqT9Kz39sP23IaBD3wBwDtc6/uemOSq5KD3XsVeOdi9tq0mOdgwefl0SWuciw7moFnFiRTuzG1uP6I5OPWPf7MyLg6Sg5Hf5TN+Wue9syrm4IS/W3lflIv+qFzRShqSB7Z9de4h5+BxK66ZaPKfcorbJHvW+64f5tp/ethzkIIEjBD/7fETH62L47Zy75mZeorF3hMAXL60rfsX5bYdjnOXN1yvQWaoKXc6ki5Z3Z4b9m/vDtXTU06Oo0y8OM5Enz4wQmNm8t42+qK/cPbGzlQX30cmnPKZyLnvOacmSZGZtprZPXO3vXTzYf0LAAAGOPG9jz8aV8jBYrHYew2hy7vXttUsBxsmLx9yDuY2tx+xHDz56qfjOB8tjgrxp51CDspksd/o6/yFnffMTpWDE+585DNuX/Q9V3RN8opslG21ertn241zj+kcpCABI8SCjpbJmSjaWBfHmf7D/P3KkSQ9JemcGo4iRZJWSAMXQx3ERkmzVrfncrU4/nA9c+qUCc5pjpw7zcyWzN7Q+epw97Vy4pRo7tbOIS9cCACojZbpHZOjKNoYl8nBfuVICjlYw1GkYeVgbnP7Ec3BKZ99ZoLMzXGm0yyyJZ33zB52Dk7825XR1pvmjogcpCABI8iCjpbvOOmGKIrkVAqFZPD/xz+2tK37Z7U69rnLG6ZIelZSQ6oPmH6wOpv7Yq2ODwBAy/SO7yjkoHTgWaDBc7B7bVvNcrBh8vIpGlIO2g9yW7Lk4FGIdZCAkeUOk3KJ9yp6X6kcSdJtCzpaUiwPns7q9lynpC+n/oDTF85d1vDpWh0fAABJd0jKee/lva9UjiTptpbpHTXLwdzm9k4NKQfdFxomLSMHj0IUJGAEWdrWvVXS/0q5+XslfarGp/APkoZyT/ePzlvWkO43bQAAVNG9tu2Yy8GGScvIwaMMBQkYee6UtCPltv9zQUdLfa0OvLo9Z5KuklR2gboBnOolfbdWxwcAQEPMwZbpHTXLwdzm9iHmoCMHj0IUJGCEWdrWvUvS36bcfIpKF/KaWd2ee0XStWm3N+myWh4fAPDO1r227YjmYG5z+5ByUOTgUYeCBIxM35eUdp2Av1jQ0TK2xse/T6bNKbcddKVsAACGaUg52DK94zDkoJGDxygKEjACLW3rflPSX6Xc/ERJNV2ROjbNjqTJSjdJ5qZaHhsAgO61bUc0B2U2W9JkpZstmhw8ylCQgJHrh5JeSrOhmd2efXj8B2p47DucUlxgTHLSX9fwuAAAHJA+B2W3j5/5cE1zMNVWpQJFDh5lWAcJGMEWdLRcKWlxmm0LxcQKSfJjSbf+8tKdw/5t1gXLGj6o0mJ5kiQvyVyZDUvl6Lknsrkzh3ssAAAqaZnecaVS5mCSKVpSV8rBnWsuHXYONkxa1icHJUmuTBCWfgZ/LrclSw4eZShIwAi2oKMlI+k5STOqbevNtD9fkJmZmdYk5r/qTb98pH1P6ovEBcsanKQnJJ3T+3VTqSj1FkneSbNWZXPPpd0/AABD0TK9I3UOmkyF0XmZzCRb4719VbJf7nmuPXUONkxaVjYHB+ElzcptyZKDRxkKEjDCLeho+bikJWm23ZfPH7xd2sxUSPyrJv1L+PyT1crSBcsaKh7LJPX6HdriVdncZ9OcFwAAw9UyvSN1DuZH5aWoFHVmJu+TV9UrB6uVpYZJy1IfS9Li3JYsOXgUoiABI9yCjpbIzF5wzlX97dn+fEG+1zXBzJRPDo79bFLpor9E0tP9y9IFyxrqJL0g6fQUp9UjadqqbC7tDD8AAAxLy/SOyGQvOFXPwUJ9Xhb3zUHvkwNf9snB/mWpYdKyIedgbkuWHDwKUZCAd4DfXznhM3EU/WOlbcxM+/KFAa8XEt+nNAUb9FZIrHmkfY9dsKzhC5IWpTylb6/K5m5MuS0AAIdkwoyVn4msSg6GW+zU73Eh7xOV+Xm5Tw7uea7dGiYtG1IO5rZkycGjFAUJeAdY0AjK0BoAAAgOSURBVNHiEu9fiaPoxMG2KSaJ8sVkwOuJ9yr6iteJdWb2QFH6nKR3pTidXZJOXZXNbU+xLQAAh6xleofzzr8S2eA5mMSJkvrigNe99zLr/yRtH+vM7AHl9Dkl6XMwtyVLDh6lKEjAO8SHHj7+jLpM/GTk3Kj+7x2YoKGcovdKKhekg8xMXgMnZOjn5lXZXNoVzgEAqInjz3j4jLiYedLZwBw0ZyqMGjh6JKUqSG/tJzGpICmvSmF4c25Llhw8irEOEvAO8eAl25/33s8oJsnT3qxUZsyULxYHLUeSUq5xV+KcU+yc6pxTXH6TVyXdPbQzBwDg0G1//pLnfeRnJHHytCn850zFTHHQclSSPghd7ORGO7njnDRW5fZJDh4DGEEC3oEue6j5PZL+UtInK23Xb5KGITMz9btZ4epV2dw/DHuHAADUQPOsh1LnYK9JGobMvEm7+7x0dW5Llhw8ylGQgHewyx5qPtOb3RM5N2C9Bm+mYuKH8Huz8pJw252kFyWduSqbG3iDNwAAR0DzrIfONLN7XJkcPNRydHA/PSbtkxRyMLclSw4e5ShIAHTpiqZ2ye5wcrNMljErFZta6DWKdMWqbO6BmuwUAIAaanr/inYz3eGcZpkpI1m5meuGpdco0hW5LVly8BhAQQJw0EXLG+slXSbpE5I+KqmpFvstmD0h6YJV2RwXHADAUatx5vLDkoO2s5SDuS1ZcvAYQEECUNZFyxtHSWrXWyHROJz9hBGkD67K5h6q5fkBAHA4Nc5cXpscLI0gfTC3JUsOHiMoSACqumh542hJWZVC4iOSGtJ+1pt1PprNTT1c5wYAwOHWOHP5sHPQ8taZW5slB48hFCQAQ3LR8sYxkj6kUkgskDRusG3NrOClszqyueffrvMDAOBwapy5PH0OJlZQUWfl1mXJwWMIBQnAsIWydLmZLZQ0xznnpNJtdSZ1mXRFRzbXcWTPEgCAwyOUpcstsYWK+uagEnWpoCtyG7Lk4DGGggSgJi5c1nCcSZc6abJJj3Vkc08e6XMCAODt0jBt2XEyXSqnyfJ6LLchSw4eoyhIAAAAABBER/oEAAAAAOBoQUECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACD4/+dQwOAAS+cGAAAAAElFTkSuQmCC\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 20:03:01,405 Relaxation took 64.0s\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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gICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEFCQAAAAACCgIAEAAABAQEECAAAAgICCBAAAAAABBQkAAAAAAgoSAAAAAAQUJAAAAAAIKEgAAAAAEPx/idICR5aYtV8AAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2022-09-14 20:03:01,711 reranking models by plddt\n", + "2022-09-14 20:03:04,582 Done\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "KK7X9T44pWb7", + "cellView": "form", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 542 + }, + "outputId": "6f3a5ba9-6d0e-4f19-93c7-a698db117759" + }, + "source": [ + "#@title Display 3D structure {run: \"auto\"}\n", + "import py3Dmol\n", + "import glob\n", + "import matplotlib.pyplot as plt\n", + "from colabfold.colabfold import plot_plddt_legend\n", + "rank_num = 1 #@param [\"1\", \"2\", \"3\", \"4\", \"5\"] {type:\"raw\"}\n", + "color = \"lDDT\" #@param [\"chain\", \"lDDT\", \"rainbow\"]\n", + "show_sidechains = False #@param {type:\"boolean\"}\n", + "show_mainchains = False #@param {type:\"boolean\"}\n", + "\n", + "jobname_prefix = \".custom\" if msa_mode == \"custom\" else \"\"\n", + "if use_amber:\n", + " pdb_filename = f\"{jobname}{jobname_prefix}_relaxed_rank_{rank_num}_model_*.pdb\"\n", + "else:\n", + " pdb_filename = f\"{jobname}{jobname_prefix}_unrelaxed_rank_{rank_num}_model_*.pdb\"\n", + "\n", + "pdb_file = glob.glob(pdb_filename)\n", + "\n", + "def show_pdb(rank_num=1, show_sidechains=False, show_mainchains=False, color=\"lDDT\"):\n", + " model_name = f\"rank_{rank_num}\"\n", + " view = py3Dmol.view(js='https://3dmol.org/build/3Dmol.js',)\n", + " view.addModel(open(pdb_file[0],'r').read(),'pdb')\n", + "\n", + " if color == \"lDDT\":\n", + " view.setStyle({'cartoon': {'colorscheme': {'prop':'b','gradient': 'roygb','min':50,'max':90}}})\n", + " elif color == \"rainbow\":\n", + " view.setStyle({'cartoon': {'color':'spectrum'}})\n", + " elif color == \"chain\":\n", + " chains = len(queries[0][1]) + 1 if is_complex else 1\n", + " for n,chain,color in zip(range(chains),list(\"ABCDEFGH\"),\n", + " [\"lime\",\"cyan\",\"magenta\",\"yellow\",\"salmon\",\"white\",\"blue\",\"orange\"]):\n", + " view.setStyle({'chain':chain},{'cartoon': {'color':color}})\n", + " if show_sidechains:\n", + " BB = ['C','O','N']\n", + " view.addStyle({'and':[{'resn':[\"GLY\",\"PRO\"],'invert':True},{'atom':BB,'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"GLY\"},{'atom':'CA'}]},\n", + " {'sphere':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + " view.addStyle({'and':[{'resn':\"PRO\"},{'atom':['C','O'],'invert':True}]},\n", + " {'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}}) \n", + " if show_mainchains:\n", + " BB = ['C','O','N','CA']\n", + " view.addStyle({'atom':BB},{'stick':{'colorscheme':f\"WhiteCarbon\",'radius':0.3}})\n", + "\n", + " view.zoomTo()\n", + " return view\n", + "\n", + "\n", + "show_pdb(rank_num,show_sidechains, show_mainchains, color).show()\n", + "if color == \"lDDT\":\n", + " plot_plddt_legend().show() " + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", + "text/html": [ + "
\n", + "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", + " jupyter labextension install jupyterlab_3dmol

\n", + "
\n", + "" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "11l8k--10q0C", + "cellView": "form", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a1d4c2f6-01d2-49e2-d2d9-d5d92d31adb1" + }, + "source": [ + "#@title Plots {run: \"auto\"}\n", + "from IPython.display import display, HTML\n", + "import base64\n", + "from html import escape\n", + "\n", + "# see: https://stackoverflow.com/a/53688522\n", + "def image_to_data_url(filename):\n", + " ext = filename.split('.')[-1]\n", + " prefix = f'data:image/{ext};base64,'\n", + " with open(filename, 'rb') as f:\n", + " img = f.read()\n", + " return prefix + base64.b64encode(img).decode('utf-8')\n", + "\n", + "pae = image_to_data_url(f\"{jobname}{jobname_prefix}_PAE.png\")\n", + "cov = image_to_data_url(f\"{jobname}{jobname_prefix}_coverage.png\")\n", + "plddt = image_to_data_url(f\"{jobname}{jobname_prefix}_plddt.png\")\n", + "display(HTML(f\"\"\"\n", + "\n", + "
\n", + "

Plots for {escape(jobname)}

\n", + " \n", + " \n", + " \n", + "
\n", + "\"\"\"))\n" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + "\n", + "
\n", + "

Plots for bax_f85cf

\n", + " \n", + " \n", + " \n", + "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "33g5IIegij5R", + "cellView": "form", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "outputId": "5b18f3dd-6a1e-4d0e-92ef-d465358aa6db" + }, + "source": [ + "#@title Package and download results\n", + "#@markdown If you are having issues downloading the result archive, try disabling your adblocker and run this cell again. If that fails click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \\\"Download\\\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).\n", + "\n", + "if msa_mode == \"custom\":\n", + " print(\"Don't forget to cite your custom MSA generation method.\")\n", + "\n", + "!zip -FSr $jobname\".result.zip\" config.json $jobname*\".json\" $jobname*\".a3m\" $jobname*\"relaxed_rank_\"*\".pdb\" \"cite.bibtex\" $jobname*\".png\"\n", + "files.download(f\"{jobname}.result.zip\")\n", + "\n", + "if save_to_google_drive == True and drive:\n", + " uploaded = drive.CreateFile({'title': f\"{jobname}.result.zip\"})\n", + " uploaded.SetContentFile(f\"{jobname}.result.zip\")\n", + " uploaded.Upload()\n", + " print(f\"Uploaded {jobname}.result.zip to Google Drive with ID {uploaded.get('id')}\")" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " adding: config.json (deflated 49%)\n", + " adding: bax_f85cf_predicted_aligned_error_v1.json (deflated 89%)\n", + " adding: bax_f85cf_unrelaxed_rank_1_model_3_scores.json (deflated 70%)\n", + " adding: bax_f85cf_unrelaxed_rank_2_model_5_scores.json (deflated 70%)\n", + " adding: bax_f85cf_unrelaxed_rank_3_model_1_scores.json (deflated 69%)\n", + " adding: bax_f85cf_unrelaxed_rank_4_model_2_scores.json (deflated 70%)\n", + " adding: bax_f85cf_unrelaxed_rank_5_model_4_scores.json (deflated 69%)\n", + " adding: bax_f85cf.a3m (deflated 66%)\n", + " adding: bax_f85cf_relaxed_rank_1_model_3.pdb (deflated 78%)\n", + " adding: bax_f85cf_relaxed_rank_2_model_5.pdb (deflated 78%)\n", + " adding: bax_f85cf_relaxed_rank_3_model_1.pdb (deflated 78%)\n", + " adding: bax_f85cf_relaxed_rank_4_model_2.pdb (deflated 78%)\n", + " adding: bax_f85cf_relaxed_rank_5_model_4.pdb (deflated 78%)\n", + " adding: bax_f85cf_unrelaxed_rank_1_model_3.pdb (deflated 78%)\n", + " adding: bax_f85cf_unrelaxed_rank_2_model_5.pdb (deflated 78%)\n", + " adding: bax_f85cf_unrelaxed_rank_3_model_1.pdb (deflated 78%)\n", + " adding: bax_f85cf_unrelaxed_rank_4_model_2.pdb (deflated 78%)\n", + " adding: bax_f85cf_unrelaxed_rank_5_model_4.pdb (deflated 78%)\n", + " adding: cite.bibtex (deflated 52%)\n", + " adding: bax_f85cf_coverage.png (deflated 8%)\n", + " adding: bax_f85cf_PAE.png (deflated 1%)\n", + " adding: bax_f85cf_plddt.png (deflated 7%)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "application/javascript": [ + "\n", + " async function download(id, filename, size) {\n", + " if (!google.colab.kernel.accessAllowed) {\n", + " return;\n", + " }\n", + " const div = document.createElement('div');\n", + " const label = document.createElement('label');\n", + " label.textContent = `Downloading \"${filename}\": `;\n", + " div.appendChild(label);\n", + " const progress = document.createElement('progress');\n", + " progress.max = size;\n", + " div.appendChild(progress);\n", + " document.body.appendChild(div);\n", + "\n", + " const buffers = [];\n", + " let downloaded = 0;\n", + "\n", + " const channel = await google.colab.kernel.comms.open(id);\n", + " // Send a message to notify the kernel that we're ready.\n", + " channel.send({})\n", + "\n", + " for await (const message of channel.messages) {\n", + " // Send a message to notify the kernel that we're ready.\n", + " channel.send({})\n", + " if (message.buffers) {\n", + " for (const buffer of message.buffers) {\n", + " buffers.push(buffer);\n", + " downloaded += buffer.byteLength;\n", + " progress.value = downloaded;\n", + " }\n", + " }\n", + " }\n", + " const blob = new Blob(buffers, {type: 'application/binary'});\n", + " const a = document.createElement('a');\n", + " a.href = window.URL.createObjectURL(blob);\n", + " a.download = filename;\n", + " div.appendChild(a);\n", + " a.click();\n", + " div.remove();\n", + " }\n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "application/javascript": [ + "download(\"download_7da755a8-6d63-4435-bbc7-d8561d79003f\", \"bax_f85cf.result.zip\", 2332414)" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UGUBLzB3C6WN", + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Instructions \n", + "**Quick start**\n", + "1. Paste your protein sequence(s) in the input field.\n", + "2. Press \"Runtime\" -> \"Run all\".\n", + "3. The pipeline consists of 5 steps. The currently running step is indicated by a circle with a stop sign next to it.\n", + "\n", + "**Result zip file contents**\n", + "\n", + "1. PDB formatted structures sorted by avg. pLDDT and complexes are sorted by pTMscore. (unrelaxed and relaxed if `use_amber` is enabled).\n", + "2. Plots of the model quality.\n", + "3. Plots of the MSA coverage.\n", + "4. Parameter log file.\n", + "5. A3M formatted input MSA.\n", + "6. A `predicted_aligned_error_v1.json` using [AlphaFold-DB's format](https://alphafold.ebi.ac.uk/faq#faq-7) and a `scores.json` for each model which contains an array (list of lists) for PAE, a list with the average pLDDT and the pTMscore.\n", + "7. BibTeX file with citations for all used tools and databases.\n", + "\n", + "At the end of the job a download modal box will pop up with a `jobname.result.zip` file. Additionally, if the `save_to_google_drive` option was selected, the `jobname.result.zip` will be uploaded to your Google Drive.\n", + "\n", + "**MSA generation for complexes**\n", + "\n", + "For the complex prediction we use unpaired and paired MSAs. Unpaired MSA is generated the same way as for the protein structures prediction by searching the UniRef100 and environmental sequences three iterations each.\n", + "\n", + "The paired MSA is generated by searching the UniRef100 database and pairing the best hits sharing the same NCBI taxonomic identifier (=species or sub-species). We only pair sequences if all of the query sequences are present for the respective taxonomic identifier.\n", + "\n", + "**Using a custom MSA as input**\n", + "\n", + "To predict the structure with a custom MSA (A3M formatted): (1) Change the `msa_mode`: to \"custom\", (2) Wait for an upload box to appear at the end of the \"MSA options ...\" box. Upload your A3M. The first fasta entry of the A3M must be the query sequence without gaps. \n", + "\n", + "It is also possilbe to proide custom MSAs for complex predictions. Read more about the format [here](https://github.com/sokrypton/ColabFold/issues/76).\n", + "\n", + "As an alternative for MSA generation the [HHblits Toolkit server](https://toolkit.tuebingen.mpg.de/tools/hhblits) can be used. After submitting your query, click \"Query Template MSA\" -> \"Download Full A3M\". Download the A3M file and upload it in this notebook.\n", + "\n", + "**Using custom templates** \n", + "\n", + "To predict the structure with a custom template (PDB or mmCIF formatted): (1) change the `template_mode` to \"custom\" in the execute cell and (2) wait for an upload box to appear at the end of the \"Input Protein\" box. Select and upload your templates (multiple choices are possible).\n", + "\n", + "* Templates must follow the four letter PDB naming with lower case letters.\n", + "\n", + "* Templates in mmCIF format must contain `_entity_poly_seq`. An error is thrown if this field is not present. The field `_pdbx_audit_revision_history.revision_date` is automatically generated if it is not present.\n", + "\n", + "* Templates in PDB format are automatically converted to the mmCIF format. `_entity_poly_seq` and `_pdbx_audit_revision_history.revision_date` are automatically generated.\n", + "\n", + "If you encounter problems, please report them to this [issue](https://github.com/sokrypton/ColabFold/issues/177).\n", + "\n", + "**Comparison to the full AlphaFold2 and Alphafold2 colab**\n", + "\n", + "This notebook replaces the homology detection and MSA pairing of AlphaFold2 with MMseqs2. For a comparison against the [AlphaFold2 Colab](https://colab.research.google.com/github/deepmind/alphafold/blob/main/notebooks/AlphaFold.ipynb) and the full [AlphaFold2](https://github.com/deepmind/alphafold) system read our [preprint](https://www.biorxiv.org/content/10.1101/2021.08.15.456425v1). \n", + "\n", + "**Troubleshooting**\n", + "* Check that the runtime type is set to GPU at \"Runtime\" -> \"Change runtime type\".\n", + "* Try to restart the session \"Runtime\" -> \"Factory reset runtime\".\n", + "* Check your input sequence.\n", + "\n", + "**Known issues**\n", + "* Google Colab assigns different types of GPUs with varying amount of memory. Some might not have enough memory to predict the structure for a long sequence.\n", + "* Your browser can block the pop-up for downloading the result file. You can choose the `save_to_google_drive` option to upload to Google Drive instead or manually download the result file: Click on the little folder icon to the left, navigate to file: `jobname.result.zip`, right-click and select \\\"Download\\\" (see [screenshot](https://pbs.twimg.com/media/E6wRW2lWUAEOuoe?format=jpg&name=small)).\n", + "\n", + "**Limitations**\n", + "* Computing resources: Our MMseqs2 API can handle ~20-50k requests per day.\n", + "* MSAs: MMseqs2 is very precise and sensitive but might find less hits compared to HHblits/HMMer searched against BFD or MGnify.\n", + "* We recommend to additionally use the full [AlphaFold2 pipeline](https://github.com/deepmind/alphafold).\n", + "\n", + "**Description of the plots**\n", + "* **Number of sequences per position** - We want to see at least 30 sequences per position, for best performance, ideally 100 sequences.\n", + "* **Predicted lDDT per position** - model confidence (out of 100) at each position. The higher the better.\n", + "* **Predicted Alignment Error** - For homooligomers, this could be a useful metric to assess how confident the model is about the interface. The lower the better.\n", + "\n", + "**Bugs**\n", + "- If you encounter any bugs, please report the issue to https://github.com/sokrypton/ColabFold/issues\n", + "\n", + "**License**\n", + "\n", + "The source code of ColabFold is licensed under [MIT](https://raw.githubusercontent.com/sokrypton/ColabFold/main/LICENSE). Additionally, this notebook uses the AlphaFold2 source code and its parameters licensed under [Apache 2.0](https://raw.githubusercontent.com/deepmind/alphafold/main/LICENSE) and [CC BY 4.0](https://creativecommons.org/licenses/by-sa/4.0/) respectively. Read more about the AlphaFold license [here](https://github.com/deepmind/alphafold).\n", + "\n", + "**Acknowledgments**\n", + "- We thank the AlphaFold team for developing an excellent model and open sourcing the software. \n", + "\n", + "- [KOBIC](https://kobic.re.kr) and [Söding Lab](https://www.mpinat.mpg.de/soeding) for providing the computational resources for the MMseqs2 MSA server.\n", + "\n", + "- Richard Evans for helping to benchmark the ColabFold's Alphafold-multimer support.\n", + "\n", + "- [David Koes](https://github.com/dkoes) for his awesome [py3Dmol](https://3dmol.csb.pitt.edu/) plugin, without whom these notebooks would be quite boring!\n", + "\n", + "- Do-Yoon Kim for creating the ColabFold logo.\n", + "\n", + "- A colab by Sergey Ovchinnikov ([@sokrypton](https://twitter.com/sokrypton)), Milot Mirdita ([@milot_mirdita](https://twitter.com/milot_mirdita)) and Martin Steinegger ([@thesteinegger](https://twitter.com/thesteinegger)).\n" + ] + } + ] +} \ No newline at end of file diff --git a/_sources/index.md b/_sources/index.md new file mode 100644 index 0000000..77e9d44 --- /dev/null +++ b/_sources/index.md @@ -0,0 +1,6 @@ +# Tutorials + +## Table of Contents + +```{tableofcontents} +``` diff --git a/_sphinx_design_static/design-style.4045f2051d55cab465a707391d5b2007.min.css b/_sphinx_design_static/design-style.4045f2051d55cab465a707391d5b2007.min.css new file mode 100644 index 0000000..3225661 --- /dev/null +++ b/_sphinx_design_static/design-style.4045f2051d55cab465a707391d5b2007.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #007bff;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0069d9;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/_sphinx_design_static/design-tabs.js b/_sphinx_design_static/design-tabs.js new file mode 100644 index 0000000..36b38cf --- /dev/null +++ b/_sphinx_design_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_static/_sphinx_javascript_frameworks_compat.js b/_static/_sphinx_javascript_frameworks_compat.js new file mode 100644 index 0000000..8549469 --- /dev/null +++ b/_static/_sphinx_javascript_frameworks_compat.js @@ -0,0 +1,134 @@ +/* + * _sphinx_javascript_frameworks_compat.js + * ~~~~~~~~~~ + * + * Compatability shim for jQuery and underscores.js. + * + * WILL BE REMOVED IN Sphinx 6.0 + * xref RemovedInSphinx60Warning + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + + +/** + * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL + */ +jQuery.urldecode = function(x) { + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..18495ea --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,900 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 270px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/check-solid.svg b/_static/check-solid.svg new file mode 100644 index 0000000..92fad4b --- /dev/null +++ b/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 0000000..54b3c46 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 0000000..f1916ec --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 0000000..2ea7ff3 --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 0000000..dbe1aaa --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/design-style.4045f2051d55cab465a707391d5b2007.min.css b/_static/design-style.4045f2051d55cab465a707391d5b2007.min.css new file mode 100644 index 0000000..3225661 --- /dev/null +++ b/_static/design-style.4045f2051d55cab465a707391d5b2007.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #007bff;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0069d9;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/_static/design-tabs.js b/_static/design-tabs.js new file mode 100644 index 0000000..36b38cf --- /dev/null +++ b/_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 0000000..527b876 --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 0000000..03c0d01 --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '', + NAVIGATION_WITH_KEYS: true, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000..a858a41 Binary files /dev/null and b/_static/file.png differ diff --git a/_static/images/logo_binder.svg b/_static/images/logo_binder.svg new file mode 100644 index 0000000..45fecf7 --- /dev/null +++ b/_static/images/logo_binder.svg @@ -0,0 +1,19 @@ + + + + +logo + + + + + + + + diff --git a/_static/images/logo_colab.png b/_static/images/logo_colab.png new file mode 100644 index 0000000..b7560ec Binary files /dev/null and b/_static/images/logo_colab.png differ diff --git a/_static/images/logo_deepnote.svg b/_static/images/logo_deepnote.svg new file mode 100644 index 0000000..fa77ebf --- /dev/null +++ b/_static/images/logo_deepnote.svg @@ -0,0 +1 @@ + diff --git a/_static/images/logo_jupyterhub.svg b/_static/images/logo_jupyterhub.svg new file mode 100644 index 0000000..60cfe9f --- /dev/null +++ b/_static/images/logo_jupyterhub.svg @@ -0,0 +1 @@ +logo_jupyterhubHub diff --git a/_static/jquery-3.6.0.js b/_static/jquery-3.6.0.js new file mode 100644 index 0000000..fc6c299 --- /dev/null +++ b/_static/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " +{% endmacro %} diff --git a/_static/scripts/bootstrap.js b/_static/scripts/bootstrap.js new file mode 100644 index 0000000..766173a --- /dev/null +++ b/_static/scripts/bootstrap.js @@ -0,0 +1,3 @@ +/*! For license information please see bootstrap.js.LICENSE.txt */ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>w,afterRead:()=>b,afterWrite:()=>C,applyStyles:()=>$,arrow:()=>G,auto:()=>r,basePlacements:()=>a,beforeMain:()=>v,beforeRead:()=>m,beforeWrite:()=>A,bottom:()=>n,clippingParents:()=>h,computeStyles:()=>et,createPopper:()=>Dt,createPopperBase:()=>Lt,createPopperLite:()=>$t,detectOverflow:()=>mt,end:()=>c,eventListeners:()=>nt,flip:()=>_t,hide:()=>yt,left:()=>o,main:()=>y,modifierPhases:()=>T,offset:()=>wt,placements:()=>g,popper:()=>d,popperGenerator:()=>kt,popperOffsets:()=>At,preventOverflow:()=>Et,read:()=>_,reference:()=>f,right:()=>s,start:()=>l,top:()=>i,variationPlacements:()=>p,viewport:()=>u,write:()=>E});var i="top",n="bottom",s="right",o="left",r="auto",a=[i,n,s,o],l="start",c="end",h="clippingParents",u="viewport",d="popper",f="reference",p=a.reduce((function(t,e){return t.concat([e+"-"+l,e+"-"+c])}),[]),g=[].concat(a,[r]).reduce((function(t,e){return t.concat([e,e+"-"+l,e+"-"+c])}),[]),m="beforeRead",_="read",b="afterRead",v="beforeMain",y="main",w="afterMain",A="beforeWrite",E="write",C="afterWrite",T=[m,_,b,v,y,w,A,E,C];function O(t){return t?(t.nodeName||"").toLowerCase():null}function x(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function k(t){return t instanceof x(t).Element||t instanceof Element}function L(t){return t instanceof x(t).HTMLElement||t instanceof HTMLElement}function D(t){return"undefined"!=typeof ShadowRoot&&(t instanceof x(t).ShadowRoot||t instanceof ShadowRoot)}const $={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];L(s)&&O(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});L(n)&&O(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function S(t){return t.split("-")[0]}var I=Math.max,N=Math.min,P=Math.round;function j(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function M(){return!/^((?!chrome|android).)*safari/i.test(j())}function H(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&L(t)&&(s=t.offsetWidth>0&&P(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&P(n.height)/t.offsetHeight||1);var r=(k(t)?x(t):window).visualViewport,a=!M()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,u=n.height/o;return{width:h,height:u,top:c,right:l+h,bottom:c+u,left:l,x:l,y:c}}function W(t){var e=H(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function F(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&D(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function B(t){return x(t).getComputedStyle(t)}function z(t){return["table","td","th"].indexOf(O(t))>=0}function q(t){return((k(t)?t.ownerDocument:t.document)||window.document).documentElement}function R(t){return"html"===O(t)?t:t.assignedSlot||t.parentNode||(D(t)?t.host:null)||q(t)}function V(t){return L(t)&&"fixed"!==B(t).position?t.offsetParent:null}function K(t){for(var e=x(t),i=V(t);i&&z(i)&&"static"===B(i).position;)i=V(i);return i&&("html"===O(i)||"body"===O(i)&&"static"===B(i).position)?e:i||function(t){var e=/firefox/i.test(j());if(/Trident/i.test(j())&&L(t)&&"fixed"===B(t).position)return null;var i=R(t);for(D(i)&&(i=i.host);L(i)&&["html","body"].indexOf(O(i))<0;){var n=B(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Q(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function X(t,e,i){return I(t,N(e,i))}function Y(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function U(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const G={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,l=t.name,c=t.options,h=r.elements.arrow,u=r.modifiersData.popperOffsets,d=S(r.placement),f=Q(d),p=[o,s].indexOf(d)>=0?"height":"width";if(h&&u){var g=function(t,e){return Y("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:U(t,a))}(c.padding,r),m=W(h),_="y"===f?i:o,b="y"===f?n:s,v=r.rects.reference[p]+r.rects.reference[f]-u[f]-r.rects.popper[p],y=u[f]-r.rects.reference[f],w=K(h),A=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,E=v/2-y/2,C=g[_],T=A-m[p]-g[b],O=A/2-m[p]/2+E,x=X(C,O,T),k=f;r.modifiersData[l]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&F(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function J(t){return t.split("-")[1]}var Z={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tt(t){var e,r=t.popper,a=t.popperRect,l=t.placement,h=t.variation,u=t.offsets,d=t.position,f=t.gpuAcceleration,p=t.adaptive,g=t.roundOffsets,m=t.isFixed,_=u.x,b=void 0===_?0:_,v=u.y,y=void 0===v?0:v,w="function"==typeof g?g({x:b,y}):{x:b,y};b=w.x,y=w.y;var A=u.hasOwnProperty("x"),E=u.hasOwnProperty("y"),C=o,T=i,O=window;if(p){var k=K(r),L="clientHeight",D="clientWidth";k===x(r)&&"static"!==B(k=q(r)).position&&"absolute"===d&&(L="scrollHeight",D="scrollWidth"),(l===i||(l===o||l===s)&&h===c)&&(T=n,y-=(m&&k===O&&O.visualViewport?O.visualViewport.height:k[L])-a.height,y*=f?1:-1),l!==o&&(l!==i&&l!==n||h!==c)||(C=s,b-=(m&&k===O&&O.visualViewport?O.visualViewport.width:k[D])-a.width,b*=f?1:-1)}var $,S=Object.assign({position:d},p&&Z),I=!0===g?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:P(i*s)/s||0,y:P(n*s)/s||0}}({x:b,y},x(r)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},S,(($={})[T]=E?"0":"",$[C]=A?"0":"",$.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",$)):Object.assign({},S,((e={})[T]=E?y+"px":"",e[C]=A?b+"px":"",e.transform="",e))}const et={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:S(e.placement),variation:J(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,tt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,tt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var it={passive:!0};const nt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=x(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,it)})),a&&l.addEventListener("resize",i.update,it),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,it)})),a&&l.removeEventListener("resize",i.update,it)}},data:{}};var st={left:"right",right:"left",bottom:"top",top:"bottom"};function ot(t){return t.replace(/left|right|bottom|top/g,(function(t){return st[t]}))}var rt={start:"end",end:"start"};function at(t){return t.replace(/start|end/g,(function(t){return rt[t]}))}function lt(t){var e=x(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ct(t){return H(q(t)).left+lt(t).scrollLeft}function ht(t){var e=B(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ut(t){return["html","body","#document"].indexOf(O(t))>=0?t.ownerDocument.body:L(t)&&ht(t)?t:ut(R(t))}function dt(t,e){var i;void 0===e&&(e=[]);var n=ut(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=x(n),r=s?[o].concat(o.visualViewport||[],ht(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(dt(R(r)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pt(t,e,i){return e===u?ft(function(t,e){var i=x(t),n=q(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=M();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ct(t),y:l}}(t,i)):k(e)?function(t,e){var i=H(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ft(function(t){var e,i=q(t),n=lt(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=I(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=I(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ct(t),l=-n.scrollTop;return"rtl"===B(s||i).direction&&(a+=I(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(q(t)))}function gt(t){var e,r=t.reference,a=t.element,h=t.placement,u=h?S(h):null,d=h?J(h):null,f=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2;switch(u){case i:e={x:f,y:r.y-a.height};break;case n:e={x:f,y:r.y+r.height};break;case s:e={x:r.x+r.width,y:p};break;case o:e={x:r.x-a.width,y:p};break;default:e={x:r.x,y:r.y}}var g=u?Q(u):null;if(null!=g){var m="y"===g?"height":"width";switch(d){case l:e[g]=e[g]-(r[m]/2-a[m]/2);break;case c:e[g]=e[g]+(r[m]/2-a[m]/2)}}return e}function mt(t,e){void 0===e&&(e={});var o=e,r=o.placement,l=void 0===r?t.placement:r,c=o.strategy,p=void 0===c?t.strategy:c,g=o.boundary,m=void 0===g?h:g,_=o.rootBoundary,b=void 0===_?u:_,v=o.elementContext,y=void 0===v?d:v,w=o.altBoundary,A=void 0!==w&&w,E=o.padding,C=void 0===E?0:E,T=Y("number"!=typeof C?C:U(C,a)),x=y===d?f:d,D=t.rects.popper,$=t.elements[A?x:y],S=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=dt(R(t)),i=["absolute","fixed"].indexOf(B(t).position)>=0&&L(t)?K(t):t;return k(i)?e.filter((function(t){return k(t)&&F(t,i)&&"body"!==O(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=pt(t,i,n);return e.top=I(s.top,e.top),e.right=N(s.right,e.right),e.bottom=N(s.bottom,e.bottom),e.left=I(s.left,e.left),e}),pt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(k($)?$:$.contextElement||q(t.elements.popper),m,b,p),P=H(t.elements.reference),j=gt({reference:P,element:D,strategy:"absolute",placement:l}),M=ft(Object.assign({},D,j)),W=y===d?M:P,z={top:S.top-W.top+T.top,bottom:W.bottom-S.bottom+T.bottom,left:S.left-W.left+T.left,right:W.right-S.right+T.right},V=t.modifiersData.offset;if(y===d&&V){var Q=V[l];Object.keys(z).forEach((function(t){var e=[s,n].indexOf(t)>=0?1:-1,o=[i,n].indexOf(t)>=0?"y":"x";z[t]+=Q[o]*e}))}return z}const _t={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,c=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var u=c.mainAxis,d=void 0===u||u,f=c.altAxis,m=void 0===f||f,_=c.fallbackPlacements,b=c.padding,v=c.boundary,y=c.rootBoundary,w=c.altBoundary,A=c.flipVariations,E=void 0===A||A,C=c.allowedAutoPlacements,T=e.options.placement,O=S(T),x=_||(O!==T&&E?function(t){if(S(t)===r)return[];var e=ot(t);return[at(t),e,at(e)]}(T):[ot(T)]),k=[T].concat(x).reduce((function(t,i){return t.concat(S(i)===r?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,l=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?g:c,u=J(n),d=u?l?p:p.filter((function(t){return J(t)===u})):a,f=d.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=d);var m=f.reduce((function(e,i){return e[i]=mt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[S(i)],e}),{});return Object.keys(m).sort((function(t,e){return m[t]-m[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:E,allowedAutoPlacements:C}):i)}),[]),L=e.rects.reference,D=e.rects.popper,$=new Map,I=!0,N=k[0],P=0;P=0,F=W?"width":"height",B=mt(e,{placement:j,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=W?H?s:o:H?n:i;L[F]>D[F]&&(z=ot(z));var q=ot(z),R=[];if(d&&R.push(B[M]<=0),m&&R.push(B[z]<=0,B[q]<=0),R.every((function(t){return t}))){N=j,I=!1;break}$.set(j,R)}if(I)for(var V=function(t){var e=k.find((function(e){var i=$.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},K=E?3:1;K>0&&"break"!==V(K);K--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function vt(t){return[i,s,n,o].some((function(e){return t[e]>=0}))}const yt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=mt(e,{elementContext:"reference"}),a=mt(e,{altBoundary:!0}),l=bt(r,n),c=bt(a,s,o),h=vt(l),u=vt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}},wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,r=t.name,a=n.offset,l=void 0===a?[0,0]:a,c=g.reduce((function(t,n){return t[n]=function(t,e,n){var r=S(t),a=[o,i].indexOf(r)>=0?-1:1,l="function"==typeof n?n(Object.assign({},e,{placement:t})):n,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[o,s].indexOf(r)>=0?{x:h,y:c}:{x:c,y:h}}(n,e.rects,l),t}),{}),h=c[e.placement],u=h.x,d=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=u,e.modifiersData.popperOffsets.y+=d),e.modifiersData[r]=c}},At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=gt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Et={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,a=t.name,c=r.mainAxis,h=void 0===c||c,u=r.altAxis,d=void 0!==u&&u,f=r.boundary,p=r.rootBoundary,g=r.altBoundary,m=r.padding,_=r.tether,b=void 0===_||_,v=r.tetherOffset,y=void 0===v?0:v,w=mt(e,{boundary:f,rootBoundary:p,padding:m,altBoundary:g}),A=S(e.placement),E=J(e.placement),C=!E,T=Q(A),O="x"===T?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,D="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,$="number"==typeof D?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,j={x:0,y:0};if(x){if(h){var M,H="y"===T?i:o,F="y"===T?n:s,B="y"===T?"height":"width",z=x[T],q=z+w[H],R=z-w[F],V=b?-L[B]/2:0,Y=E===l?k[B]:L[B],U=E===l?-L[B]:-k[B],G=e.elements.arrow,Z=b&&G?W(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[H],it=tt[F],nt=X(0,k[B],Z[B]),st=C?k[B]/2-V-nt-et-$.mainAxis:Y-nt-et-$.mainAxis,ot=C?-k[B]/2+V+nt+it+$.mainAxis:U+nt+it+$.mainAxis,rt=e.elements.arrow&&K(e.elements.arrow),at=rt?"y"===T?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(M=null==P?void 0:P[T])?M:0,ct=z+ot-lt,ht=X(b?N(q,z+st-lt-at):q,z,b?I(R,ct):R);x[T]=ht,j[T]=ht-z}if(d){var ut,dt="x"===T?i:o,ft="x"===T?n:s,pt=x[O],gt="y"===O?"height":"width",_t=pt+w[dt],bt=pt-w[ft],vt=-1!==[i,o].indexOf(A),yt=null!=(ut=null==P?void 0:P[O])?ut:0,wt=vt?_t:pt-k[gt]-L[gt]-yt+$.altAxis,At=vt?pt+k[gt]+L[gt]-yt-$.altAxis:bt,Et=b&&vt?function(t,e,i){var n=X(t,e,i);return n>i?i:n}(wt,pt,At):X(b?wt:_t,pt,b?At:bt);x[O]=Et,j[O]=Et-pt}e.modifiersData[a]=j}},requiresIfExists:["offset"]};function Ct(t,e,i){void 0===i&&(i=!1);var n,s,o=L(e),r=L(e)&&function(t){var e=t.getBoundingClientRect(),i=P(e.width)/t.offsetWidth||1,n=P(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=q(e),l=H(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==O(e)||ht(a))&&(c=(n=e)!==x(n)&&L(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:lt(n)),L(e)?((h=H(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ct(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Tt(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function xt(){for(var t=arguments.length,e=new Array(t),i=0;i{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},Nt=t=>{const e=It(t);return e&&document.querySelector(e)?e:null},Pt=t=>{const e=It(t);return e?document.querySelector(e):null},jt=t=>{t.dispatchEvent(new Event(St))},Mt=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ht=t=>Mt(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,Wt=t=>{if(!Mt(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Ft=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),Bt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?Bt(t.parentNode):null},zt=()=>{},qt=t=>{t.offsetHeight},Rt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Vt=[],Kt=()=>"rtl"===document.documentElement.dir,Qt=t=>{var e;e=()=>{const e=Rt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Vt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Vt)t()})),Vt.push(e)):e()},Xt=t=>{"function"==typeof t&&t()},Yt=(t,e,i=!0)=>{if(!i)return void Xt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(St,o),Xt(t))};e.addEventListener(St,o),setTimeout((()=>{s||jt(e)}),n)},Ut=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Gt=/[^.]*(?=\..*)\.|.*/,Jt=/\..*/,Zt=/::\d+$/,te={};let ee=1;const ie={mouseenter:"mouseover",mouseleave:"mouseout"},ne=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function se(t,e){return e&&`${e}::${ee++}`||t.uidEvent||ee++}function oe(t){const e=se(t);return t.uidEvent=e,te[e]=te[e]||{},te[e]}function re(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function ae(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=ue(t);return ne.has(o)||(o=t),[n,s,o]}function le(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=ae(e,i,n);if(e in ie){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=oe(t),c=l[a]||(l[a]={}),h=re(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const u=se(r,e.replace(Gt,"")),d=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return fe(s,{delegateTarget:r}),n.oneOff&&de.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return fe(n,{delegateTarget:t}),i.oneOff&&de.off(t,n.type,e),e.apply(t,[n])}}(t,r);d.delegationSelector=o?i:null,d.callable=r,d.oneOff=s,d.uidEvent=u,c[u]=d,t.addEventListener(a,d,o)}function ce(t,e,i,n,s){const o=re(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function he(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];ce(t,e,i,n.callable,n.delegationSelector)}}function ue(t){return t=t.replace(Jt,""),ie[t]||t}const de={on(t,e,i,n){le(t,e,i,n,!1)},one(t,e,i,n){le(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=ae(e,i,n),a=r!==e,l=oe(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))he(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(Zt,"");if(!a||e.includes(n)){const e=c[i];ce(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;ce(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=Rt();let s=null,o=!0,r=!0,a=!1;e!==ue(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=fe(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function fe(t,e){for(const[i,n]of Object.entries(e||{}))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const pe=new Map,ge={set(t,e,i){pe.has(t)||pe.set(t,new Map);const n=pe.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>pe.has(t)&&pe.get(t).get(e)||null,remove(t,e){if(!pe.has(t))return;const i=pe.get(t);i.delete(e),0===i.size&&pe.delete(t)}};function me(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function _e(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const be={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${_e(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${_e(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=me(t.dataset[n])}return e},getDataAttribute:(t,e)=>me(t.getAttribute(`data-bs-${_e(e)}`))};class ve{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=Mt(e)?be.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...Mt(e)?be.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],o=t[n],r=Mt(o)?"element":null==(i=o)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class ye extends ve{constructor(t,e){super(),(t=Ht(t))&&(this._element=t,this._config=this._getConfig(e),ge.set(this._element,this.constructor.DATA_KEY,this))}dispose(){ge.remove(this._element,this.constructor.DATA_KEY),de.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Yt(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return ge.get(Ht(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const we=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;de.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Ft(this))return;const s=Pt(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ae=".bs.alert",Ee=`close${Ae}`,Ce=`closed${Ae}`;class Te extends ye{static get NAME(){return"alert"}close(){if(de.trigger(this._element,Ee).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),de.trigger(this._element,Ce),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Te.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}we(Te,"close"),Qt(Te);const Oe='[data-bs-toggle="button"]';class xe extends ye{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=xe.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}de.on(document,"click.bs.button.data-api",Oe,(t=>{t.preventDefault();const e=t.target.closest(Oe);xe.getOrCreateInstance(e).toggle()})),Qt(xe);const ke={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Ft(t)&&Wt(t)))}},Le=".bs.swipe",De=`touchstart${Le}`,$e=`touchmove${Le}`,Se=`touchend${Le}`,Ie=`pointerdown${Le}`,Ne=`pointerup${Le}`,Pe={endCallback:null,leftCallback:null,rightCallback:null},je={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Me extends ve{constructor(t,e){super(),this._element=t,t&&Me.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pe}static get DefaultType(){return je}static get NAME(){return"swipe"}dispose(){de.off(this._element,Le)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Xt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Xt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(de.on(this._element,Ie,(t=>this._start(t))),de.on(this._element,Ne,(t=>this._end(t))),this._element.classList.add("pointer-event")):(de.on(this._element,De,(t=>this._start(t))),de.on(this._element,$e,(t=>this._move(t))),de.on(this._element,Se,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const He=".bs.carousel",We=".data-api",Fe="next",Be="prev",ze="left",qe="right",Re=`slide${He}`,Ve=`slid${He}`,Ke=`keydown${He}`,Qe=`mouseenter${He}`,Xe=`mouseleave${He}`,Ye=`dragstart${He}`,Ue=`load${He}${We}`,Ge=`click${He}${We}`,Je="carousel",Ze="active",ti=".active",ei=".carousel-item",ii=ti+ei,ni={ArrowLeft:qe,ArrowRight:ze},si={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},oi={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ri extends ye{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=ke.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Je&&this.cycle()}static get Default(){return si}static get DefaultType(){return oi}static get NAME(){return"carousel"}next(){this._slide(Fe)}nextWhenVisible(){!document.hidden&&Wt(this._element)&&this.next()}prev(){this._slide(Be)}pause(){this._isSliding&&jt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?de.one(this._element,Ve,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void de.one(this._element,Ve,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?Fe:Be;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&de.on(this._element,Ke,(t=>this._keydown(t))),"hover"===this._config.pause&&(de.on(this._element,Qe,(()=>this.pause())),de.on(this._element,Xe,(()=>this._maybeEnableCycle()))),this._config.touch&&Me.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of ke.find(".carousel-item img",this._element))de.on(t,Ye,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ze)),rightCallback:()=>this._slide(this._directionToOrder(qe)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Me(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ni[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=ke.findOne(ti,this._indicatorsElement);e.classList.remove(Ze),e.removeAttribute("aria-current");const i=ke.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Ze),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===Fe,s=e||Ut(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>de.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Re).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),qt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(Ze),i.classList.remove(Ze,c,l),this._isSliding=!1,r(Ve)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return ke.findOne(ii,this._element)}_getItems(){return ke.find(ei,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Kt()?t===ze?Be:Fe:t===ze?Fe:Be}_orderToDirection(t){return Kt()?t===Be?ze:qe:t===Be?qe:ze}static jQueryInterface(t){return this.each((function(){const e=ri.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}de.on(document,Ge,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=Pt(this);if(!e||!e.classList.contains(Je))return;t.preventDefault();const i=ri.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===be.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),de.on(window,Ue,(()=>{const t=ke.find('[data-bs-ride="carousel"]');for(const e of t)ri.getOrCreateInstance(e)})),Qt(ri);const ai=".bs.collapse",li=`show${ai}`,ci=`shown${ai}`,hi=`hide${ai}`,ui=`hidden${ai}`,di=`click${ai}.data-api`,fi="show",pi="collapse",gi="collapsing",mi=`:scope .${pi} .${pi}`,_i='[data-bs-toggle="collapse"]',bi={parent:null,toggle:!0},vi={parent:"(null|element)",toggle:"boolean"};class yi extends ye{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=ke.find(_i);for(const t of i){const e=Nt(t),i=ke.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>yi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(de.trigger(this._element,li).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(pi),this._element.classList.add(gi),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gi),this._element.classList.add(pi,fi),this._element.style[e]="",de.trigger(this._element,ci)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(de.trigger(this._element,hi).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(gi),this._element.classList.remove(pi,fi);for(const t of this._triggerArray){const e=Pt(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gi),this._element.classList.add(pi),de.trigger(this._element,ui)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(fi)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ht(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(_i);for(const e of t){const t=Pt(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=ke.find(mi,this._config.parent);return ke.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=yi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}de.on(document,di,_i,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=Nt(this),i=ke.find(e);for(const t of i)yi.getOrCreateInstance(t,{toggle:!1}).toggle()})),Qt(yi);const wi="dropdown",Ai=".bs.dropdown",Ei=".data-api",Ci="ArrowUp",Ti="ArrowDown",Oi=`hide${Ai}`,xi=`hidden${Ai}`,ki=`show${Ai}`,Li=`shown${Ai}`,Di=`click${Ai}${Ei}`,$i=`keydown${Ai}${Ei}`,Si=`keyup${Ai}${Ei}`,Ii="show",Ni='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Pi=`${Ni}.${Ii}`,ji=".dropdown-menu",Mi=Kt()?"top-end":"top-start",Hi=Kt()?"top-start":"top-end",Wi=Kt()?"bottom-end":"bottom-start",Fi=Kt()?"bottom-start":"bottom-end",Bi=Kt()?"left-start":"right-start",zi=Kt()?"right-start":"left-start",qi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Vi extends ye{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=ke.next(this._element,ji)[0]||ke.prev(this._element,ji)[0]||ke.findOne(ji,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return qi}static get DefaultType(){return Ri}static get NAME(){return wi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Ft(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!de.trigger(this._element,ki,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))de.on(t,"mouseover",zt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Ii),this._element.classList.add(Ii),de.trigger(this._element,Li,t)}}hide(){if(Ft(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!de.trigger(this._element,Oi,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))de.off(t,"mouseover",zt);this._popper&&this._popper.destroy(),this._menu.classList.remove(Ii),this._element.classList.remove(Ii),this._element.setAttribute("aria-expanded","false"),be.removeDataAttribute(this._menu,"popper"),de.trigger(this._element,xi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Mt(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${wi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Mt(this._config.reference)?t=Ht(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=Dt(t,this._menu,i)}_isShown(){return this._menu.classList.contains(Ii)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Bi;if(t.classList.contains("dropstart"))return zi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Hi:Mi:e?Fi:Wi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(be.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=ke.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Wt(t)));i.length&&Ut(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Vi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=ke.find(Pi);for(const i of e){const e=Vi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ci,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ni)?this:ke.prev(this,Ni)[0]||ke.next(this,Ni)[0]||ke.findOne(Ni,t.delegateTarget.parentNode),o=Vi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}de.on(document,$i,Ni,Vi.dataApiKeydownHandler),de.on(document,$i,ji,Vi.dataApiKeydownHandler),de.on(document,Di,Vi.clearMenus),de.on(document,Si,Vi.clearMenus),de.on(document,Di,Ni,(function(t){t.preventDefault(),Vi.getOrCreateInstance(this).toggle()})),Qt(Vi);const Ki=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Qi=".sticky-top",Xi="padding-right",Yi="margin-right";class Ui{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Xi,(e=>e+t)),this._setElementAttributes(Ki,Xi,(e=>e+t)),this._setElementAttributes(Qi,Yi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Xi),this._resetElementAttributes(Ki,Xi),this._resetElementAttributes(Qi,Yi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&be.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=be.getDataAttribute(t,e);null!==i?(be.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Mt(t))e(t);else for(const i of ke.find(t,this._element))e(i)}}const Gi="backdrop",Ji="show",Zi=`mousedown.bs.${Gi}`,tn={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},en={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class nn extends ve{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return tn}static get DefaultType(){return en}static get NAME(){return Gi}show(t){if(!this._config.isVisible)return void Xt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Ji),this._emulateAnimation((()=>{Xt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ji),this._emulateAnimation((()=>{this.dispose(),Xt(t)}))):Xt(t)}dispose(){this._isAppended&&(de.off(this._element,Zi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ht(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),de.on(t,Zi,(()=>{Xt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Yt(t,this._getElement(),this._config.isAnimated)}}const sn=".bs.focustrap",on=`focusin${sn}`,rn=`keydown.tab${sn}`,an="backward",ln={autofocus:!0,trapElement:null},cn={autofocus:"boolean",trapElement:"element"};class hn extends ve{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ln}static get DefaultType(){return cn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),de.off(document,sn),de.on(document,on,(t=>this._handleFocusin(t))),de.on(document,rn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,de.off(document,sn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=ke.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===an?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?an:"forward")}}const un=".bs.modal",dn=`hide${un}`,fn=`hidePrevented${un}`,pn=`hidden${un}`,gn=`show${un}`,mn=`shown${un}`,_n=`resize${un}`,bn=`click.dismiss${un}`,vn=`mousedown.dismiss${un}`,yn=`keydown.dismiss${un}`,wn=`click${un}.data-api`,An="modal-open",En="show",Cn="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},On={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class xn extends ye{constructor(t,e){super(t,e),this._dialog=ke.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ui,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return On}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||de.trigger(this._element,gn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(An),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(de.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(En),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])de.off(t,un);this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new nn({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=ke.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),qt(this._element),this._element.classList.add(En),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,de.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){de.on(this._element,yn,(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),de.on(window,_n,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),de.on(this._element,vn,(t=>{de.one(this._element,bn,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(An),this._resetAdjustments(),this._scrollBar.reset(),de.trigger(this._element,pn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(de.trigger(this._element,fn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Cn)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Cn),this._queueCallback((()=>{this._element.classList.remove(Cn),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Kt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Kt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=xn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}de.on(document,wn,'[data-bs-toggle="modal"]',(function(t){const e=Pt(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),de.one(e,gn,(t=>{t.defaultPrevented||de.one(e,pn,(()=>{Wt(this)&&this.focus()}))}));const i=ke.findOne(".modal.show");i&&xn.getInstance(i).hide(),xn.getOrCreateInstance(e).toggle(this)})),we(xn),Qt(xn);const kn=".bs.offcanvas",Ln=".data-api",Dn=`load${kn}${Ln}`,$n="show",Sn="showing",In="hiding",Nn=".offcanvas.show",Pn=`show${kn}`,jn=`shown${kn}`,Mn=`hide${kn}`,Hn=`hidePrevented${kn}`,Wn=`hidden${kn}`,Fn=`resize${kn}`,Bn=`click${kn}${Ln}`,zn=`keydown.dismiss${kn}`,qn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Vn extends ye{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return qn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||de.trigger(this._element,Pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ui).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Sn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add($n),this._element.classList.remove(Sn),de.trigger(this._element,jn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(de.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(In),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove($n,In),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ui).reset(),de.trigger(this._element,Wn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new nn({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():de.trigger(this._element,Hn)}:null})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_addEventListeners(){de.on(this._element,zn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():de.trigger(this._element,Hn))}))}static jQueryInterface(t){return this.each((function(){const e=Vn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}de.on(document,Bn,'[data-bs-toggle="offcanvas"]',(function(t){const e=Pt(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Ft(this))return;de.one(e,Wn,(()=>{Wt(this)&&this.focus()}));const i=ke.findOne(Nn);i&&i!==e&&Vn.getInstance(i).hide(),Vn.getOrCreateInstance(e).toggle(this)})),de.on(window,Dn,(()=>{for(const t of ke.find(Nn))Vn.getOrCreateInstance(t).show()})),de.on(window,Fn,(()=>{for(const t of ke.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Vn.getOrCreateInstance(t).hide()})),we(Vn),Qt(Vn);const Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Xn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Yn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)||Xn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Un={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Gn={allowList:Un,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Jn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Zn={entry:"(string|element|function|null)",selector:"(string|element)"};class ts extends ve{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Gn}static get DefaultType(){return Jn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Zn)}_setContent(t,e,i){const n=ke.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?Mt(e)?this._putElementInTemplate(Ht(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Yn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const es=new Set(["sanitize","allowList","sanitizeFn"]),is="fade",ns="show",ss=".modal",os="hide.bs.modal",rs="hover",as="focus",ls={AUTO:"auto",TOP:"top",RIGHT:Kt()?"left":"right",BOTTOM:"bottom",LEFT:Kt()?"right":"left"},cs={allowList:Un,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},hs={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class us extends ye{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return cs}static get DefaultType(){return hs}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),de.off(this._element.closest(ss),os,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=de.trigger(this._element,this.constructor.eventName("show")),e=(Bt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),de.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ns),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))de.on(t,"mouseover",zt);this._queueCallback((()=>{de.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!de.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ns),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))de.off(t,"mouseover",zt);this._activeTrigger.click=!1,this._activeTrigger[as]=!1,this._activeTrigger[rs]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),de.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(is,ns),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(is),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new ts({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(is)}_isShown(){return this.tip&&this.tip.classList.contains(ns)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=ls[e.toUpperCase()];return Dt(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)de.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===rs?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===rs?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");de.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?as:rs]=!0,e._enter()})),de.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?as:rs]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},de.on(this._element.closest(ss),os,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=be.getDataAttributes(this._element);for(const t of Object.keys(e))es.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ht(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(us);const ds={...us.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},fs={...us.DefaultType,content:"(null|string|element|function)"};class ps extends us{static get Default(){return ds}static get DefaultType(){return fs}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=ps.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(ps);const gs=".bs.scrollspy",ms=`activate${gs}`,_s=`click${gs}`,bs=`load${gs}.data-api`,vs="active",ys="[href]",ws=".nav-link",As=`${ws}, .nav-item > ${ws}, .list-group-item`,Es={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Cs={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ts extends ye{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Es}static get DefaultType(){return Cs}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ht(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(de.off(this._config.target,_s),de.on(this._config.target,_s,ys,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=ke.find(ys,this._config.target);for(const e of t){if(!e.hash||Ft(e))continue;const t=ke.findOne(e.hash,this._element);Wt(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(vs),this._activateParents(t),de.trigger(this._element,ms,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))ke.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(vs);else for(const e of ke.parents(t,".nav, .list-group"))for(const t of ke.prev(e,As))t.classList.add(vs)}_clearActiveClass(t){t.classList.remove(vs);const e=ke.find(`${ys}.${vs}`,t);for(const t of e)t.classList.remove(vs)}static jQueryInterface(t){return this.each((function(){const e=Ts.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}de.on(window,bs,(()=>{for(const t of ke.find('[data-bs-spy="scroll"]'))Ts.getOrCreateInstance(t)})),Qt(Ts);const Os=".bs.tab",xs=`hide${Os}`,ks=`hidden${Os}`,Ls=`show${Os}`,Ds=`shown${Os}`,$s=`click${Os}`,Ss=`keydown${Os}`,Is=`load${Os}`,Ns="ArrowLeft",Ps="ArrowRight",js="ArrowUp",Ms="ArrowDown",Hs="active",Ws="fade",Fs="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,Rs=`.${Hs}[data-bs-toggle="tab"], .${Hs}[data-bs-toggle="pill"], .${Hs}[data-bs-toggle="list"]`;class Vs extends ye{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),de.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?de.trigger(e,xs,{relatedTarget:t}):null;de.trigger(t,Ls,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Hs),this._activate(Pt(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),de.trigger(t,Ds,{relatedTarget:e})):t.classList.add(Fs)}),t,t.classList.contains(Ws)))}_deactivate(t,e){t&&(t.classList.remove(Hs),t.blur(),this._deactivate(Pt(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),de.trigger(t,ks,{relatedTarget:e})):t.classList.remove(Fs)}),t,t.classList.contains(Ws)))}_keydown(t){if(![Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[Ps,Ms].includes(t.key),i=Ut(this._getChildren().filter((t=>!Ft(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return ke.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=Pt(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=ke.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Hs),n(".dropdown-menu",Fs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Hs)}_getInnerElement(t){return t.matches(qs)?t:ke.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}de.on(document,$s,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Ft(this)||Vs.getOrCreateInstance(this).show()})),de.on(window,Is,(()=>{for(const t of ke.find(Rs))Vs.getOrCreateInstance(t)})),Qt(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends ye{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){de.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),qt(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),de.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(de.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),de.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){de.on(this._element,Qs,(t=>this._onInteraction(t,!0))),de.on(this._element,Xs,(t=>this._onInteraction(t,!1))),de.on(this._element,Ys,(t=>this._onInteraction(t,!0))),de.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}var ao;we(ro),Qt(ro),ao=function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new us(t,{delay:{show:500,hide:100}})}))},"loading"!=document.readyState?ao():document.addEventListener("DOMContentLoaded",ao)})(); +//# sourceMappingURL=bootstrap.js.map \ No newline at end of file diff --git a/_static/scripts/bootstrap.js.LICENSE.txt b/_static/scripts/bootstrap.js.LICENSE.txt new file mode 100644 index 0000000..91ad10a --- /dev/null +++ b/_static/scripts/bootstrap.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ diff --git a/_static/scripts/bootstrap.js.map b/_static/scripts/bootstrap.js.map new file mode 100644 index 0000000..d83e2f7 --- /dev/null +++ b/_static/scripts/bootstrap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/bootstrap.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://pydata_sphinx_theme/webpack/runtime/make namespace object","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/enums.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/math.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/within.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/createPopper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://pydata_sphinx_theme/./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/bootstrap.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.2.3 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)\n\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n/**\n * Public Util API\n */\n\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n\n return prefix;\n};\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n } // Just in case some CMS puts out a full URL with the anchor appended\n\n\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;\n }\n\n return selector;\n};\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element);\n\n if (selector) {\n return document.querySelector(selector) ? selector : null;\n }\n\n return null;\n};\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element);\n return selector ? document.querySelector(selector) : null;\n};\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n\n return typeof object.nodeType !== 'undefined';\n};\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object);\n }\n\n return null;\n};\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed\n\n const closedDetails = element.closest('details:not([open])');\n\n if (!closedDetails) {\n return elementIsVisible;\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n\n if (summary === null) {\n return false;\n }\n }\n\n return elementIsVisible;\n};\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n\n if (element.classList.contains('disabled')) {\n return true;\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return findShadowRoot(element.parentNode);\n};\n\nconst noop = () => {};\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\n\n\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n\n return null;\n};\n\nconst DOMContentLoadedCallbacks = [];\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\n });\n }\n\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\n\nconst isRTL = () => document.documentElement.dir === 'rtl';\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery();\n /* istanbul ignore if */\n\n if ($) {\n const name = plugin.NAME;\n const JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback();\n }\n};\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n\n const durationPadding = 5;\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n let called = false;\n\n const handler = ({\n target\n }) => {\n if (target !== transitionElement) {\n return;\n }\n\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\n\n\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement); // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n\n index += shouldGetNext ? 1 : -1;\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\n\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n\n return fn.apply(element, [event]);\n };\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector);\n\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n\n hydrateObj(event, {\n delegateTarget: target\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n\n return fn.apply(target, [event]);\n }\n }\n };\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check\n\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n\n return [isDelegated, callable, typeEvent];\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n\n callable = wrapFunction(callable);\n }\n\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\n\n if (!fn) {\n return;\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n\n for (const handlerKey of Object.keys(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n\n for (const keyHandlers of Object.keys(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n\n let evt = new Event(event, {\n bubbles,\n cancelable: true\n });\n evt = hydrateObj(evt, args);\n\n if (defaultPrevented) {\n evt.preventDefault();\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n\n return evt;\n }\n\n};\n\nfunction hydrateObj(obj, meta) {\n for (const [key, value] of Object.entries(meta || {})) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n\n get() {\n return value;\n }\n\n });\n }\n }\n\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n\n const instanceMap = elementMap.get(element); // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);\n return;\n }\n\n instanceMap.set(key, instance);\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n\n return null;\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n\n const instanceMap = elementMap.get(element);\n instanceMap.delete(key); // free up element references if there are no instances left for an element\n\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n\n if (value === Number(value).toString()) {\n return Number(value);\n }\n\n if (value === '' || value === 'null') {\n return null;\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n\n return attributes;\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n\n static get DefaultType() {\n return {};\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n return config;\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return { ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const property of Object.keys(configTypes)) {\n const expectedTypes = configTypes[property];\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst VERSION = '5.2.3';\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n\n if (!element) {\n return;\n }\n\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n } // Public\n\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n } // Static\n\n\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n\n static get VERSION() {\n return VERSION;\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n } // Public\n\n\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n\n if (closeEvent.defaultPrevented) {\n return;\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n } // Private\n\n\n _destroyElement() {\n this._element.remove();\n\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](this);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nenableDismissTrigger(Alert, 'close');\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n } // Public\n\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n\n return parents;\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling;\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n\n previous = previous.previousElementSibling;\n }\n\n return [];\n },\n\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n\n next = next.nextElementSibling;\n }\n\n return [];\n },\n\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n\n if (!element || !Swipe.isSupported()) {\n return;\n }\n\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n\n this._initEvents();\n } // Getters\n\n\n static get Default() {\n return Default$c;\n }\n\n static get DefaultType() {\n return DefaultType$c;\n }\n\n static get NAME() {\n return NAME$d;\n } // Public\n\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n } // Private\n\n\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n\n this._handleSwipe();\n\n execute(this._config.endCallback);\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n\n if (!direction) {\n return;\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n } // Static\n\n\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n\n this._addEventListeners();\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$b;\n }\n\n static get DefaultType() {\n return DefaultType$b;\n }\n\n static get NAME() {\n return NAME$c;\n } // Public\n\n\n next() {\n this._slide(ORDER_NEXT);\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n\n prev() {\n this._slide(ORDER_PREV);\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n\n this._clearInterval();\n }\n\n cycle() {\n this._clearInterval();\n\n this._updateInterval();\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n\n this.cycle();\n }\n\n to(index) {\n const items = this._getItems();\n\n if (index > items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n\n const activeIndex = this._getItemIndex(this._getActive());\n\n if (activeIndex === index) {\n return;\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n\n this._slide(order, items[index]);\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n } // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n\n this.pause();\n\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n const direction = KEY_TO_DIRECTION[event.key];\n\n if (direction) {\n event.preventDefault();\n\n this._slide(this._directionToOrder(direction));\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n\n if (!element) {\n return;\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n\n const activeElement = this._getActive();\n\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n\n if (nextElement === activeElement) {\n return;\n }\n\n const nextElementIndex = this._getItemIndex(nextElement);\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n\n const slideEvent = triggerEvent(EVENT_SLIDE);\n\n if (slideEvent.defaultPrevented) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return;\n }\n\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n\n this._setActiveIndicatorElement(nextElementIndex);\n\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n\n if (isCycling) {\n this.cycle();\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = getElementFromSelector(this);\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n\n if (slideIndex) {\n carousel.to(slideIndex);\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n carousel.prev();\n\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n\n for (const elem of toggleList) {\n const selector = getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n\n this._initializeChildren();\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$a;\n }\n\n static get DefaultType() {\n return DefaultType$a;\n }\n\n static get NAME() {\n return NAME$b;\n } // Public\n\n\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n\n let activeChildren = []; // find active children\n\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n\n const dimension = this._getDimension();\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.style[dimension] = 0;\n\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n\n this._queueCallback(complete, this._element, true);\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n const dimension = this._getDimension();\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n for (const trigger of this._triggerArray) {\n const element = getElementFromSelector(trigger);\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n\n this._element.style[dimension] = '';\n\n this._queueCallback(complete, this._element, true);\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n } // Private\n\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n config.parent = getElement(config.parent);\n return config;\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n\n for (const element of children) {\n const selected = getElementFromSelector(element);\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth\n\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n } // Static\n\n\n static jQueryInterface(config) {\n const _config = {};\n\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n const selector = getSelectorFromElement(this);\n const selectorElements = SelectorEngine.find(selector);\n\n for (const element of selectorElements) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n } // Getters\n\n\n static get Default() {\n return Default$9;\n }\n\n static get DefaultType() {\n return DefaultType$9;\n }\n\n static get NAME() {\n return NAME$a;\n } // Public\n\n\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._createPopper(); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n\n this._element.classList.add(CLASS_NAME_SHOW$6);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n };\n\n this._completeHide(relatedTarget);\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n\n super.dispose();\n }\n\n update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper) {\n this._popper.update();\n }\n } // Private\n\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n\n if (hideEvent.defaultPrevented) {\n return;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.setAttribute('aria-expanded', 'false');\n\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n\n _getConfig(config) {\n config = super._getConfig(config);\n\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n\n return config;\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n let referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n\n const popperConfig = this._getPopperConfig();\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n\n _getPlacement() {\n const parentDropdown = this._parent;\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n } // We need to trim the value because custom properties can also include spaces\n\n\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }; // Disable Popper if we have a static display or Dropdown is in Navbar\n\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove\n\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n\n if (!items.length) {\n return;\n } // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n\n if (!context || context._config.autoClose === false) {\n continue;\n }\n\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n\n\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n };\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n context._completeHide(relatedTarget);\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n\n if (isInput && !isEscapeEvent) {\n return;\n }\n\n event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n\n instance._selectMenuItem(event);\n\n return;\n }\n\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n } // Public\n\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n\n hide() {\n const width = this.getWidth();\n\n this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n\n\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n\n\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n\n isOverflowing() {\n return this.getWidth() > 0;\n } // Private\n\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n\n this._element.style.overflow = 'hidden';\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n\n this._saveInitialAttribute(element, styleProperty);\n\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero\n\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n\n};\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n } // Getters\n\n\n static get Default() {\n return Default$8;\n }\n\n static get DefaultType() {\n return DefaultType$8;\n }\n\n static get NAME() {\n return NAME$9;\n } // Public\n\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._append();\n\n const element = this._getElement();\n\n if (this._config.isAnimated) {\n reflow(element);\n }\n\n element.classList.add(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n\n dispose() {\n if (!this._isAppended) {\n return;\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n\n this._element.remove();\n\n this._isAppended = false;\n } // Private\n\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n\n this._element = backdrop;\n }\n\n return this._element;\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n\n _append() {\n if (this._isAppended) {\n return;\n }\n\n const element = this._getElement();\n\n this._config.rootElement.append(element);\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n\n};\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n } // Getters\n\n\n static get Default() {\n return Default$7;\n }\n\n static get DefaultType() {\n return DefaultType$7;\n }\n\n static get NAME() {\n return NAME$8;\n } // Public\n\n\n activate() {\n if (this._isActive) {\n return;\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n\n deactivate() {\n if (!this._isActive) {\n return;\n }\n\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n } // Private\n\n\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement);\n\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$6;\n }\n\n static get DefaultType() {\n return DefaultType$6;\n }\n\n static get NAME() {\n return NAME$7;\n } // Public\n\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n this._isTransitioning = true;\n\n this._scrollBar.hide();\n\n document.body.classList.add(CLASS_NAME_OPEN);\n\n this._adjustDialog();\n\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = false;\n this._isTransitioning = true;\n\n this._focustrap.deactivate();\n\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n\n dispose() {\n for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY$4);\n }\n\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n }\n\n handleUpdate() {\n this._adjustDialog();\n } // Private\n\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW$4);\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n\n if (this._config.keyboard) {\n event.preventDefault();\n this.hide();\n return;\n }\n\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n\n return;\n }\n\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n\n _hideModal() {\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n\n this._resetAdjustments();\n\n this._scrollBar.reset();\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed\n\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n\n this._element.focus();\n }\n /**\n * The following methods are used to handle overflowing modals\n */\n\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n const scrollbarWidth = this._scrollBar.getWidth();\n\n const isBodyOverflowing = scrollbarWidth > 0;\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n } // Static\n\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](relatedTarget);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n }); // avoid conflict when clicking modal toggler while another one is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$5;\n }\n\n static get DefaultType() {\n return DefaultType$5;\n }\n\n static get NAME() {\n return NAME$6;\n } // Public\n\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n\n this._backdrop.show();\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n\n this._element.classList.add(CLASS_NAME_SHOW$3);\n\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n\n this._queueCallback(completeCallBack, this._element, true);\n }\n\n hide() {\n if (!this._isShown) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._focustrap.deactivate();\n\n this._element.blur();\n\n this._isShown = false;\n\n this._element.classList.add(CLASS_NAME_HIDING);\n\n this._backdrop.hide();\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n\n this._queueCallback(completeCallback, this._element, true);\n }\n\n dispose() {\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n } // Private\n\n\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n }; // 'static' option will be translated to true, and booleans will keep their value\n\n\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n\n if (!this._config.keyboard) {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n });\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](this);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n }); // avoid conflict when clicking a toggler of an offcanvas, while another is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));\n }\n\n return true;\n } // Check if a regular expression validates the attribute.\n\n\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\n\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n } // Getters\n\n\n static get Default() {\n return Default$4;\n }\n\n static get DefaultType() {\n return DefaultType$4;\n }\n\n static get NAME() {\n return NAME$5;\n } // Public\n\n\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n\n hasContent() {\n return this.getContent().length > 0;\n }\n\n changeContent(content) {\n this._checkContent(content);\n\n this._config.content = { ...this._config.content,\n ...content\n };\n return this;\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n\n const template = templateWrapper.children[0];\n\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n\n return template;\n } // Private\n\n\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n\n this._checkContent(config.content);\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n\n if (!templateElement) {\n return;\n }\n\n content = this._resolvePossibleFunction(content);\n\n if (!content) {\n templateElement.remove();\n return;\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n\n return;\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n\n templateElement.textContent = content;\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg(this) : arg;\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n\n templateElement.textContent = element.textContent;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 0],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' + '
' + '
' + '
',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n\n super(element, config); // Private\n\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null; // Protected\n\n this.tip = null;\n\n this._setListeners();\n\n if (!this._config.selector) {\n this._fixTitle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$3;\n }\n\n static get DefaultType() {\n return DefaultType$3;\n }\n\n static get NAME() {\n return NAME$4;\n } // Public\n\n\n enable() {\n this._isEnabled = true;\n }\n\n disable() {\n this._isEnabled = false;\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n\n this._activeTrigger.click = !this._activeTrigger.click;\n\n if (this._isShown()) {\n this._leave();\n\n return;\n }\n\n this._enter();\n }\n\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n\n this._disposePopper();\n\n super.dispose();\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n } // todo v6 remove this OR make it optional\n\n\n this._disposePopper();\n\n const tip = this._getTipElement();\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n\n const {\n container\n } = this._config;\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n\n if (this._isHovered === false) {\n this._leave();\n }\n\n this._isHovered = false;\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n hide() {\n if (!this._isShown()) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const tip = this._getTipElement();\n\n tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n if (!this._isHovered) {\n this._disposePopper();\n }\n\n this._element.removeAttribute('aria-describedby');\n\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n update() {\n if (this._popper) {\n this._popper.update();\n }\n } // Protected\n\n\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n\n return this.tip;\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6\n\n\n if (!tip) {\n return null;\n }\n\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only\n\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n\n return tip;\n }\n\n setContent(content) {\n this._newContent = content;\n\n if (this._isShown()) {\n this._disposePopper();\n\n this.show();\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({ ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n\n return this._templateFactory;\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n } // Private\n\n\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n\n _createPopper(tip) {\n const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg.call(this._element) : arg;\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n\n context._leave();\n });\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title');\n\n if (!title) {\n return;\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n\n\n this._element.removeAttribute('title');\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n\n this._isHovered = true;\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n this._isHovered = false;\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n\n config = { ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n return config;\n }\n\n _getDelegateConfig() {\n const config = {};\n\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key];\n }\n }\n\n config.selector = false;\n config.trigger = 'manual'; // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n\n return config;\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n\n this._popper = null;\n }\n\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = { ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' + '
' + '

' + '
' + '
',\n trigger: 'click'\n};\nconst DefaultType$2 = { ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n\n static get DefaultType() {\n return DefaultType$2;\n }\n\n static get NAME() {\n return NAME$3;\n } // Overrides\n\n\n _isWithContent() {\n return this._getTitle() || this._getContent();\n } // Private\n\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper\n\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n } // Getters\n\n\n static get Default() {\n return Default$1;\n }\n\n static get DefaultType() {\n return DefaultType$1;\n }\n\n static get NAME() {\n return NAME$2;\n } // Public\n\n\n refresh() {\n this._initializeTargetsAndObservables();\n\n this._maybeEnableSmoothScroll();\n\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n\n dispose() {\n this._observer.disconnect();\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n\n return config;\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n } // unregister any previous listeners\n\n\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n } // Chrome 60 doesn't support `scrollTo`\n\n\n root.scrollTop = height;\n }\n });\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n } // The logic of selection\n\n\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n\n this._process(targetElement(entry));\n };\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n\n this._clearActiveClass(targetElement(entry));\n\n continue;\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop\n\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n\n if (!parentScrollTop) {\n return;\n }\n\n continue;\n } // if we are scrolling up, pick the smallest offsetTop\n\n\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n\n const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible\n\n if (isVisible(observableSection)) {\n this._targetLinks.set(anchor.hash, anchor);\n\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n\n this._clearActiveClass(this._config.target);\n\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n\n this._activateParents(target);\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
    and