Kernels:
Trusted publisher
Uploaded using `kernel-builder`.
Browse files
build/torch-xpu/_ops.py
CHANGED
|
@@ -4,7 +4,13 @@ def get_backend() -> str:
|
|
| 4 |
"""Detect the backend by inspecting torch."""
|
| 5 |
import torch
|
| 6 |
|
| 7 |
-
if hasattr(torch, "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
# Needs to be sorted before specific Torch builds, since Neuron
|
| 9 |
# extension can be loaded into e.g. CUDA Torch builds.
|
| 10 |
return "neuron"
|
|
@@ -22,7 +28,7 @@ def get_backend() -> str:
|
|
| 22 |
|
| 23 |
def _find_ops_name() -> str:
|
| 24 |
kernel_name = "flash_attn_ops"
|
| 25 |
-
unique_id = "
|
| 26 |
backend = get_backend()
|
| 27 |
return f"_{kernel_name}_{backend}_{unique_id}"
|
| 28 |
|
|
|
|
| 4 |
"""Detect the backend by inspecting torch."""
|
| 5 |
import torch
|
| 6 |
|
| 7 |
+
if hasattr(torch.backends, "tpu"):
|
| 8 |
+
# torch_tpu sets torch.backends.tpu when it is imported (via
|
| 9 |
+
# torch's device-backend autoload), regardless of whether TPU
|
| 10 |
+
# hardware is present — analogous to torch.version.cuda being
|
| 11 |
+
# set on CUDA builds without a GPU.
|
| 12 |
+
return "tpu"
|
| 13 |
+
elif hasattr(torch, "neuron"):
|
| 14 |
# Needs to be sorted before specific Torch builds, since Neuron
|
| 15 |
# extension can be loaded into e.g. CUDA Torch builds.
|
| 16 |
return "neuron"
|
|
|
|
| 28 |
|
| 29 |
def _find_ops_name() -> str:
|
| 30 |
kernel_name = "flash_attn_ops"
|
| 31 |
+
unique_id = "addf474"
|
| 32 |
backend = get_backend()
|
| 33 |
return f"_{kernel_name}_{backend}_{unique_id}"
|
| 34 |
|
build/torch-xpu/flash_attn_ops/__init__.py
DELETED
|
@@ -1,26 +0,0 @@
|
|
| 1 |
-
import ctypes
|
| 2 |
-
import importlib.util
|
| 3 |
-
import sys
|
| 4 |
-
from pathlib import Path
|
| 5 |
-
from types import ModuleType
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
def _import_from_path(file_path: Path) -> ModuleType:
|
| 9 |
-
# We cannot use the module name as-is, after adding it to `sys.modules`,
|
| 10 |
-
# it would also be used for other imports. So, we make a module name that
|
| 11 |
-
# depends on the path for it to be unique using the hex-encoded hash of
|
| 12 |
-
# the path.
|
| 13 |
-
path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
|
| 14 |
-
module_name = path_hash
|
| 15 |
-
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
| 16 |
-
if spec is None:
|
| 17 |
-
raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
|
| 18 |
-
module = importlib.util.module_from_spec(spec)
|
| 19 |
-
if module is None:
|
| 20 |
-
raise ImportError(f"Cannot load module {module_name} from spec")
|
| 21 |
-
sys.modules[module_name] = module
|
| 22 |
-
spec.loader.exec_module(module) # type: ignore
|
| 23 |
-
return module
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build/torch-xpu/metadata.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
| 1 |
{
|
| 2 |
"name": "flash-attn-ops",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "BSD-3-Clause",
|
| 6 |
"python-depends": [],
|
|
|
|
| 7 |
"backend": {
|
| 8 |
"type": "xpu"
|
| 9 |
},
|
|
@@ -11,9 +12,8 @@
|
|
| 11 |
"algorithm": "sha256",
|
| 12 |
"files": {
|
| 13 |
"__init__.py": "CN2UymE7gbYnzhbAm92qHBHVC/as55EjJsW+EQt5eaM=",
|
| 14 |
-
"_ops.py": "
|
| 15 |
"cross_entropy.py": "y56nmuOtpSNxM7sDZcUSgXKIsIEayfuvrU8bAVog/nw=",
|
| 16 |
-
"flash_attn_ops/__init__.py": "DFYPlrhXwYjEqCl/8n0SmWGZV8NFml5DPhMjKfv98GY=",
|
| 17 |
"k_activations.py": "+Z3vIyO4JkqBMipKsPvhzmxljtBdIhJCsl/M+/ESqBo=",
|
| 18 |
"layer_norm.py": "SVUTedaQF7zdKwg4bNnr8NPWFSUPB+88kSLWyPkykh0=",
|
| 19 |
"losses.py": "YhTM9q3Qouq8QoFy1hryAXFC2A6scVtnReoNa+l99YQ=",
|
|
@@ -26,11 +26,11 @@
|
|
| 26 |
"provenance": {
|
| 27 |
"kernel-builder": {
|
| 28 |
"version": "0.17.0-dev0",
|
| 29 |
-
"
|
| 30 |
"dirty": false
|
| 31 |
},
|
| 32 |
"kernel": {
|
| 33 |
-
"
|
| 34 |
"dirty": false
|
| 35 |
}
|
| 36 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "flash-attn-ops",
|
| 3 |
+
"id": "_flash_attn_ops_xpu_addf474",
|
| 4 |
"version": 1,
|
| 5 |
"license": "BSD-3-Clause",
|
| 6 |
"python-depends": [],
|
| 7 |
+
"kernel-depends": [],
|
| 8 |
"backend": {
|
| 9 |
"type": "xpu"
|
| 10 |
},
|
|
|
|
| 12 |
"algorithm": "sha256",
|
| 13 |
"files": {
|
| 14 |
"__init__.py": "CN2UymE7gbYnzhbAm92qHBHVC/as55EjJsW+EQt5eaM=",
|
| 15 |
+
"_ops.py": "Dge/C0Ymza/PRpMO5RnXO3/usc4lC5uvVYXwJFlRZOQ=",
|
| 16 |
"cross_entropy.py": "y56nmuOtpSNxM7sDZcUSgXKIsIEayfuvrU8bAVog/nw=",
|
|
|
|
| 17 |
"k_activations.py": "+Z3vIyO4JkqBMipKsPvhzmxljtBdIhJCsl/M+/ESqBo=",
|
| 18 |
"layer_norm.py": "SVUTedaQF7zdKwg4bNnr8NPWFSUPB+88kSLWyPkykh0=",
|
| 19 |
"losses.py": "YhTM9q3Qouq8QoFy1hryAXFC2A6scVtnReoNa+l99YQ=",
|
|
|
|
| 26 |
"provenance": {
|
| 27 |
"kernel-builder": {
|
| 28 |
"version": "0.17.0-dev0",
|
| 29 |
+
"commit": "081dcd473f8eca27226eef1f9c47c45b86c756b5",
|
| 30 |
"dirty": false
|
| 31 |
},
|
| 32 |
"kernel": {
|
| 33 |
+
"commit": "addf4741fafb55b4c101b15985dfaeea7c7c2f3a",
|
| 34 |
"dirty": false
|
| 35 |
}
|
| 36 |
}
|
build/torch-xpu/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtGgAwIBAgIUEtkm7K/Pr9nzTXgrEfQdPMpsXCMwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNzA4MTEyMTQ0WhcNMjYwNzA4MTEzMTQ0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEetuC8sjowRxXjIHUwVdgbjFqnEaeKxvIC8IG03knO5mDgMdBbp3YPXiQVKi9ERYHafd4ryooJpgOTBp+1VMv76OCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUbWOOmtt532eL9UmBTAOwy7WSfsMwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoOGE3MzBkOTZjMzc1NjBjY2YxZDNlMDlmN2JiY2NkYzg4NjgxOGYzMzATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoOGE3MzBkOTZjMzc1NjBjY2YxZDNlMDlmN2JiY2NkYzg4NjgxOGYzMzAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoOGE3MzBkOTZjMzc1NjBjY2YxZDNlMDlmN2JiY2NkYzg4NjgxOGYzMzAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDhhNzMwZDk2YzM3NTYwY2NmMWQzZTA5ZjdiYmNjZGM4ODY4MThmMzMwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMjg5MzEyMDI0MzIvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABn0F2YR0AAAQDAEcwRQIgOJWSEuOyqL9n1RdMb3ARdqTJiOM3HaL0mIdaw1kJaskCIQCUuAp5nnEoOP3SWjFptQHRv3ruld6/KbLn9DtEKTDlCDAKBggqhkjOPQQDAwNnADBkAjBnS2Og6FZIQgGC7akGbABWrM2AriaUyUeA5k0cXdDtT2E02akrfahJCWXDbWJDKNwCMG9qUc2vBTHckCM0HwtutHq5GC9cQFBp26kz4UNzQyITdZPjZO29jUcw0RAIZx0/aQ=="},"tlogEntries":[{"logIndex":"2115129272","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1783509705","inclusionPromise":{"signedEntryTimestamp":"MEUCIH0ff510Evwca1u+UbwixmJ05HHv05MRu2mWjmWgoKx8AiEA7NCHpn7XlpJmWyxQ2l9PgDPrx/KxzgQRmzZm1pi/7co="},"inclusionProof":{"logIndex":"1993225010","rootHash":"3El3Lpy1oF3IYJ5Q+qyhZUxqDJqBzgrQpiLNQIitUkY=","treeSize":"1993225022","hashes":["xLUd2uZrFZnty9Z1HY2boG2lh+BB9B/UxRgRZgjFbuQ=","GSRgOWkhoIa6E3L/Xvm6sqXgl9omA9UrQLBwOH+9zbo=","wNw4VX/0O2nlFKgbRG0nQVgXHg2ywyCzflDmaiaglzI=","VnpjCIvL7brc6PK1dn48+tHR50n7RqdoDWrj5RzD1jE=","+7duWj64Qe1Zkx+yM9ISn5JVVI+HmTMcw3XpTLj8PPs=","446U/YKahjRVCpv9Upm9MAcm/hyhXbMT0TJora3feN8=","Q8PApMjMRUNJ7xrZy4f5UvQCyHXEOn4ZZ4p5sDiDc2g=","bi8fe0DDdrNAeoQsjKJr5a1b59xkRDANI6WC/eTjVno=","QllT6LSG/atuuaIF8rT3cyFz3Vv6oUwojQFAhFEwZl4=","p2o5Ruq9tV5P95j9zl6fx3XmOn49Uz6ZdywQA2WgVss=","VgOceJvrniBf3NxYSnd8hKhKiA3kzGYv9aw1wOrHMq8=","KEoaBedJtDHZJJ0hfsWskdmVy2dzbHOA8Z/QRgDoCAw=","Qt1jiKhOtf6yp73wykIuRUIfatVXkF3q7xBJ6DqwXnk=","frI9BMUdqa/KPLUCZ9yfDzZ2Z6tglf7SvThMJqEFBKU=","Bcvbbu+tDL+zr1H2q26c2ATmVu7v/f7JIFweUu7qDK8=","WajL3ZhY6ZX9meV3VTH9TkrbM31OF4o6+7foL0Uf6PI=","cyKMKBvHkQtwb2xR5svh+YppANOVdn7X8t4DuKMxICA=","+/VZ56MsIPxMiyLAodzKXo5TEWdQp36z89qLhpzloAo=","daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=","DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n1993225022\n3El3Lpy1oF3IYJ5Q+qyhZUxqDJqBzgrQpiLNQIitUkY=\n\n— rekor.sigstore.dev wNI9ajBEAiBL1aZWUnFZOHlpGow0mrf2+tBYoQvDfJWhDr1R59ADNwIgQU+XCes6bT3zIBuYPLQEnw42YWy5FbuduvCEQX7qbe0=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJjYTM3ZGYxN2RlNmQzYWRhNTMyMDEyNDE1YTZiNGM4OTQ1MmZhZjc0YWViY2YzM2Q2NzlhOGQ4M2Y1Yjg0ZjY1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQWxkQjFmTzJrWFQ1aEwwQWQvYjhkQmgxQWw4MHAzRVk3YUNhYmt0N3pXSUFpQjZCdnBRUnZnUG1GZ2MrZzV2WDVBSzZmSmVCUmxQaU55NFdlR1o4N2hVZGc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SSFowRjNTVUpCWjBsVlJYUnJiVGRMTDFCeU9XNTZWRmhuY2tWbVVXUlFUWEJ6V0VOTmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDU2UVRSTlZFVjVUVlJSTUZkb1kwNU5hbGwzVG5wQk5FMVVSWHBOVkZFd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZsZEhWRE9ITnFiM2RTZUZocVNVaFZkMVprWjJKcVJuRnVSV0ZsUzNoMlNVTTRTVWNLTUROcmJrODFiVVJuVFdSQ1luQXpXVkJZYVZGV1MyazVSVkpaU0dGbVpEUnllVzl2U25CblQxUkNjQ3N4VmsxMk56WlBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZpVjA5UENtMTBkRFV6TW1WTU9WVnRRbFJCVDNkNU4xZFRabk5OZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVBSMFV6VFhwQ2EwOVVXbXBOZW1NeFRtcENhbGt5V1hoYVJFNXNDazFFYkcxT01rcHBXVEpPYTFsNlp6Uk9hbWQ0VDBkWmVrMTZRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDlIUlROTmVrSnJUMVJhYWsxNll6Rk9ha0pxV1RKWmVGcEVUbXhOUkd4dFRqSkthVmt5VG1zS1dYcG5ORTVxWjNoUFIxbDZUWHBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDlIUlROTmVrSnJUMVJhYWsxNll6Rk9ha0pxV1RKWmVGcEVUbXdLVFVSc2JVNHlTbWxaTWs1cldYcG5ORTVxWjNoUFIxbDZUWHBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUm9hRTU2VFhjS1drUnJNbGw2VFROT1ZGbDNXVEpPYlUxWFVYcGFWRUUxV21wa2FWbHRUbXBhUjAwMFQwUlpORTFVYUcxTmVrMTNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOYW1jMVRYcEZlVTFFU1RCTmVrbDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtNHdSakpaVWpCQlFVRlJSQXBCUldOM1VsRkpaMDlLVjFORmRVOTVjVXc1YmpGU1pFMWlNMEZTWkhGVVNtbFBUVE5JWVV3d2JVbGtZWGN4YTBwaGMydERTVkZEVlhWQmNEVnVia1Z2Q2s5UU0xTlhha1p3ZEZGSVVuWXpjblZzWkRZdlMySk1iamxFZEVWTFZFUnNRMFJCUzBKblozRm9hMnBQVUZGUlJFRjNUbTVCUkVKclFXcENibE15VDJjS05rWmFTVkZuUjBNM1lXdEhZa0ZDVjNKTk1rRnlhV0ZWZVZWbFFUVnJNR05ZWkVSMFZESkZNREpoYTNKbVlXaEtRMWRZUkdKWFNrUkxUbmREVFVjNWNRcFZZekoyUWxSSVkydERUVEJJZDNSMWRFaHhOVWRET1dOUlJrSndNalpyZWpSVlRucFJlVWxVWkZwUWFscFBNamxxVldOM01GSkJTVnA0TUM5aFVUMDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgnq4dEiopF6mgNbrNwa0DhBJGjX5TuFh2pqmS2Zm65WsCFQDY9Mr00Cl7hQSo8+vEox9Gn0lPuhgPMjAyNjA3MDgxMTIxNDVaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDcwODExMjE0NVowLwYJKoZIhvcNAQkEMSIEIFuGEqrjuITTvWRr2FEom6FyD6aYTrAABJKaFL2oiNFiMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMDujXZhHShQhjKUmklOQiWCvm9JXE3+FttJBVkDNsURbwINjnEdzKVb6QQvpLOzwMAIwaTYSmYGVJKszDC7u5XfdojAD2tryUOwiFYv6w5rjwMWjD8irXOCRwNQkoya1HNaw"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"yjffF95tOtpTIBJBWmtMiUUvr3SuvPM9Z5qNg/W4T2U="},"signature":"MEQCIAldB1fO2kXT5hL0Ad/b8dBh1Al80p3EY7aCabkt7zWIAiB6BvpQRvgPmFgc+g5vX5AK6fJeBRlPiNy4WeGZ87hUdg=="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtGgAwIBAgIUV3X2JHxGWTXeBHF2500sszEYqAwwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI3MDYzMjM1WhcNMjYwODI3MDY0MjM1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2hkkRfQqZ8oqjvciBkAmgWVwXpd28tamIPmk26cxentE9anB12iQQQ9OjhRKcJi1McqZDzeykGq9sOKPLR7YMaOCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUD1BH3/2S+Q63+T1U7mQ3Q5GI3/EwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYWRkZjQ3NDFmYWZiNTViNGMxMDFiMTU5ODVkZmFlZWE3YzdjMmYzYTATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYWRkZjQ3NDFmYWZiNTViNGMxMDFiMTU5ODVkZmFlZWE3YzdjMmYzYTAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYWRkZjQ3NDFmYWZiNTViNGMxMDFiMTU5ODVkZmFlZWE3YzdjMmYzYTAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGFkZGY0NzQxZmFmYjU1YjRjMTAxYjE1OTg1ZGZhZWVhN2M3YzJmM2EwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzMwNDUzODIxNzcvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoEHrnJ0AAAQDAEcwRQIgb2JUmDIxhVKQRCByP5oWHU+iF8rUlN8g2icqJVxIfKACIQCOmk+ZzjWPJPqxLyepe+oHHL4ovac4CjvUDxu7DyXQhTAKBggqhkjOPQQDAwNnADBkAjAMEVZQjGGxvQVmULNRhtCAVly/ZIEFHqBaqrYGIhynrYxth8h8Y2g0HRUUfGlPaSQCMARCaRjUhzH12WIf9OFAtQLSFQjhqSgulzTpYwOCB3O5Gyuc/xiSpbGKGWDD80q1Ng=="}, "tlogEntries":[{"logIndex":"2613603133", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1787812355", "inclusionPromise":{"signedEntryTimestamp":"MEUCIQDtxnId1t0vmRkD+P3R/m/nL3uQz8+vRQfXv/64r+cHEAIgIk8H6rfCycysVCmfFSnQjbao+M3TzkZv5e1Je5q0Ylc="}, "inclusionProof":{"logIndex":"2491698871", "rootHash":"eBRdESEbNlZjqlITLm1vJnyOPeCv9aVXDYy16OStUjs=", "treeSize":"2491698906", "hashes":["gVRF+CIToOt4j4zK/oKOvgxNoZT+GpjJ6D8mBfpjL3E=", "EV1VVffMzRzhA+HcXNn1m6BEnfzp3nnEcY/Kbe3PIvY=", "hKIRNAFMhIDark8yAGdA2tjy0EAqCuXPSFPDNx6LjCQ=", "RNfgsfjbKTK5mJ24Xi7vAePcvrBOAfgyYVq1mDm2UjY=", "hxVT0vCx7PvPGoJv9c8pseISr9x1un3QscCs/TO3iYU=", "cJEwCj0GIlRxVHki1ee7r4MZ/yANfZTYksUe7pwimsI=", "ats0tJ4dGyxDFFbRUQclS9yCA4gwUEYDDM0092L+ygU=", "hcZH1aUGWQ82f+3WYJeDqlDz66nM7S/czV+B1RbgAHI=", "rxbmddoLYmG6z7Z9TWZjJ1En87NIruj3/2r1OAvonFw=", "4mZT3/O1bshXiua5jOmUevzjyvRefSlO83/a9ZeNXHg=", "9jFUKVhyjmElpkXyRc3lKNk3tu857cj70POY9azZe3c=", "n2DlpY4CUv+d1eC7IWtKXM3qQeJZJTszSiZyVoOfcKU=", "E7AEzQrWJL3fkxC6doP8J8+b69/ILUYXJjzAAPrp8Oo=", "7TfDCaMWgEwSJEZd/e33b24919rF4IDJLmbqNNRNhZs=", "0HfdxDt/zGugZLIuHasrdLEW9s8OaTykSSqBEDFQXdw=", "SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2491698906\neBRdESEbNlZjqlITLm1vJnyOPeCv9aVXDYy16OStUjs=\n\n— rekor.sigstore.dev wNI9ajBEAiARXEJrLpbp3Jc/zx2tQvLFM0zz/yLHlinCpXshnXhNwgIgNEqXXrCUdx8uByFunqrQFYvmX5x/37DlEULeGgIC9E4=\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI0YWY0NDRhN2ViZWZiM2M3NjdiMTIwYzBlY2ZkNGNjMmY4YWMzZDBlMjYzYjk1MDRjY2Q5MjVlNTEyNmM5MDRhIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRkJNSUt5VytNUXF2QzIybDRWcU95aEpBK24xbkhVZ2tMeEU2WlF0Zm1aVEFpQkFIUndaNXRFZEo5WHJHcEJHbk5FSXZKMVRCYXRPZW0wNGtYSEcya0tKa0E9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SSFowRjNTVUpCWjBsVlZqTllNa3BJZUVkWFZGaGxRa2hHTWpVd01ITnpla1ZaY1VGM2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1ROTlJGbDZUV3BOTVZkb1kwNU5hbGwzVDBSSk0wMUVXVEJOYWsweFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVV5YUd0clVtWlJjVm80YjNGcWRtTnBRbXRCYldkWFZuZFljR1F5T0hSaGJVbFFiV3NLTWpaamVHVnVkRVU1WVc1Q01USnBVVkZST1U5cWFGSkxZMHBwTVUxamNWcEVlbVY1YTBkeE9YTlBTMUJNVWpkWlRXRlBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZFTVVKSUNqTXZNbE1yVVRZeksxUXhWVGR0VVROUk5VZEpNeTlGZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVpWMUpyV21wUk0wNUVSbTFaVjFwcFRsUldhVTVIVFhoTlJFWnBDazFVVlRWUFJGWnJXbTFHYkZwWFJUTlplbVJxVFcxWmVsbFVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWxYVW10YWFsRXpUa1JHYlZsWFdtbE9WRlpwVGtkTmVFMUVSbWxOVkZVMVQwUldhMXB0Um13S1dsZEZNMWw2WkdwTmJWbDZXVlJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWxYVW10YWFsRXpUa1JHYlZsWFdtbE9WRlpwVGtkTmVFMUVSbWtLVFZSVk5VOUVWbXRhYlVac1dsZEZNMWw2WkdwTmJWbDZXVlJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZEdhMXBIV1RBS1RucFJlRnB0Um0xWmFsVXhXV3BTYWsxVVFYaFpha1V4VDFSbk1WcEhXbWhhVjFab1RqSk5NMWw2U20xTk1rVjNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWsxM1RrUlZlazlFU1hoT2VtTjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUZTSEp1U2pCQlFVRlJSQXBCUldOM1VsRkpaMkl5U2xWdFJFbDRhRlpMVVZKRFFubFFOVzlYU0ZVcmFVWTRjbFZzVGpobk1tbGpjVXBXZUVsbVMwRkRTVkZEVDIxcksxcDZhbGRRQ2twUWNYaE1lV1Z3WlN0dlNFaE1ORzkyWVdNMFEycDJWVVI0ZFRkRWVWaFJhRlJCUzBKblozRm9hMnBQVUZGUlJFRjNUbTVCUkVKclFXcEJUVVZXV2xFS2FrZEhlSFpSVm0xVlRFNVNhSFJEUVZac2VTOWFTVVZHU0hGQ1lYRnlXVWRKYUhsdWNsbDRkR2c0YURoWk1tY3dTRkpWVldaSGJGQmhVMUZEVFVGU1F3cGhVbXBWYUhwSU1USlhTV1k1VDBaQmRGRk1VMFpSYW1oeFUyZDFiSHBVY0ZsM1QwTkNNMDgxUjNsMVl5OTRhVk53WWtkTFIxZEVSRGd3Y1RGT1p6MDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgHl81bJr1UDH54AD0RFutlv86E/qOPdF/8g0vBay63LYCFGFbdHEjfvmpidX+1atyoaKDMLDTGA8yMDI2MDgyNzA2MzIzNVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI3MDYzMjM1WjAvBgkqhkiG9w0BCQQxIgQgiiXyAIKZVzhaubwtlnROH1aMddJn07S+KHxnaSwGHm8wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAI+d2b6uxerE10+6c5sGqzSITn/wAbcdH2ZdJJQnqKZJOstMWTKkYvzlksIWd850OAIxAO2xTwKXf9Sj+ncVhiNkacSskmu9WUGJwYMFCKD/Tcx7u2rTQUFnQb8zutY9JYRxqQ=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"SvREp+vvs8dnsSDA7P1MwvisPQ4mO5UEzNkl5RJskEo="}, "signature":"MEQCIFBMIKyW+MQqvC22l4VqOyhJA+n1nHUgkLxE6ZQtfmZTAiBAHRwZ5tEdJ9XrGpBGnNEIvJ1TBatOem04kXHG2kKJkA=="}}
|