kernels-bot commited on
Commit
fb129f3
·
verified ·
1 Parent(s): 280bdcd

Uploaded using `kernel-builder`.

Browse files
build/torch-cuda/__init__.py CHANGED
@@ -1,10 +1,12 @@
1
  from . import layers
 
2
  from .ops.kda import chunk_kda, fused_recurrent_kda
3
 
4
 
5
  __all__ = [
6
  # original functions directly
7
  "chunk_kda", "fused_recurrent_kda",
 
8
  # layers
9
  "layers",
10
  ]
 
1
  from . import layers
2
+ from .ops.gated_delta_rule import chunk_gated_delta_rule, fused_recurrent_gated_delta_rule
3
  from .ops.kda import chunk_kda, fused_recurrent_kda
4
 
5
 
6
  __all__ = [
7
  # original functions directly
8
  "chunk_kda", "fused_recurrent_kda",
9
+ "chunk_gated_delta_rule", "fused_recurrent_gated_delta_rule",
10
  # layers
11
  "layers",
12
  ]
build/torch-cuda/_ops.py CHANGED
@@ -22,7 +22,7 @@ def get_backend() -> str:
22
 
23
  def _find_ops_name() -> str:
24
  kernel_name = "fla"
25
- unique_id = "80bc07a"
26
  backend = get_backend()
27
  return f"_{kernel_name}_{backend}_{unique_id}"
28
 
 
22
 
23
  def _find_ops_name() -> str:
24
  kernel_name = "fla"
25
+ unique_id = "df9aae1"
26
  backend = get_backend()
27
  return f"_{kernel_name}_{backend}_{unique_id}"
28
 
build/torch-cuda/layers.py CHANGED
@@ -1,6 +1,8 @@
1
  import torch.nn as nn
2
 
3
  from .modules.fused_norm_gate import rms_norm_gated
 
 
4
  from .ops.kda import chunk_kda, fused_recurrent_kda
5
 
6
 
@@ -72,4 +74,63 @@ class recurrent_kimi_delta_attention(nn.Module):
72
  )
73
 
74
 
75
- __all__ = ["FusedRMSNormGated", "chunk_kimi_delta_attention", "recurrent_kimi_delta_attention"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import torch.nn as nn
2
 
3
  from .modules.fused_norm_gate import rms_norm_gated
4
+ from .ops.gated_delta_rule import chunk_gated_delta_rule as chunk_gdn
5
+ from .ops.gated_delta_rule import fused_recurrent_gated_delta_rule as fused_recurrent_gdn
6
  from .ops.kda import chunk_kda, fused_recurrent_kda
7
 
8
 
 
74
  )
75
 
76
 
77
+ class chunk_gated_delta_rule(nn.Module):
78
+ def forward(
79
+ self,
80
+ query,
81
+ key,
82
+ value,
83
+ g,
84
+ beta,
85
+ chunk_size=64,
86
+ initial_state=None,
87
+ output_final_state=False,
88
+ use_qk_l2norm_in_kernel=False,
89
+ **kwargs,
90
+ ):
91
+ # Keep internal consistency between transformers and fla to allow both
92
+ cu_seqlens = kwargs.pop("cu_seq_lens_q", kwargs.pop("cu_seqlens", None))
93
+
94
+ return chunk_gdn(
95
+ query,
96
+ key,
97
+ value,
98
+ g=g,
99
+ beta=beta,
100
+ chunk_size=chunk_size,
101
+ initial_state=initial_state,
102
+ output_final_state=output_final_state,
103
+ use_qk_l2norm_in_kernel=use_qk_l2norm_in_kernel,
104
+ cu_seqlens=cu_seqlens,
105
+ **kwargs,
106
+ )
107
+
108
+
109
+ class recurrent_gated_delta_rule(nn.Module):
110
+ def forward(
111
+ self, query, key, value, g, beta, initial_state, output_final_state, use_qk_l2norm_in_kernel=False, **kwargs,
112
+ ):
113
+ # Keep internal consistency between transformers and fla to allow both
114
+ cu_seqlens = kwargs.pop("cu_seq_lens_q", kwargs.pop("cu_seqlens", None))
115
+
116
+ return fused_recurrent_gdn(
117
+ query,
118
+ key,
119
+ value,
120
+ g=g,
121
+ beta=beta,
122
+ initial_state=initial_state,
123
+ output_final_state=output_final_state,
124
+ use_qk_l2norm_in_kernel=use_qk_l2norm_in_kernel,
125
+ cu_seqlens=cu_seqlens,
126
+ **kwargs,
127
+ )
128
+
129
+
130
+ __all__ = [
131
+ "FusedRMSNormGated",
132
+ "chunk_kimi_delta_attention",
133
+ "recurrent_kimi_delta_attention",
134
+ "chunk_gated_delta_rule",
135
+ "recurrent_gated_delta_rule"
136
+ ]
build/torch-cuda/metadata.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "fla",
3
- "id": "_fla_cuda_80bc07a",
4
  "version": 1,
5
  "license": "MIT",
6
  "python-depends": [
@@ -12,10 +12,10 @@
12
  "digest": {
13
  "algorithm": "sha256",
14
  "files": {
15
- "__init__.py": "3SZ4Y8aOv7FY7WOINRA3+ghHt+8UDINnPOkrvRQBMmQ=",
16
- "_ops.py": "fp8l5VIhYpUQWZpjEmzaqNmgmQPULdFYI/XnJXzU9lQ=",
17
  "fla/__init__.py": "DFYPlrhXwYjEqCl/8n0SmWGZV8NFml5DPhMjKfv98GY=",
18
- "layers.py": "EWyl/bImFUHQGFr4YB8oX4kjbCZ7J+yNBcExs7mwJh0=",
19
  "modules/__init__.py": "6ZjjRMt6Rf+2OegXDC8w58RD1IW3SBK+dxBoZa4Uohc=",
20
  "modules/activations.py": "Lp7xLUf7r785nt93NFhqoSQM+G7AK2e6kviE2/0TRJs=",
21
  "modules/backends/__init__.py": "l0tLqWyPFwwDRTdnHZYBzoux6J/LOFveJ53KREAKKDk=",
 
1
  {
2
  "name": "fla",
3
+ "id": "_fla_cuda_df9aae1",
4
  "version": 1,
5
  "license": "MIT",
6
  "python-depends": [
 
12
  "digest": {
13
  "algorithm": "sha256",
14
  "files": {
15
+ "__init__.py": "bVRNYUhThvULeUaovvQFZCJ9IZZsC+0kU/HbnXdYT1A=",
16
+ "_ops.py": "C1aSqvMqibUeWEoqMooP+A7Oi7Anev5/k7+MVjUqzCM=",
17
  "fla/__init__.py": "DFYPlrhXwYjEqCl/8n0SmWGZV8NFml5DPhMjKfv98GY=",
18
+ "layers.py": "/39XVQW4d4GHeNROqT67ujKbItdteLBtm0PT6zq41YQ=",
19
  "modules/__init__.py": "6ZjjRMt6Rf+2OegXDC8w58RD1IW3SBK+dxBoZa4Uohc=",
20
  "modules/activations.py": "Lp7xLUf7r785nt93NFhqoSQM+G7AK2e6kviE2/0TRJs=",
21
  "modules/backends/__init__.py": "l0tLqWyPFwwDRTdnHZYBzoux6J/LOFveJ53KREAKKDk=",
build/torch-cuda/metadata.json.sigstore CHANGED
@@ -1 +1 @@
1
- {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSTCCBtCgAwIBAgIUP6Ns5E48q8tY/r4fiwJw7beM+GswCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNzA4MTkwMzA5WhcNMjYwNzA4MTkxMzA5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElyHFvjoOJfbOrwp8rT2ea2Zju0Ru7T6M79ENSuXAoPqPckUhESPmkkt9A4Ag/XFh8OH46utstaPuuaydq2kNe6OCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU3kU7tL3XbO7R4kAPWxUpzpO6wkswHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoODBiYzA3YTVlMmFjNmNiMjMxZjE5NWI4NTIxYTY4Zjc4ZTExZTg3MjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoODBiYzA3YTVlMmFjNmNiMjMxZjE5NWI4NTIxYTY4Zjc4ZTExZTg3MjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoODBiYzA3YTVlMmFjNmNiMjMxZjE5NWI4NTIxYTY4Zjc4ZTExZTg3MjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDgwYmMwN2E1ZTJhYzZjYjIzMWYxOTViODUyMWE2OGY3OGUxMWU4NzIwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMjg5NjgxNjgzNjEvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABn0Mcz7IAAAQDAEYwRAIgAiuQG23djdwTRMVbD4Yl7GUzSE5QMWiTIT74zfGwMjoCIFpMaB8ZajDbP2QbdnTLyp62YhtFOLYtZDtciW1GfrFTMAoGCCqGSM49BAMDA2cAMGQCMA53GwFz+oK/NWOYzaGbe13RS6XtUhsKZcXb9LW7lPd8vP0r6JAoeNurT1XY/tyIFwIwFhIveBmfKZU0I6/vhGF3ECtZ0BdbJkv1MKl/UhjVOzlfuvXoJ0MqUYIfKUEN1TEs"},"tlogEntries":[{"logIndex":"2119077034","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1783537389","inclusionPromise":{"signedEntryTimestamp":"MEUCICus1BUBfOC05vQ5fnraICr2zBlyU+SUYgcDjv0S07zLAiEAj2IbhqCR4DFl2yV5nvlMAWhUHJ5GYTMSDPRG4zLadys="},"inclusionProof":{"logIndex":"1997172772","rootHash":"o7hRQrxyun13v9Jag+3+RRO6WRoySqFii2DMwnGVaEk=","treeSize":"1997172780","hashes":["d6d/YImHhLpSnEQ22XCS99yQuQAHNSooZenQSrEat+U=","ZIH5rkqsJKxiUO/wy0cDtU5d6ZPfji3TaPsDBYNTOsU=","t07HVWwyEa74zORdcnuuMY68bkWjLuZBsj3bD8d+y3E=","Ejgr+o1b17IhE+pSeFvuPbiVrJKKXlwZq4MjhACZiXE=","Y66dtD4KukkOr1fqi/d6m53J4fcSukupcBGMKR6il40=","W9Y3A3ppfHgcR0LTu4D9Xh52k4OtuqY8qz7HeM8MiVY=","yTynHRLAufl2i5MDOa5lwgTfLjmEUjpUeviIlOUiMUw=","9QM8Kp3Ci+819tVqedb0t1LLtzPRW9TJ2jvumIiS5TE=","PCv/S66aPALg7oTbk6xHKZ8DiIpgfJpJcDRVawCMp5Y=","46v+bkGssm2oSoYBejDaOsxrOJwPMVMZa5Xm87s92N8=","f8knrc4LOu/X8scT5SBvEgFJSd7vZZ0LzSaC0Z3lm/U=","WajL3ZhY6ZX9meV3VTH9TkrbM31OF4o6+7foL0Uf6PI=","cyKMKBvHkQtwb2xR5svh+YppANOVdn7X8t4DuKMxICA=","+/VZ56MsIPxMiyLAodzKXo5TEWdQp36z89qLhpzloAo=","daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=","DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n1997172780\no7hRQrxyun13v9Jag+3+RRO6WRoySqFii2DMwnGVaEk=\n\n— rekor.sigstore.dev wNI9ajBFAiEA/WSjRrqu4ZwfmUegZ9dIdQ87Cy32ifzQI6nvRepp2DECIC+XFKeWA3uGIFCeUTxAmBPPBcnp6L1IhBJc1O9TaSm4\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI1MmRkMDE3OWFlMzFiYjc5N2Y1YTlhMGExYmRlNTlmZDYwNTNkNGQzNzJhMWVjYTRjYmU2NTlmZDVhMTBkOTJiIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNYY1hraWU5MkllenpGaDR1SVZ5VXA4bWsyVy95YjEvbWxRUld3enBYaWFnSWdYWlNDeU8zV2p3Q1JyQmUyZExUcGpnM0Z3dXUvZGZPcWh1YU9JN2V5T2UwPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRWRU5EUW5SRFowRjNTVUpCWjBsVlVEWk9jelZGTkRoeE9IUlpMM0kwWm1sM1NuYzNZbVZOSzBkemQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDU2UVRSTlZHdDNUWHBCTlZkb1kwNU5hbGwzVG5wQk5FMVVhM2hOZWtFMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZzZVVoR2RtcHZUMHBtWWs5eWQzQTRjbFF5WldFeVdtcDFNRkoxTjFRMlRUYzVSVTRLVTNWWVFXOVFjVkJqYTFWb1JWTlFiV3RyZERsQk5FRm5MMWhHYURoUFNEUTJkWFJ6ZEdGUWRYVmhlV1J4TW10T1pUWlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlV6YTFVM0NuUk1NMWhpVHpkU05HdEJVRmQ0VlhCNmNFODJkMnR6ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVBSRUpwV1hwQk0xbFVWbXhOYlVacVRtMU9hVTFxVFhoYWFrVTFDazVYU1RST1ZFbDRXVlJaTkZwcVl6UmFWRVY0V2xSbk0wMXFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDlFUW1sWmVrRXpXVlJXYkUxdFJtcE9iVTVwVFdwTmVGcHFSVFZPVjBrMFRsUkplRmxVV1RRS1dtcGpORnBVUlhoYVZHY3pUV3BCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDlFUW1sWmVrRXpXVlJXYkUxdFJtcE9iVTVwVFdwTmVGcHFSVFVLVGxkSk5FNVVTWGhaVkZrMFdtcGpORnBVUlhoYVZHY3pUV3BCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUm5kMWx0VFhjS1RqSkZNVnBVU21oWmVscHFXV3BKZWsxWFdYaFBWRlpwVDBSVmVVMVhSVEpQUjFrelQwZFZlRTFYVlRST2VrbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOYW1jMVRtcG5lRTVxWjNwT2FrVjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtNHdUV042TjBsQlFVRlJSQXBCUlZsM1VrRkpaMEZwZFZGSE1qTmthbVIzVkZKTlZtSkVORmxzTjBkVmVsTkZOVkZOVjJsVVNWUTNOSHBtUjNkTmFtOURTVVp3VFdGQ09GcGhha1JpQ2xBeVVXSmtibFJNZVhBMk1sbG9kRVpQVEZsMFdrUjBZMmxYTVVkbWNrWlVUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlZMEZOUjFGRFRVRTFNMGQzUm5vS0syOUxMMDVYVDFsNllVZGlaVEV6VWxNMldIUlZhSE5MV21OWVlqbE1WemRzVUdRNGRsQXdjalpLUVc5bFRuVnlWREZZV1M5MGVVbEdkMGwzUm1oSmRncGxRbTFtUzFwVk1FazJMM1pvUjBZelJVTjBXakJDWkdKS2EzWXhUVXRzTDFWb2FsWlBlbXhtZFhaWWIwb3dUWEZWV1VsbVMxVkZUakZVUlhNS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgV9F5j9IZUiuRshRFDsy4zyMY5JmNlyqwPdebpdao1ZUCFQDUKVIiGDnyQnXFaybd76F+5V/NxRgPMjAyNjA3MDgxOTAzMDlaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDcwODE5MDMwOVowLwYJKoZIhvcNAQkEMSIEIP+LY3knhc7x09XtoiXR2tt2fRxp4fIdba9HjF3qfklMMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMBAcQnwrIccaeOY2BEWwu1aCx1khn3yX8nSueVD1LB/nAR5hyNXfv+n6MURKA0XhXgIxAKDn3/1UYcr9wwfJBhMFzqs1ql2UuJiDeMF+IYod2XcBlTgWG2Qx054screQdO4Eog=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"Ut0Bea4xu3l/WpoKG95Z/WBT1NNyoeyky+ZZ/VoQ2Ss="},"signature":"MEUCIQCXcXkie92IezzFh4uIVyUp8mk2W/yb1/mlQRWwzpXiagIgXZSCyO3WjwCRrBe2dLTpjg3Fwuu/dfOqhuaOI7eyOe0="}}
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSTCCBtCgAwIBAgIUa5tJ10yN/cyp8UZq7dmQnJmPEj4wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODA0MTE1MDUzWhcNMjYwODA0MTIwMDUzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaWp/ZWePA/Vgxp8Hm32Pf92DGfKlGuZI1UHW/gnWXqbaXqIDEv+5Gf0HnWUq+s2s7n6rwhAmWerx1mg6xjNYjKOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUMQpomKUXSEGhO1WqpvxKet/T3GQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoZGY5YWFlMTVjMTZlMmE4ZDYwY2JhOGNkNTU1MWQyMjM3OGIxM2NlNTATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoZGY5YWFlMTVjMTZlMmE4ZDYwY2JhOGNkNTU1MWQyMjM3OGIxM2NlNTAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoZGY5YWFlMTVjMTZlMmE4ZDYwY2JhOGNkNTU1MWQyMjM3OGIxM2NlNTAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGRmOWFhZTE1YzE2ZTJhOGQ2MGNiYThjZDU1NTFkMjIzNzhiMTNjZTUwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzA5MDYzMTc5MDMvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABn8ycxF0AAAQDAEYwRAIgMqlFDCiddq82dAkA2KqgJ/j60eIwvgG/qVf6jr4/k3ICIG8Le37XcvdBQ7Tv9huJq8oXkDLPkHHvecbxz0v52y8HMAoGCCqGSM49BAMDA2cAMGQCMDTQXUJAs0j9uxHqwD0LZNzCmuFouy9bfikAsk08hBEv9MX7e5t262yVpfKWjaM3QAIwLEQgcx1g2GWL+jYOxBhrjDAV4PB4hM0p7EHpUkltNjESUoXLIFQGU7RmpddOHOhO"},"tlogEntries":[{"logIndex":"2340162384","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1785844254","inclusionPromise":{"signedEntryTimestamp":"MEQCIHZ+j65v40cukZWS1DF6EtOkxwOZo0UXW+5b+LvIBJuaAiBgX5X56lP0HFClEpLPms/DZmPo5hLnUv015d84PZFzSw=="},"inclusionProof":{"logIndex":"2218258122","rootHash":"snGx62to/j7nEFxKEfBL5XW8VYCJKjEPCke1A0FO1sI=","treeSize":"2218258146","hashes":["R3njJ/t5DnlCCodzfZTws8CT6FaOyZVGWvWzrfcFi2c=","p6NhPOfxRd/XCRAbdMlQGcNiMfpbLyXqajQPIDp83iE=","QUxdD72Vr6Yt7tOA9zfgWFXv3txwFFXICQXvY7TEVY8=","5E7LzsKnUaJVWomEyd+Syc1Lr7lolFeuhxgyK61ph7Q=","lsop40XYrngUjfS9KJBBj1KrbhSsSax9x3f55Sni8UU=","60HT0kB6eUeFTCirMkXquPsUDJJpub7R4qk4sb6bqvU=","SZPjvBwW5hs1NSXQz4Duz9A3PEPeDqp85qyzvLQj4Xk=","dN8GklnX6h+7MjbJh7rOtW+lCiZGY1EssIr9VtaK748=","nKnhbDpxNjnHBlCPHPEnN2ZCpAkz3EER2eSbduQsyUc=","DTuZmimA3MEwpH6opSCNiE3Ju9iOKdY/yBVIoW/AUto=","LzK645AXEzIq20qTsMAjsLPoKgohZjIrnIJskQCO1fI=","EriorUIp/tm/BAMuLqRfSXCvQuF18IxRDKeQMoWvkYU=","3N1NR9MmkCy6lgjFvwnj0WLs1e5OEOI2DpA1I6HGCEQ=","WCfbY740Ql1ziTeXBqG4n64RYYAQXCm53/hF7vqmngo=","CwMhTY1f1dktThtHxvJ9SCGXDtGu9qGhQqzZU5mFCsc=","0QxG2owxT/M5gE6fp+B9qFilT0WQDcwpJ/97uszuHsQ=","BQaVrXAAo6FynBv+BqGOeEHHm0qU1X3E9XhlClgQXHA=","zQobn/nSVwOpnRpolzDVUHHPxnMYg8L2ajFBTbo6bR0=","8cBkID7yRXftjQqclK9Jj0hUDPpp7HMqoKXxzdkwOzg=","i5Zl8FZrDwxCDv2e2DNO2M8JvpR/c11ElvCZS53/teA=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2218258146\nsnGx62to/j7nEFxKEfBL5XW8VYCJKjEPCke1A0FO1sI=\n\n— rekor.sigstore.dev wNI9ajBEAiBYEEL1vPmjBRtrKwZr+lorKdXsICq2VIcqOi4tqXZ48wIgRUu4S7bUhXtQAW8mu/y/AAZgq6mxhPc7Mf0AvoFPzFY=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJiMDdiMjkzNmM3YmE3NTk5MTYwNGVlN2M1OWQ0M2Q2Mzc3ZDE3ODhmZWQ5ZDU0NTIzYzgzZGE4ZjI0ZDA2ZjYzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRDNNMzhSM1B1MS8yWmVWYUs4WUZ6cDNacnczR2xxN1dGUWdybHB2bkROdkFpQXhhbHNSOGZkcDRXMmJXUHN2b0dqR1hvU2xZbzc5Rkp3UmRXOFJEK2ZyM0E9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRWRU5EUW5SRFowRjNTVUpCWjBsVllUVjBTakV3ZVU0dlkzbHdPRlZhY1Rka2JWRnVTbTFRUldvMGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFUVRCTlZFVXhUVVJWZWxkb1kwNU5hbGwzVDBSQk1FMVVTWGROUkZWNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZoVjNBdldsZGxVRUV2Vm1kNGNEaEliVE15VUdZNU1rUkhaa3RzUjNWYVNURlZTRmNLTDJkdVYxaHhZbUZZY1VsRVJYWXJOVWRtTUVodVYxVnhLM015Y3pkdU5uSjNhRUZ0VjJWeWVERnRaelo0YWs1WmFrdFBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZOVVhCdkNtMUxWVmhUUlVkb1R6RlhjWEIyZUV0bGRDOVVNMGRSZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOWFSMWsxV1ZkR2JFMVVWbXBOVkZwc1RXMUZORnBFV1hkWk1rcG9DazlIVG10T1ZGVXhUVmRSZVUxcVRUTlBSMGw0VFRKT2JFNVVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMXBIV1RWWlYwWnNUVlJXYWsxVVdteE5iVVUwV2tSWmQxa3lTbWhQUjA1clRsUlZNVTFYVVhrS1RXcE5NMDlIU1hoTk1rNXNUbFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMXBIV1RWWlYwWnNUVlJXYWsxVVdteE5iVVUwV2tSWmQxa3lTbWdLVDBkT2EwNVVWVEZOVjFGNVRXcE5NMDlIU1hoTk1rNXNUbFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZFNiVTlYUm1nS1dsUkZNVmw2UlRKYVZFcG9UMGRSTWsxSFRtbFpWR2hxV2tSVk1VNVVSbXROYWtsNlRucG9hVTFVVG1wYVZGVjNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtFMVRVUlplazFVWXpWTlJFMTJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtNDRlV040UmpCQlFVRlJSQXBCUlZsM1VrRkpaMDF4YkVaRVEybGtaSEU0TW1SQmEwRXlTM0ZuU2k5cU5qQmxTWGQyWjBjdmNWWm1ObXB5TkM5ck0wbERTVWM0VEdVek4xaGpkbVJDQ2xFM1ZIWTVhSFZLY1RodldHdEVURkJyU0VoMlpXTmllSG93ZGpVeWVUaElUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlZMEZOUjFGRFRVUlVVVmhWU2tFS2N6QnFPWFY0U0hGM1JEQk1XazU2UTIxMVJtOTFlVGxpWm1sclFYTnJNRGhvUWtWMk9VMVlOMlUxZERJMk1ubFdjR1pMVjJwaFRUTlJRVWwzVEVWUlp3cGplREZuTWtkWFRDdHFXVTk0UW1oeWFrUkJWalJRUWpSb1RUQndOMFZJY0ZWcmJIUk9ha1ZUVlc5WVRFbEdVVWRWTjFKdGNHUmtUMGhQYUU4S0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgvvFsIASgDU2vfYd8U4PtRwTmKKhuY04aCx1yqoEk3mcCFQC/q97s1bNVHWCtJrqZ8bRnT9HoHxgPMjAyNjA4MDQxMTUwNTNaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgwNDExNTA1M1owLwYJKoZIhvcNAQkEMSIEIImfCktH6A1Md2lzhZS/0ll5J5s3lVUEjUjbl7aB3/uIMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMDQ3L0Uc8ur+JPM6+sAywEhxAF2v+L0hgipougSDpoCpc4EyJn11ycSw1AanMdhPXAIwFn4CdUZhKoeDCy0vpJU+EeZ6df7pb4EgKz7pKToGtZ7/XqVQXGF2fuNadf82/o2+"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"sHspNse6dZkWBO58WdQ9Y3fReI/tnVRSPIPajyTQb2M="},"signature":"MEQCID3M38R3Pu1/2ZeVaK8YFzp3Zrw3Glq7WFQgrlpvnDNvAiAxalsR8fdp4W2bWPsvoGjGXoSlYo79FJwRdW8RD+fr3A=="}}