Add spdx identifier to end of license header

Signed-off-by: Daniel Lim Wee Soong <weesoong.lim@gmail.com>
diff --git a/tests/carry/carry.sim.v b/tests/carry/carry.sim.v
index cefccdf..e49685d 100644
--- a/tests/carry/carry.sim.v
+++ b/tests/carry/carry.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `default_nettype none
diff --git a/tests/carry/cblock/cblock.sim.v b/tests/carry/cblock/cblock.sim.v
index 94aff97..75f6f36 100644
--- a/tests/carry/cblock/cblock.sim.v
+++ b/tests/carry/cblock/cblock.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `default_nettype none
diff --git a/tests/clocks/dff_comb_one_clock/dff_comb_one_clock.sim.v b/tests/clocks/dff_comb_one_clock/dff_comb_one_clock.sim.v
index 768ac39..6a6a355 100644
--- a/tests/clocks/dff_comb_one_clock/dff_comb_one_clock.sim.v
+++ b/tests/clocks/dff_comb_one_clock/dff_comb_one_clock.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/dff_comb_one_clock/golden.pb_type.xml b/tests/clocks/dff_comb_one_clock/golden.pb_type.xml
deleted file mode 100644
index a64b996..0000000
--- a/tests/clocks/dff_comb_one_clock/golden.pb_type.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<pb_type xmlns:xi="http://www.w3.org/2001/XInclude" name="DFF_COMB_ONE_CLOCK" blif_model=".subckt DFF_COMB_ONE_CLOCK" num_pb="1">
-  <input name="a" num_pins="1"/>
-  <input name="b" num_pins="1"/>
-  <input name="c" num_pins="1"/>
-  <output name="d" num_pins="1"/>
-</pb_type>
diff --git a/tests/clocks/dff_one_clock/dff_one_clock.sim.v b/tests/clocks/dff_one_clock/dff_one_clock.sim.v
index 7e4f814..4549365 100644
--- a/tests/clocks/dff_one_clock/dff_one_clock.sim.v
+++ b/tests/clocks/dff_one_clock/dff_one_clock.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/dff_two_clocks/dff_two_clocks.sim.v b/tests/clocks/dff_two_clocks/dff_two_clocks.sim.v
index 00fc70f..4d27af3 100644
--- a/tests/clocks/dff_two_clocks/dff_two_clocks.sim.v
+++ b/tests/clocks/dff_two_clocks/dff_two_clocks.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 module BLOCK(c1, c2, a, b, c, o1, o2);
diff --git a/tests/clocks/input_attr_clock/input_attr_clock.sim.v b/tests/clocks/input_attr_clock/input_attr_clock.sim.v
index 15765a4..57b744d 100644
--- a/tests/clocks/input_attr_clock/input_attr_clock.sim.v
+++ b/tests/clocks/input_attr_clock/input_attr_clock.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/input_attr_not_clock/block.sim.v b/tests/clocks/input_attr_not_clock/block.sim.v
index a20f773..856cdd0 100644
--- a/tests/clocks/input_attr_not_clock/block.sim.v
+++ b/tests/clocks/input_attr_not_clock/block.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/input_named_clk/input_named_clk.sim.v b/tests/clocks/input_named_clk/input_named_clk.sim.v
index f7bca3e..e730c87 100644
--- a/tests/clocks/input_named_clk/input_named_clk.sim.v
+++ b/tests/clocks/input_named_clk/input_named_clk.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/input_named_rdclk/input_named_rdclk.sim.v b/tests/clocks/input_named_rdclk/input_named_rdclk.sim.v
index fb85836..9ebb2cf 100644
--- a/tests/clocks/input_named_rdclk/input_named_rdclk.sim.v
+++ b/tests/clocks/input_named_rdclk/input_named_rdclk.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/input_named_regex/block.sim.v b/tests/clocks/input_named_regex/block.sim.v
index 85b348d..bbb5838 100644
--- a/tests/clocks/input_named_regex/block.sim.v
+++ b/tests/clocks/input_named_regex/block.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/clocks/multiple_inputs_named_clk/multiple_inputs_named_clk.sim.v b/tests/clocks/multiple_inputs_named_clk/multiple_inputs_named_clk.sim.v
index ccce549..e8146e5 100644
--- a/tests/clocks/multiple_inputs_named_clk/multiple_inputs_named_clk.sim.v
+++ b/tests/clocks/multiple_inputs_named_clk/multiple_inputs_named_clk.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/multiple_outputs_named_clk/multiple_outputs_named_clk.sim.v b/tests/clocks/multiple_outputs_named_clk/multiple_outputs_named_clk.sim.v
index d2f23f3..6ce6f50 100644
--- a/tests/clocks/multiple_outputs_named_clk/multiple_outputs_named_clk.sim.v
+++ b/tests/clocks/multiple_outputs_named_clk/multiple_outputs_named_clk.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/output_attr_clock/output_attr_clock.sim.v b/tests/clocks/output_attr_clock/output_attr_clock.sim.v
index 6a7f143..fc3b6bc 100644
--- a/tests/clocks/output_attr_clock/output_attr_clock.sim.v
+++ b/tests/clocks/output_attr_clock/output_attr_clock.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/output_named_clk/output_named_clk.sim.v b/tests/clocks/output_named_clk/output_named_clk.sim.v
index 101e8b3..331a5a4 100644
--- a/tests/clocks/output_named_clk/output_named_clk.sim.v
+++ b/tests/clocks/output_named_clk/output_named_clk.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/clocks/output_named_rdclk/output_named_rdclk.sim.v b/tests/clocks/output_named_rdclk/output_named_rdclk.sim.v
index 2241dc3..ef20d94 100644
--- a/tests/clocks/output_named_rdclk/output_named_rdclk.sim.v
+++ b/tests/clocks/output_named_rdclk/output_named_rdclk.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /*
diff --git a/tests/dsp/dsp_combinational/dsp_combinational.sim.v b/tests/dsp/dsp_combinational/dsp_combinational.sim.v
index 842bd6d..635eef3 100644
--- a/tests/dsp/dsp_combinational/dsp_combinational.sim.v
+++ b/tests/dsp/dsp_combinational/dsp_combinational.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `ifndef DSP_COMB
diff --git a/tests/dsp/dsp_in_registered/dsp_in_registered.sim.v b/tests/dsp/dsp_in_registered/dsp_in_registered.sim.v
index 1a07390..930674d 100644
--- a/tests/dsp/dsp_in_registered/dsp_in_registered.sim.v
+++ b/tests/dsp/dsp_in_registered/dsp_in_registered.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "../../vtr/dff/dff.sim.v"
diff --git a/tests/dsp/dsp_inout_registered/dsp_inout_registered.sim.v b/tests/dsp/dsp_inout_registered/dsp_inout_registered.sim.v
index 8567242..87b0164 100644
--- a/tests/dsp/dsp_inout_registered/dsp_inout_registered.sim.v
+++ b/tests/dsp/dsp_inout_registered/dsp_inout_registered.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "../../vtr/dff/dff.sim.v"
diff --git a/tests/dsp/dsp_inout_registered_dualclk/dsp_inout_registered_dualclk.sim.v b/tests/dsp/dsp_inout_registered_dualclk/dsp_inout_registered_dualclk.sim.v
index 4ec821b..4a928a9 100644
--- a/tests/dsp/dsp_inout_registered_dualclk/dsp_inout_registered_dualclk.sim.v
+++ b/tests/dsp/dsp_inout_registered_dualclk/dsp_inout_registered_dualclk.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "../../vtr/dff/dff.sim.v"
diff --git a/tests/dsp/dsp_modes/dsp_modes.sim.v b/tests/dsp/dsp_modes/dsp_modes.sim.v
index b284b48..f93b858 100644
--- a/tests/dsp/dsp_modes/dsp_modes.sim.v
+++ b/tests/dsp/dsp_modes/dsp_modes.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "../dsp_combinational/dsp_combinational.sim.v"
diff --git a/tests/dsp/dsp_out_registered/dsp_out_registered.sim.v b/tests/dsp/dsp_out_registered/dsp_out_registered.sim.v
index c159810..f6c8cfa 100644
--- a/tests/dsp/dsp_out_registered/dsp_out_registered.sim.v
+++ b/tests/dsp/dsp_out_registered/dsp_out_registered.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "../../vtr/dff/dff.sim.v"
diff --git a/tests/dsp/dsp_partial_registered/dsp_partial_registered.sim.v b/tests/dsp/dsp_partial_registered/dsp_partial_registered.sim.v
index 4123b59..3ee235e 100644
--- a/tests/dsp/dsp_partial_registered/dsp_partial_registered.sim.v
+++ b/tests/dsp/dsp_partial_registered/dsp_partial_registered.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "../../vtr/dff/dff.sim.v"
diff --git a/tests/internal_conn/child/child.sim.v b/tests/internal_conn/child/child.sim.v
index 097f318..9867f80 100644
--- a/tests/internal_conn/child/child.sim.v
+++ b/tests/internal_conn/child/child.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* blackbox *)
diff --git a/tests/internal_conn/parent.sim.v b/tests/internal_conn/parent.sim.v
index b02adcf..6d10ee1 100644
--- a/tests/internal_conn/parent.sim.v
+++ b/tests/internal_conn/parent.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "./child/child.sim.v"
diff --git a/tests/io/input/ipad.sim.v b/tests/io/input/ipad.sim.v
index 14d8555..76c88d4 100644
--- a/tests/io/input/ipad.sim.v
+++ b/tests/io/input/ipad.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* CLASS="input" *)
diff --git a/tests/io/output/opad.sim.v b/tests/io/output/opad.sim.v
index 5bcc953..f82b7f0 100644
--- a/tests/io/output/opad.sim.v
+++ b/tests/io/output/opad.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* CLASS="output" *)
diff --git a/tests/logicbox/logicbox.sim.v b/tests/logicbox/logicbox.sim.v
index 9f412ec..b850219 100644
--- a/tests/logicbox/logicbox.sim.v
+++ b/tests/logicbox/logicbox.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/modes/inv.sim.v b/tests/modes/inv.sim.v
index 45ae6e5..893673f 100644
--- a/tests/modes/inv.sim.v
+++ b/tests/modes/inv.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "./not/not.sim.v"
diff --git a/tests/modes/not/not.sim.v b/tests/modes/not/not.sim.v
index 25e6096..760a2ca 100644
--- a/tests/modes/not/not.sim.v
+++ b/tests/modes/not/not.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/multiple_instance/multiple_instance.sim.v b/tests/multiple_instance/multiple_instance.sim.v
index 2883226..ab3423a 100644
--- a/tests/multiple_instance/multiple_instance.sim.v
+++ b/tests/multiple_instance/multiple_instance.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "../vtr/full-adder/adder.sim.v"
diff --git a/tests/muxes/use_mux.sim.v b/tests/muxes/use_mux.sim.v
index d2836f5..5b256fa 100644
--- a/tests/muxes/use_mux.sim.v
+++ b/tests/muxes/use_mux.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "routing/rmux.sim.v"
diff --git a/tests/net_attr/child/child.sim.v b/tests/net_attr/child/child.sim.v
index 89cd10e..dc71b17 100644
--- a/tests/net_attr/child/child.sim.v
+++ b/tests/net_attr/child/child.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 module CHILD(
diff --git a/tests/net_attr/parent.sim.v b/tests/net_attr/parent.sim.v
index 23f6d8f..84d80bc 100644
--- a/tests/net_attr/parent.sim.v
+++ b/tests/net_attr/parent.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "./child/child.sim.v"
diff --git a/tests/no_comb/ff.sim.v b/tests/no_comb/ff.sim.v
index 9ef62c3..d5c8507 100644
--- a/tests/no_comb/ff.sim.v
+++ b/tests/no_comb/ff.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/simple_pll/simple_pll.sim.v b/tests/simple_pll/simple_pll.sim.v
index 20c77b9..e7e6324 100644
--- a/tests/simple_pll/simple_pll.sim.v
+++ b/tests/simple_pll/simple_pll.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 /* Simple model of a PLL which divides the input block by 64 */
diff --git a/tests/vtr/dff/dff.sim.v b/tests/vtr/dff/dff.sim.v
index 8e4e2ab..91c1c12 100644
--- a/tests/vtr/dff/dff.sim.v
+++ b/tests/vtr/dff/dff.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/vtr/full-adder/adder.sim.v b/tests/vtr/full-adder/adder.sim.v
index 42c598d..c07e0e1 100644
--- a/tests/vtr/full-adder/adder.sim.v
+++ b/tests/vtr/full-adder/adder.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/vtr/lutff-pair/ff/ff.sim.v b/tests/vtr/lutff-pair/ff/ff.sim.v
index a65454f..8eb2141 100644
--- a/tests/vtr/lutff-pair/ff/ff.sim.v
+++ b/tests/vtr/lutff-pair/ff/ff.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/vtr/lutff-pair/lut/lut4.sim.v b/tests/vtr/lutff-pair/lut/lut4.sim.v
index 607117f..d8b9487 100644
--- a/tests/vtr/lutff-pair/lut/lut4.sim.v
+++ b/tests/vtr/lutff-pair/lut/lut4.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 (* whitebox *)
diff --git a/tests/vtr/lutff-pair/pair.sim.v b/tests/vtr/lutff-pair/pair.sim.v
index bcf4485..025bea2 100644
--- a/tests/vtr/lutff-pair/pair.sim.v
+++ b/tests/vtr/lutff-pair/pair.sim.v
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a ISC-style
  * license that can be found in the LICENSE file or at
  * https://opensource.org/licenses/ISC
+ *
+ * SPDX-License-Identifier:	ISC
  */
 
 `include "lut/lut4.sim.v"
diff --git a/v2x/lib/asserts.py b/v2x/lib/asserts.py
index c15f60a..18bacb0 100644
--- a/v2x/lib/asserts.py
+++ b/v2x/lib/asserts.py
@@ -13,6 +13,8 @@
 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# SPDX-License-Identifier: ISC
 
 
 def __safe_call(f, a):