diff --git a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.context.json b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.context.json index cccfcd126..b836d1fd4 100644 --- a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.context.json +++ b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.context.json @@ -1,10 +1,10 @@ { "program_name": "fxp-net_linux-networking", - "build_date": "Fri Mar 28 18:29:15 2025", - "compile_command": "/opt/p4-tools/p4c/bin/p4c-pna-xxp -I /opt/p4-tools/p4c/share/p4c/p4c_src/../idpf-lib --Wdisable --lem-obj0-constraint off --no-pedantic --context ./artifacts/fxp-net_linux-networking/context.json --tdi ./artifacts/fxp-net_linux-networking/tdi.json --p4runtime-entries-files ./artifacts/fxp-net_linux-networking/entries.json --lem-obj0-constraint on -I /opt/p4-tools/p4c/share/p4c/p4include -I /../lib -I /../share/p4c/p4include/idpf -I /../share/p4c/p4include -I /../share/p4c/idpf-lib --p4v=16 --p4runtime-files ./artifacts/fxp-net_linux-networking/p4Info.txt --pkg-name Sample P4 Program pkg --pkg-version 1.0.73.35 -o artifacts/fxp-net_linux-networking/fxp-net_linux-networking_b7d817976ac249c199add187f57e0114.s /artifact/fxp-net-scenarios/fxp-net_linux-networking/fxp-net_linux-networking.p4", - "compiler_version": "3.0.70.134", + "build_date": "Mon Jan 6 21:05:26 2025", + "compile_command": "/opt/p4-tools/p4c/bin/p4c-pna-xxp -I /opt/p4-tools/p4c/share/p4c/p4c_src/../idpf-lib --Wdisable --no-pedantic --context ./artifacts/fxp-net_linux-networking/context.json --tdi ./artifacts/fxp-net_linux-networking/tdi.json --p4runtime-entries-files ./artifacts/fxp-net_linux-networking/entries.json -I /opt/p4-tools/p4c/share/p4c/p4include -I /opt/p4-tools/p4c/bin/../lib -I /opt/p4-tools/p4c/bin/../share/p4c/p4include/idpf -I /opt/p4-tools/p4c/bin/../share/p4c/p4include -I /opt/p4-tools/p4c/bin/../share/p4c/idpf-lib --p4v=16 --p4runtime-files ./artifacts/fxp-net_linux-networking/p4Info.txt --pkg-name Sample P4 Program pkg --pkg-version 1.0.73.35 -o artifacts/fxp-net_linux-networking/fxp-net_linux-networking_6d71633f35b94c0c952ccb075030d17d.s /artifacts/fxp-net-scenarios/fxp-net_linux-networking/fxp-net_linux-networking.p4", + "compiler_version": "3.0.70.124", "schema_version": "1.0.0", - "run_id": "125328182611", + "run_id": "1251621157", "target": "MEV", "global_configs": { "hardware_blocks": [ @@ -69,8 +69,7 @@ ] } ], - "count_mode": 60, - "mirror_mode": 0 + "count_mode": 60 }, "tables": [ { @@ -104,7 +103,6 @@ "profile": [ 0 ], - "obj_id": 0, "hash_size": 12, "action_format": [ { @@ -149,7 +147,6 @@ "profile": [ 1 ], - "obj_id": 0, "hash_size": 12, "action_format": [ { @@ -259,7 +256,6 @@ "profile": [ 10 ], - "obj_id": 0, "hash_size": 325632, "action_format": [ { @@ -775,6 +771,13 @@ "action_handle": 19361592, "immediate_fields": [], "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, { "prec": 7, "action_code": "SET1B_24b", @@ -784,13 +787,6 @@ "mask": 1, "type_id": 4, "offset": 0 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 } ] } @@ -800,6 +796,13 @@ "action_name": "linux_networking_control.do_trap_enable", "action_handle": 19361592, "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, { "prec": 7, "action_code": "SET1B_24b", @@ -809,13 +812,6 @@ "mask": 1, "type_id": 4, "offset": 0 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 } ] } @@ -5577,7 +5573,7 @@ "bit_width": 32 } ], - "default_action_handle": 21790705, + "default_action_handle": 21257015, "max_default_actions": 2, "actions": [ { @@ -5639,6 +5635,15 @@ { "name": "linux_networking_control.trap_enable", "handle": 21790705, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, "constant_default_action": true, "is_compiler_added_action": false, "allowed_as_hit_action": false, @@ -5820,31 +5825,13 @@ "action_handle": 21790705, "immediate_fields": [], "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 1, - "mask": 1, - "type_id": 4, - "offset": 0 - }, { "prec": 7, "action_code": "SET10_1b", "index": 0, "value": 64, "mask": 112 - } - ] - } - ], - "default_action_format": [ - { - "action_name": "linux_networking_control.trap_enable", - "action_handle": 21790705, - "hw_actions_list": [ + }, { "prec": 7, "action_code": "SET1B_24b", @@ -5854,15 +5841,14 @@ "mask": 1, "type_id": 4, "offset": 0 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 } ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] } ] } @@ -6255,7 +6241,6 @@ "profile": [ 1 ], - "obj_id": 0, "hash_size": 325632, "action_format": [ { @@ -6367,6 +6352,13 @@ } ], "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, { "prec": 7, "action_code": "SET1B_24b", @@ -6395,13 +6387,6 @@ "mask": 16, "type_id": 4, "offset": 0 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 } ] }, @@ -6410,16 +6395,6 @@ "action_handle": 21283156, "immediate_fields": [], "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 1, - "mask": 1, - "type_id": 4, - "offset": 0 - }, { "prec": 1, "action_code": "SET1A_24b", @@ -6433,6 +6408,16 @@ "index": 0, "value": 64, "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 } ] } @@ -6442,16 +6427,6 @@ "action_name": "linux_networking_control.fwd_to_cp", "action_handle": 21283156, "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 1, - "mask": 1, - "type_id": 4, - "offset": 0 - }, { "prec": 1, "action_code": "SET1A_24b", @@ -6465,6 +6440,16 @@ "index": 0, "value": 64, "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 } ] } @@ -6714,7 +6699,6 @@ "profile": [ 4 ], - "obj_id": 0, "hash_size": 325632, "action_format": [ { @@ -7460,16 +7444,6 @@ "action_handle": 20441854, "immediate_fields": [], "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 1, - "mask": 1, - "type_id": 4, - "offset": 0 - }, { "prec": 1, "action_code": "SET1A_24b", @@ -7494,6 +7468,16 @@ "action_code": "SET1A_24b", "index": 4, "pool_id": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 } ] } @@ -7503,16 +7487,6 @@ "action_name": "linux_networking_control.fwd_to_cp_tx", "action_handle": 20441854, "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 1, - "mask": 1, - "type_id": 4, - "offset": 0 - }, { "prec": 1, "action_code": "SET1A_24b", @@ -7537,6 +7511,16 @@ "action_code": "SET1A_24b", "index": 4, "pool_id": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 } ] } @@ -7706,6 +7690,39 @@ } ], "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 5, + "pool_id": 1 + }, { "prec": 7, "action_code": "SET1B_24b", @@ -7725,9 +7742,11 @@ "offset": 7 }, { - "prec": 3, - "action_code": "SET2_8b", - "index": 11 + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 }, { "prec": 7, @@ -7776,34 +7795,6 @@ "mask": 7, "type_id": 5, "offset": 5 - }, - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 9, - "mod_profile": 3, - "prefetch": 0 - }, - { - "prec": 7, - "action_code": "SET1_16b", - "index": 2, - "parameters": [ - { - "param_name": "egress_port", - "param_handle": 1, - "param_start_bit": 0, - "param_value_length": 32, - "value_start_bit": 0, - "byte_order": "HOST" - } - ] - }, - { - "prec": 3, - "action_code": "SET1A_24b", - "index": 5, - "pool_id": 1 } ] }, @@ -7834,6 +7825,13 @@ } ], "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, { "prec": 7, "action_code": "SET1B_24b", @@ -7852,13 +7850,6 @@ "type_id": 4, "offset": 7 }, - { - "prec": 0, - "action_code": "NOP", - "index": 0, - "value": 0, - "mask": 0 - }, { "prec": 7, "action_code": "SET1B_24b", @@ -7900,13 +7891,6 @@ "mask": 255, "type_id": 4, "offset": 1 - }, - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 9, - "mod_profile": 3, - "prefetch": 0 } ] }, @@ -8059,40 +8043,61 @@ } ], "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, { "prec": 7, - "action_code": "SET1B_24b", + "action_code": "SET1_16b", + "encoding_grp": 8, + "encoding_port": "VSI", "index": 2, - "setmd_action_code": "SET_16b", "parameters": [ { - "param_name": "dmac_high", - "param_handle": 2, + "param_name": "egress_port", + "param_handle": 1, "param_start_bit": 0, - "param_value_length": 16, + "param_value_length": 32, "value_start_bit": 0, "byte_order": "HOST" } - ], - "type_id": 4, - "offset": 7 + ] }, { - "prec": 0, - "action_code": "NOP", + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 8, + "encoding_port": "VSI", "index": 0, - "value": 0, - "mask": 0 + "value": 4, + "mask": 4 }, { "prec": 7, "action_code": "SET1B_24b", - "index": 3, - "setmd_action_code": "SET_32b_AUX", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 9, + "encoding_port": "PORT", + "index": 2, "parameters": [ { - "param_name": "dmac_low", - "param_handle": 3, + "param_name": "egress_port", + "param_handle": 1, "param_start_bit": 0, "param_value_length": 32, "value_start_bit": 0, @@ -8100,55 +8105,33 @@ } ] }, - { - "prec": 7, - "action_code": "AUX_DATA", - "index": 3, - "type_id": 4, - "offset": 10 - }, { "prec": 7, "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_16b_AUX", + "index": 1, + "setmd_action_code": "SET_16b", "parameters": [ { - "param_name": "router_interface_id", - "param_handle": 0, + "param_name": "dmac_high", + "param_handle": 2, "param_start_bit": 0, "param_value_length": 16, "value_start_bit": 0, "byte_order": "HOST" } ], - "mask": 255 - }, - { - "prec": 7, - "action_code": "AUX_DATA", - "index": 0, - "mask": 7, - "type_id": 5, - "offset": 5 - }, - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 9, - "mod_profile": 3, - "prefetch": 0 + "type_id": 4, + "offset": 7 }, { "prec": 7, - "action_code": "SET1_16b", - "encoding_grp": 8, - "encoding_port": "VSI", + "action_code": "SET1B_24b", "index": 2, + "setmd_action_code": "SET_32b_AUX", "parameters": [ { - "param_name": "egress_port", - "param_handle": 1, + "param_name": "dmac_low", + "param_handle": 3, "param_start_bit": 0, "param_value_length": 32, "value_start_bit": 0, @@ -8158,41 +8141,35 @@ }, { "prec": 7, - "action_code": "SET10_1b", - "encoding_grp": 8, - "encoding_port": "VSI", - "index": 0, - "value": 4, - "mask": 4 + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 10 }, { "prec": 7, "action_code": "SET1B_24b", - "encoding_grp": 8, - "encoding_port": "VSI", - "index": 1, - "setmd_action_code": "SET_8b", - "value": 2, - "mask": 2, - "type_id": 0, - "offset": 0 - }, - { - "prec": 7, - "action_code": "SET1_16b", - "encoding_grp": 9, - "encoding_port": "PORT", - "index": 2, + "index": 3, + "setmd_action_code": "SET_16b_AUX", "parameters": [ { - "param_name": "egress_port", - "param_handle": 1, + "param_name": "router_interface_id", + "param_handle": 0, "param_start_bit": 0, - "param_value_length": 32, + "param_value_length": 16, "value_start_bit": 0, "byte_order": "HOST" } - ] + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "mask": 7, + "type_id": 5, + "offset": 5 } ] }, @@ -8356,46 +8333,6 @@ } ], "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_16b_AUX", - "parameters": [ - { - "param_name": "router_interface_id", - "param_handle": 0, - "param_start_bit": 0, - "param_value_length": 16, - "value_start_bit": 0, - "byte_order": "HOST" - } - ], - "mask": 255 - }, - { - "prec": 7, - "action_code": "AUX_DATA", - "index": 0, - "mask": 7, - "type_id": 5, - "offset": 5 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 2, - "setmd_action_code": "SET_8b_AUX", - "value": 192, - "mask": 192 - }, - { - "prec": 7, - "action_code": "AUX_DATA", - "index": 2, - "type_id": 0, - "offset": 27 - }, { "prec": 7, "action_code": "SET1_16b", @@ -8427,7 +8364,7 @@ "action_code": "SET1B_24b", "encoding_grp": 10, "encoding_port": "VSI", - "index": 1, + "index": 0, "setmd_action_code": "SET_8b", "value": 2, "mask": 2, @@ -8450,6 +8387,46 @@ "byte_order": "HOST" } ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "mask": 7, + "type_id": 5, + "offset": 5 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b_AUX", + "value": 192, + "mask": 192 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 0, + "offset": 27 } ] }, @@ -8461,7 +8438,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 2, + "index": 0, "setmd_action_code": "SET_8b_AUX", "value": 192, "mask": 192 @@ -8469,7 +8446,7 @@ { "prec": 7, "action_code": "AUX_DATA", - "index": 2, + "index": 0, "type_id": 0, "offset": 27 } @@ -8771,7 +8748,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 1, + "index": 0, "setmd_action_code": "SET_16b", "parameters": [ { @@ -8789,7 +8766,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 2, + "index": 1, "setmd_action_code": "SET_8b", "value": 32, "mask": 32, @@ -8814,7 +8791,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 1, + "index": 0, "setmd_action_code": "SET_16b", "parameters": [ { @@ -8832,7 +8809,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 2, + "index": 1, "setmd_action_code": "SET_8b", "value": 8, "mask": 8, @@ -9109,7 +9086,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 1, + "index": 0, "setmd_action_code": "SET_16b", "parameters": [ { @@ -9127,7 +9104,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 2, + "index": 1, "setmd_action_code": "SET_8b", "value": 32, "mask": 32, @@ -9152,7 +9129,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 1, + "index": 0, "setmd_action_code": "SET_16b", "parameters": [ { @@ -9170,7 +9147,7 @@ { "prec": 7, "action_code": "SET1B_24b", - "index": 2, + "index": 1, "setmd_action_code": "SET_8b", "value": 8, "mask": 8, @@ -9234,16 +9211,16 @@ "bit_width": 16 } ], - "default_action_handle": 32890467, + "default_action_handle": 29238102, "max_default_actions": 2, "actions": [ { "name": "linux_networking_control.set_source_port", "handle": 32890467, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": false, - "allowed_as_default_action": true, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, "p4_parameters": [ { "name": "source_port", @@ -9254,10 +9231,10 @@ { "name": "linux_networking_control.drop", "handle": 29238102, - "constant_default_action": false, + "constant_default_action": true, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, "p4_parameters": [] } ], @@ -9324,17 +9301,15 @@ ], "default_action_format": [ { - "action_name": "linux_networking_control.set_source_port", - "action_handle": 32890467, + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, "hw_actions_list": [ { "prec": 7, - "action_code": "SET1B_24b", - "index": 1, - "setmd_action_code": "SET_16b", - "value": 0, - "type_id": 4, - "offset": 4 + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 } ] } @@ -9387,7 +9362,7 @@ "bit_width": 32 } ], - "default_action_handle": 29238102, + "default_action_handle": 32890467, "max_default_actions": 2, "actions": [ { @@ -9395,8 +9370,8 @@ "handle": 32890467, "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, "p4_parameters": [ { "name": "source_port", @@ -9407,10 +9382,10 @@ { "name": "linux_networking_control.drop", "handle": 29238102, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": false, - "allowed_as_default_action": true, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, "p4_parameters": [] } ], @@ -9477,15 +9452,17 @@ ], "default_action_format": [ { - "action_name": "linux_networking_control.drop", - "action_handle": 29238102, + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, "hw_actions_list": [ { "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 1, - "mask": 1 + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "value": 0, + "type_id": 4, + "offset": 4 } ] } @@ -9689,15 +9666,15 @@ "bit_width": 16 } ], - "default_action_handle": 31939992, + "default_action_handle": 29238102, "actions": [ { "name": "linux_networking_control.set_bridge_id", "handle": 31939992, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": false, - "allowed_as_default_action": true, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, "p4_parameters": [ { "name": "bridge_id", @@ -9708,10 +9685,10 @@ { "name": "linux_networking_control.drop", "handle": 29238102, - "constant_default_action": false, + "constant_default_action": true, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, "p4_parameters": [] } ], @@ -9787,18 +9764,15 @@ ], "default_action_format": [ { - "action_name": "linux_networking_control.set_bridge_id", - "action_handle": 31939992, + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, "hw_actions_list": [ { "prec": 7, - "action_code": "SET1B_24b", + "action_code": "SET10_1b", "index": 0, - "setmd_action_code": "SET_8b", - "value": 77, - "mask": 255, - "type_id": 5, - "offset": 4 + "value": 1, + "mask": 1 } ] } @@ -9809,7 +9783,7 @@ }, { "table_type": "match", - "direction": "BIDIRECTIONAL", + "direction": "TX", "handle": 46342225, "name": "linux_networking_control.l2_fwd_smac_table", "size": 1024, @@ -9881,7 +9855,6 @@ "profile": [ 9 ], - "obj_id": 0, "hash_size": 325632, "action_format": [ { @@ -9895,16 +9868,6 @@ "action_handle": 21283156, "immediate_fields": [], "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 1, - "mask": 1, - "type_id": 4, - "offset": 0 - }, { "prec": 1, "action_code": "SET1A_24b", @@ -9918,6 +9881,16 @@ "index": 0, "value": 64, "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 } ] } @@ -9927,16 +9900,6 @@ "action_name": "linux_networking_control.fwd_to_cp", "action_handle": 21283156, "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 1, - "mask": 1, - "type_id": 4, - "offset": 0 - }, { "prec": 1, "action_code": "SET1A_24b", @@ -9950,6 +9913,16 @@ "index": 0, "value": 64, "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 } ] } @@ -10002,16 +9975,16 @@ "bit_width": 16 } ], - "default_action_handle": 31624713, + "default_action_handle": 29238102, "max_default_actions": 4, "actions": [ { "name": "linux_networking_control.l2_fwd_and_bypass_bridge", "handle": 31624713, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": false, - "allowed_as_default_action": true, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, "p4_parameters": [ { "name": "port", @@ -10022,10 +9995,10 @@ { "name": "linux_networking_control.drop", "handle": 29238102, - "constant_default_action": false, + "constant_default_action": true, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, "p4_parameters": [] } ], @@ -10055,16 +10028,6 @@ } ], "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 16, - "mask": 16, - "type_id": 5, - "offset": 3 - }, { "prec": 7, "action_code": "SET1_16b", @@ -10079,6 +10042,16 @@ "byte_order": "HOST" } ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 5, + "offset": 3 } ] }, @@ -10099,25 +10072,15 @@ ], "default_action_format": [ { - "action_name": "linux_networking_control.l2_fwd_and_bypass_bridge", - "action_handle": 31624713, + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, "hw_actions_list": [ { "prec": 7, - "action_code": "SET1B_24b", + "action_code": "SET10_1b", "index": 0, - "setmd_action_code": "SET_8b", - "value": 16, - "mask": 16, - "type_id": 5, - "offset": 3 - }, - { - "prec": 7, - "action_code": "SET1_16b", - "index": 2, - "value": 0, - "type": "SINGLETON_PORT" + "value": 1, + "mask": 1 } ] } @@ -10357,6 +10320,20 @@ } ], "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, { "prec": 7, "action_code": "SET1B_24b", @@ -10399,13 +10376,6 @@ "mask": 7, "type_id": 4, "offset": 4 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 } ] }, @@ -10580,6 +10550,20 @@ } ], "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, { "prec": 7, "action_code": "SET1B_24b", @@ -10681,13 +10665,6 @@ "mask": 4, "type_id": 4, "offset": 0 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 } ] }, @@ -10783,12 +10760,12 @@ "bit_width": 16 } ], - "default_action_handle": 26092385, + "default_action_handle": 29238102, "max_default_actions": 2, "actions": [ { - "name": "linux_networking_control.mirror_and_send", - "handle": 20004960, + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, "constant_default_action": false, "is_compiler_added_action": false, "allowed_as_hit_action": true, @@ -10797,34 +10774,16 @@ { "name": "port", "bit_width": 32 - }, - { - "name": "mirror_session_id", - "bit_width": 16 } ] }, { - "name": "linux_networking_control.fwd_to_vsi", - "handle": 26092385, + "name": "linux_networking_control.drop", + "handle": 29238102, "constant_default_action": true, "is_compiler_added_action": false, "allowed_as_hit_action": false, "allowed_as_default_action": true, - "p4_parameters": [ - { - "name": "port", - "bit_width": 32 - } - ] - }, - { - "name": "linux_networking_control.drop", - "handle": 29238102, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, "p4_parameters": [] } ], @@ -10842,8 +10801,8 @@ "hash_size": 325632, "action_format": [ { - "action_name": "linux_networking_control.mirror_and_send", - "action_handle": 20004960, + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, "immediate_fields": [ { "param_name": "port", @@ -10851,37 +10810,9 @@ "dest_start": 0, "start_bit_offset": 0, "dest_width": 32 - }, - { - "param_name": "mirror_session_id", - "param_handle": 1, - "dest_start": 4, - "start_bit_offset": 0, - "dest_width": 16 } ], "hw_actions_list": [ - { - "action_code": "SET2_8b", - "index": 12, - "prec": 1, - "post_mod_msk": 1 - }, - { - "prec": 7, - "action_code": "SET2_8b", - "index": 3, - "parameters": [ - { - "param_name": "mirror_session_id", - "param_handle": 1, - "param_start_bit": 0, - "param_value_length": 16, - "value_start_bit": 0, - "byte_order": "HOST" - } - ] - }, { "prec": 7, "action_code": "SET1_16b", @@ -10901,38 +10832,6 @@ } ] }, - { - "action_name": "linux_networking_control.fwd_to_vsi", - "action_handle": 26092385, - "immediate_fields": [ - { - "param_name": "port", - "param_handle": 0, - "dest_start": 0, - "start_bit_offset": 0, - "dest_width": 32 - } - ], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1_16b", - "encoding_grp": 14, - "encoding_port": "VSI", - "index": 2, - "parameters": [ - { - "param_name": "port", - "param_handle": 0, - "param_start_bit": 0, - "param_value_length": 32, - "value_start_bit": 0, - "byte_order": "HOST" - } - ] - } - ] - }, { "action_name": "linux_networking_control.drop", "action_handle": 29238102, @@ -10950,17 +10849,15 @@ ], "default_action_format": [ { - "action_name": "linux_networking_control.fwd_to_vsi", - "action_handle": 26092385, + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, "hw_actions_list": [ { "prec": 7, - "action_code": "SET1_16b", - "encoding_grp": 17, - "encoding_port": "VSI", - "index": 2, - "value": 28, - "type": "SINGLETON_VSI" + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 } ] } @@ -11013,16 +10910,16 @@ "bit_width": 16 } ], - "default_action_handle": 26092385, + "default_action_handle": 29238102, "max_default_actions": 4, "actions": [ { "name": "linux_networking_control.fwd_to_vsi", "handle": 26092385, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": false, - "allowed_as_default_action": true, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, "p4_parameters": [ { "name": "port", @@ -11033,10 +10930,10 @@ { "name": "linux_networking_control.drop", "handle": 29238102, - "constant_default_action": false, + "constant_default_action": true, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, "p4_parameters": [] } ], @@ -11069,7 +10966,7 @@ { "prec": 7, "action_code": "SET1_16b", - "encoding_grp": 15, + "encoding_grp": 14, "encoding_port": "VSI", "index": 2, "parameters": [ @@ -11102,17 +10999,15 @@ ], "default_action_format": [ { - "action_name": "linux_networking_control.fwd_to_vsi", - "action_handle": 26092385, + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, "hw_actions_list": [ { "prec": 7, - "action_code": "SET1_16b", - "encoding_grp": 18, - "encoding_port": "VSI", - "index": 2, - "value": 28, - "type": "SINGLETON_VSI" + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 } ] } @@ -11221,7 +11116,7 @@ { "prec": 7, "action_code": "SET1_16b", - "encoding_grp": 16, + "encoding_grp": 15, "encoding_port": "VSI", "index": 2, "parameters": [ @@ -11273,64 +11168,83 @@ }, { "table_type": "match", - "direction": "TX", - "handle": 49349790, - "name": "linux_networking_control.ipsec_tunnel_table", + "direction": "RX", + "handle": 44641644, + "name": "linux_networking_control.hash_ipv4_tcp", "size": 1024, + "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "vmeta.common.saidx", - "instance_name": "vmeta.common.saidx", - "field_name": "vmeta.common.saidx", - "match_type": "exact", - "bit_width": 24, + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, "index": 0, "position": 0 }, { - "name": "bit16_zeros", - "instance_name": "bit16_zeros", - "field_name": "bit16_zeros", - "match_type": "exact", - "bit_width": 13, + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, "index": 1, - "position": 3 + "position": 4 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 } ], "match_key_format": [ { "match_key_handle": 0, - "byte_order": "HOST", + "byte_order": "NETWORK", "byte_array_index": 0, "start_bit_offset": 0, "bit_width": 32 }, { "match_key_handle": 1, - "byte_order": "HOST", + "byte_order": "NETWORK", "byte_array_index": 4, - "start_bit_offset": 3, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, "bit_width": 16 } ], "default_action_handle": 21257015, "actions": [ - { - "name": "linux_networking_control.set_ipsec_tunnel", - "handle": 26423957, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [ - { - "name": "tunnel_id", - "bit_width": 24 - } - ] - }, { "name": "NoAction", "handle": 21257015, @@ -11344,54 +11258,13 @@ "match_attributes": { "hardware_blocks": [ { - "name": "LEM", - "id": 2, - "hw_interface": "ConfigQueue", + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", "profile": [ - 11 + 1 ], - "obj_id": 0, - "hash_size": 325632, "action_format": [ - { - "action_name": "linux_networking_control.set_ipsec_tunnel", - "action_handle": 26423957, - "immediate_fields": [ - { - "param_name": "tunnel_id", - "param_handle": 0, - "dest_start": 0, - "start_bit_offset": 0, - "dest_width": 24 - } - ], - "hw_actions_list": [ - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 9, - "mod_profile": 16, - "prefetch": 1 - }, - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 0, - "parameters": [ - { - "param_name": "tunnel_id", - "param_handle": 0, - "param_start_bit": 0, - "param_value_length": 24, - "value_start_bit": 0, - "byte_order": "HOST" - } - ], - "p4_ref_action_handle": 30081157, - "p4_ref_table_handle": 37326952 - } - ] - }, { "action_name": "NoAction", "action_handle": 21257015, @@ -11405,30 +11278,49 @@ }, { "table_type": "match", - "direction": "TX", - "handle": 47756035, - "name": "linux_networking_control.ipsec_spd", + "direction": "RX", + "handle": 46678878, + "name": "linux_networking_control.hash_ipv4_udp", "size": 1024, + "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", - "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", - "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", - "match_type": "exact", + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", "bit_width": 32, "index": 0, "position": 0 }, { - "name": "hdrs.ipv4[vmeta.common.depth].protocol", - "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", - "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", - "match_type": "exact", - "bit_width": 8, + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, "index": 1, "position": 4 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 } ], "match_key_format": [ @@ -11444,39 +11336,30 @@ "byte_order": "NETWORK", "byte_array_index": 4, "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, "bit_width": 16 } ], "default_action_handle": 21257015, "actions": [ { - "name": "linux_networking_control.ipsec_protect_set_metadata", - "handle": 20682322, + "name": "NoAction", + "handle": 21257015, "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [ - { - "name": "saidx", - "bit_width": 24 - } - ] - }, - { - "name": "linux_networking_control.ipsec_bypass", - "handle": 19192368, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [] - }, - { - "name": "NoAction", - "handle": 21257015, - "constant_default_action": true, - "is_compiler_added_action": false, "allowed_as_hit_action": false, "allowed_as_default_action": true, "p4_parameters": [] @@ -11485,125 +11368,13 @@ "match_attributes": { "hardware_blocks": [ { - "name": "LEM", - "id": 2, - "hw_interface": "ConfigQueue", + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", "profile": [ - 10 + 2 ], - "obj_id": 0, - "hash_size": 325632, "action_format": [ - { - "action_name": "linux_networking_control.ipsec_protect_set_metadata", - "action_handle": 20682322, - "immediate_fields": [ - { - "param_name": "saidx", - "param_handle": 0, - "dest_start": 0, - "start_bit_offset": 0, - "dest_width": 24 - } - ], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "parameters": [ - { - "param_name": "saidx", - "param_handle": 0, - "param_start_bit": 0, - "param_value_length": 8, - "value_start_bit": 0, - "byte_order": "HOST" - } - ], - "mask": 255, - "type_id": 0, - "offset": 15 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 3, - "setmd_action_code": "SET_16b", - "parameters": [ - { - "param_name": "saidx", - "param_handle": 0, - "param_start_bit": 8, - "param_value_length": 16, - "value_start_bit": 0, - "byte_order": "HOST" - } - ], - "type_id": 0, - "offset": 8 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 4, - "setmd_action_code": "SET_8b", - "value": 3, - "mask": 3, - "type_id": 0, - "offset": 1 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 5, - "setmd_action_code": "SET_8b", - "value": 0, - "mask": 4, - "type_id": 0, - "offset": 3 - }, - { - "prec": 3, - "action_code": "SET2_8b", - "index": 11 - }, - { - "prec": 3, - "action_code": "SET1A_24b", - "index": 7, - "pool_id": 3 - } - ] - }, - { - "action_name": "linux_networking_control.ipsec_bypass", - "action_handle": 19192368, - "immediate_fields": [], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 4, - "setmd_action_code": "SET_8b", - "value": 0, - "mask": 3, - "type_id": 0, - "offset": 1 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 5, - "setmd_action_code": "SET_8b", - "value": 4, - "mask": 4, - "type_id": 0, - "offset": 3 - } - ] - }, { "action_name": "NoAction", "action_handle": 21257015, @@ -11617,39 +11388,31 @@ }, { "table_type": "match", - "direction": "TX", - "handle": 45022218, - "name": "linux_networking_control.ipsec_tx_sa_classification_table", + "direction": "RX", + "handle": 45972289, + "name": "linux_networking_control.hash_ipv4", "size": 1024, + "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", - "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", - "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", - "match_type": "exact", + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", "bit_width": 32, "index": 0, "position": 0 }, { - "name": "hdrs.ipv4[vmeta.common.depth].protocol", - "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", - "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", - "match_type": "exact", - "bit_width": 8, + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, "index": 1, "position": 4 - }, - { - "name": "user_meta.cmeta.is_tunnel", - "instance_name": "user_meta.cmeta.is_tunnel", - "field_name": "user_meta.cmeta.is_tunnel", - "match_type": "exact", - "bit_width": 1, - "index": 2, - "position": 5 } ], "match_key_format": [ @@ -11665,86 +11428,15 @@ "byte_order": "NETWORK", "byte_array_index": 4, "start_bit_offset": 0, - "bit_width": 16 - }, - { - "match_key_handle": 2, - "byte_order": "HOST", - "byte_array_index": 6, - "start_bit_offset": 1, - "bit_width": 16 + "bit_width": 32 } ], "default_action_handle": 21257015, - "max_default_actions": 4, "actions": [ - { - "name": "linux_networking_control.tx_ipsec_transport", - "handle": 24935652, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [] - }, - { - "name": "linux_networking_control.tx_ipsec_transport_with_underlay", - "handle": 17885953, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [] - }, - { - "name": "linux_networking_control.tx_ipsec_tunnel", - "handle": 30154712, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [ - { - "name": "dst_addr", - "bit_width": 32 - } - ] - }, - { - "name": "linux_networking_control.tx_ipsec_tunnel_v6", - "handle": 29527637, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [ - { - "name": "dst_addr_1", - "bit_width": 32 - }, - { - "name": "dst_addr_2", - "bit_width": 32 - }, - { - "name": "dst_addr_3", - "bit_width": 16 - } - ] - }, - { - "name": "linux_networking_control.drop", - "handle": 29238102, - "constant_default_action": false, - "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [] - }, { "name": "NoAction", "handle": 21257015, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, "allowed_as_hit_action": false, "allowed_as_default_action": true, @@ -11754,266 +11446,13 @@ "match_attributes": { "hardware_blocks": [ { - "name": "SEM", - "id": 0, - "hw_interface": "ConfigQueue", + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", "profile": [ - 14 + 3 ], - "sub_profile": 2, - "obj_id": 2, - "hash_size": 325632, "action_format": [ - { - "action_name": "linux_networking_control.tx_ipsec_transport", - "action_handle": 24935652, - "immediate_fields": [], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 64, - "mask": 64, - "type_id": 4, - "offset": 0 - }, - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 9, - "mod_profile": 17, - "prefetch": 0 - }, - { - "prec": 3, - "action_code": "SET2_8b", - "index": 11 - }, - { - "prec": 3, - "action_code": "SET1A_24b", - "index": 6, - "pool_id": 2 - } - ] - }, - { - "action_name": "linux_networking_control.tx_ipsec_transport_with_underlay", - "action_handle": 17885953, - "immediate_fields": [], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_8b", - "value": 64, - "mask": 64, - "type_id": 4, - "offset": 0 - }, - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 9, - "mod_profile": 18, - "prefetch": 0 - }, - { - "prec": 3, - "action_code": "SET2_8b", - "index": 11 - }, - { - "prec": 3, - "action_code": "SET1A_24b", - "index": 6, - "pool_id": 2 - } - ] - }, - { - "action_name": "linux_networking_control.tx_ipsec_tunnel", - "action_handle": 30154712, - "immediate_fields": [ - { - "param_name": "dst_addr", - "param_handle": 0, - "dest_start": 0, - "start_bit_offset": 0, - "dest_width": 32 - } - ], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_32b_AUX", - "parameters": [ - { - "param_name": "dst_addr", - "param_handle": 0, - "param_start_bit": 0, - "param_value_length": 32, - "value_start_bit": 0, - "byte_order": "NETWORK" - } - ] - }, - { - "prec": 7, - "action_code": "AUX_DATA", - "index": 0, - "type_id": 4, - "offset": 28 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 1, - "setmd_action_code": "SET_8b", - "value": 4, - "mask": 7, - "type_id": 4, - "offset": 4 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 - }, - { - "prec": 3, - "action_code": "SET2_8b", - "index": 11 - }, - { - "prec": 3, - "action_code": "SET1A_24b", - "index": 6, - "pool_id": 2 - } - ] - }, - { - "action_name": "linux_networking_control.tx_ipsec_tunnel_v6", - "action_handle": 29527637, - "immediate_fields": [ - { - "param_name": "dst_addr_1", - "param_handle": 0, - "dest_start": 0, - "start_bit_offset": 0, - "dest_width": 32 - }, - { - "param_name": "dst_addr_2", - "param_handle": 1, - "dest_start": 4, - "start_bit_offset": 0, - "dest_width": 32 - }, - { - "param_name": "dst_addr_3", - "param_handle": 2, - "dest_start": 8, - "start_bit_offset": 0, - "dest_width": 16 - } - ], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_32b_AUX", - "parameters": [ - { - "param_name": "dst_addr_1", - "param_handle": 0, - "param_start_bit": 0, - "param_value_length": 32, - "value_start_bit": 0, - "byte_order": "NETWORK" - } - ] - }, - { - "prec": 7, - "action_code": "AUX_DATA", - "index": 0, - "type_id": 4, - "offset": 28 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 1, - "setmd_action_code": "SET_32b_AUX", - "parameters": [ - { - "param_name": "dst_addr_2", - "param_handle": 1, - "param_start_bit": 0, - "param_value_length": 32, - "value_start_bit": 0, - "byte_order": "NETWORK" - } - ] - }, - { - "prec": 7, - "action_code": "AUX_DATA", - "index": 1, - "type_id": 4, - "offset": 24 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 5, - "setmd_action_code": "SET_16b", - "parameters": [ - { - "param_name": "dst_addr_3", - "param_handle": 2, - "param_start_bit": 0, - "param_value_length": 16, - "value_start_bit": 0, - "byte_order": "NETWORK" - } - ], - "type_id": 4, - "offset": 11 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 - } - ] - }, - { - "action_name": "linux_networking_control.drop", - "action_handle": 29238102, - "immediate_fields": [], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 1, - "mask": 1 - } - ] - }, { "action_name": "NoAction", "action_handle": 21257015, @@ -12027,51 +11466,149 @@ }, { "table_type": "match", - "direction": "BIDIRECTIONAL", - "handle": 37326952, - "name": "linux_networking_control.ipsec_tunnel_encap_mod_table", + "direction": "RX", + "handle": 33896331, + "name": "linux_networking_control.hash_l2", "size": 1024, + "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "vmeta.common.mod_blob_ptr", - "instance_name": "vmeta.common.mod_blob_ptr", - "field_name": "vmeta.common.mod_blob_ptr", - "match_type": "exact", - "bit_width": 24, + "name": "hdrs.mac[vmeta.common.depth].sa", + "instance_name": "hdrs.mac[vmeta.common.depth].sa", + "field_name": "hdrs.mac[vmeta.common.depth].sa", + "match_type": "selector", + "bit_width": 48, "index": 0, "position": 0 + }, + { + "name": "hdrs.mac[vmeta.common.depth].da", + "instance_name": "hdrs.mac[vmeta.common.depth].da", + "field_name": "hdrs.mac[vmeta.common.depth].da", + "match_type": "selector", + "bit_width": 48, + "index": 1, + "position": 6 } ], "default_action_handle": 21257015, "actions": [ { - "name": "linux_networking_control.ipsec_tunnel_encap_mod", - "handle": 30081157, + "name": "NoAction", + "handle": 21257015, "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, - "p4_parameters": [ - { - "name": "ipsec_src_addr", - "bit_width": 32 - }, - { - "name": "ipsec_dst_addr", - "bit_width": 32 - }, - { - "name": "proto", - "bit_width": 8 - } - ] + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 10 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46852435, + "name": "linux_networking_control.hash_ipv6_tcp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ { "name": "NoAction", "handle": 21257015, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, "allowed_as_hit_action": false, "allowed_as_default_action": true, @@ -12081,253 +11618,13 @@ "match_attributes": { "hardware_blocks": [ { - "name": "MOD", - "id": 7, - "hw_interface": "ConfigQueue", - "hw_resource": "MOD_CONTENT", - "hw_resource_id": 0, + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", "profile": [ - 16 + 4 ], "action_format": [ - { - "action_name": "linux_networking_control.ipsec_tunnel_encap_mod", - "action_handle": 30081157, - "immediate_fields": [ - { - "param_name": "ipsec_src_addr", - "param_handle": 0, - "dest_start": 0, - "start_bit_offset": 0, - "dest_width": 32 - }, - { - "param_name": "ipsec_dst_addr", - "param_handle": 1, - "dest_start": 4, - "start_bit_offset": 0, - "dest_width": 32 - }, - { - "param_name": "proto", - "param_handle": 2, - "dest_start": 8, - "start_bit_offset": 0, - "dest_width": 8 - } - ], - "mod_content_format": { - "mod_profile": 16, - "mod_obj_size": 1, - "mod_fields": [ - { - "name": "version", - "handle": 0, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 0, - "start_bit_offset": 0, - "bit_width": 4, - "value": [ - 4 - ] - }, - { - "name": "ihl", - "handle": 1, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 0, - "start_bit_offset": 4, - "bit_width": 4, - "value": [ - 5 - ] - }, - { - "name": "dscp", - "handle": 2, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 1, - "start_bit_offset": 0, - "bit_width": 6, - "value": [ - 0 - ] - }, - { - "name": "ecn", - "handle": 3, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 1, - "start_bit_offset": 6, - "bit_width": 2, - "value": [ - 0 - ] - }, - { - "name": "length", - "handle": 4, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 2, - "start_bit_offset": 0, - "bit_width": 16, - "value": [ - 0, - 0 - ] - }, - { - "name": "identification", - "handle": 5, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 4, - "start_bit_offset": 0, - "bit_width": 16, - "value": [ - 0, - 0 - ] - }, - { - "name": "rsvd", - "handle": 6, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 6, - "start_bit_offset": 0, - "bit_width": 1, - "value": [ - 0 - ] - }, - { - "name": "df", - "handle": 7, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 6, - "start_bit_offset": 1, - "bit_width": 1, - "value": [ - 1 - ] - }, - { - "name": "mf", - "handle": 8, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 6, - "start_bit_offset": 2, - "bit_width": 1, - "value": [ - 0 - ] - }, - { - "name": "frag_off", - "handle": 9, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 6, - "start_bit_offset": 3, - "bit_width": 5, - "value": [ - 0 - ] - }, - { - "name": "frag_off", - "handle": 10, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 7, - "start_bit_offset": 0, - "bit_width": 3, - "value": [ - 0 - ] - }, - { - "name": "frag_off", - "handle": 11, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 7, - "start_bit_offset": 3, - "bit_width": 5, - "value": [ - 0 - ] - }, - { - "name": "ttl", - "handle": 12, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 8, - "start_bit_offset": 0, - "bit_width": 8, - "value": [ - 64 - ] - }, - { - "name": "proto", - "handle": 13, - "param_handle": 2, - "type": "parameter", - "byte_order": "NETWORK", - "byte_array_index": 9, - "start_bit_offset": 0, - "bit_width": 8, - "value": [] - }, - { - "name": "csum", - "handle": 14, - "type": "constant", - "byte_order": "NETWORK", - "byte_array_index": 10, - "start_bit_offset": 0, - "bit_width": 16, - "value": [ - 0, - 1 - ] - }, - { - "name": "ipsec_src_addr", - "handle": 15, - "param_handle": 0, - "type": "parameter", - "byte_order": "NETWORK", - "byte_array_index": 12, - "start_bit_offset": 0, - "bit_width": 32, - "value": [] - }, - { - "name": "ipsec_dst_addr", - "handle": 16, - "param_handle": 1, - "type": "parameter", - "byte_order": "NETWORK", - "byte_array_index": 16, - "start_bit_offset": 0, - "bit_width": 32, - "value": [] - } - ] - }, - "hw_actions_list": [] - }, { "action_name": "NoAction", "action_handle": 21257015, @@ -12342,29 +11639,48 @@ { "table_type": "match", "direction": "RX", - "handle": 43475471, - "name": "linux_networking_control.ipv4_ipsec_tunnel_term_table", + "handle": 46359163, + "name": "linux_networking_control.hash_ipv6_udp", "size": 1024, + "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "ipv4_src", - "instance_name": "ipv4_src", - "field_name": "ipv4_src", - "match_type": "exact", - "bit_width": 32, + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, "index": 0, "position": 0 }, { - "name": "ipv4_dst", - "instance_name": "ipv4_dst", - "field_name": "ipv4_dst", - "match_type": "exact", - "bit_width": 32, + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, "index": 1, - "position": 4 + "position": 16 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 } ], "match_key_format": [ @@ -12373,32 +11689,98 @@ "byte_order": "NETWORK", "byte_array_index": 0, "start_bit_offset": 0, - "bit_width": 32 + "bit_width": 128 }, { "match_key_handle": 1, "byte_order": "NETWORK", - "byte_array_index": 4, + "byte_array_index": 16, "start_bit_offset": 0, - "bit_width": 32 + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 } ], - "default_action_handle": 33275382, - "max_default_actions": 4, + "default_action_handle": 21257015, "actions": [ { - "name": "linux_networking_control.decap_ipsec_tunnel_hdr", - "handle": 25138331, + "name": "NoAction", + "handle": 21257015, "constant_default_action": false, "is_compiler_added_action": false, - "allowed_as_hit_action": true, - "allowed_as_default_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 34506208, + "name": "linux_networking_control.hash_ipv6", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 }, { - "name": "linux_networking_control.do_recirculate", - "handle": 33275382, - "constant_default_action": true, + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, "is_compiler_added_action": false, "allowed_as_hit_action": false, "allowed_as_default_action": true, @@ -12408,75 +11790,18 @@ "match_attributes": { "hardware_blocks": [ { - "name": "SEM", - "id": 0, - "hw_interface": "ConfigQueue", + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", "profile": [ - 13 + 6 ], - "sub_profile": 0, - "obj_id": 1, - "hash_size": 325632, "action_format": [ { - "action_name": "linux_networking_control.decap_ipsec_tunnel_hdr", - "action_handle": 25138331, + "action_name": "NoAction", + "action_handle": 21257015, "immediate_fields": [], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 2, - "setmd_action_code": "SET_8b", - "value": 2, - "mask": 2, - "type_id": 4, - "offset": 0 - }, - { - "prec": 1, - "action_code": "SET1A_24b", - "index": 9, - "mod_profile": 19, - "prefetch": 0 - }, - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 - } - ] - }, - { - "action_name": "linux_networking_control.do_recirculate", - "action_handle": 33275382, - "immediate_fields": [], - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 - } - ] - } - ], - "default_action_format": [ - { - "action_name": "linux_networking_control.do_recirculate", - "action_handle": 33275382, - "hw_actions_list": [ - { - "prec": 7, - "action_code": "SET10_1b", - "index": 0, - "value": 64, - "mask": 112 - } - ] + "hw_actions_list": [] } ] } @@ -12485,60 +11810,68 @@ }, { "table_type": "match", - "direction": "RX", - "handle": 37403444, - "name": "linux_networking_control.vm_src_ip4_mac_map_table", + "direction": "TX", + "handle": 49349790, + "name": "linux_networking_control.ipsec_tunnel_table", "size": 1024, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "ipv4_src", - "instance_name": "ipv4_src", - "field_name": "ipv4_src", + "name": "vmeta.common.saidx", + "instance_name": "vmeta.common.saidx", + "field_name": "vmeta.common.saidx", "match_type": "exact", - "bit_width": 32, + "bit_width": 24, "index": 0, "position": 0 + }, + { + "name": "bit16_zeros", + "instance_name": "bit16_zeros", + "field_name": "bit16_zeros", + "match_type": "exact", + "bit_width": 13, + "index": 1, + "position": 3 } ], "match_key_format": [ { "match_key_handle": 0, - "byte_order": "NETWORK", + "byte_order": "HOST", "byte_array_index": 0, "start_bit_offset": 0, "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 4, + "start_bit_offset": 3, + "bit_width": 16 } ], "default_action_handle": 21257015, "actions": [ { - "name": "linux_networking_control.vm_src_ip4_mac_map_action", - "handle": 28718673, + "name": "linux_networking_control.set_ipsec_tunnel", + "handle": 26423957, "constant_default_action": false, "is_compiler_added_action": false, "allowed_as_hit_action": true, "allowed_as_default_action": false, "p4_parameters": [ { - "name": "smac_high", - "bit_width": 16 - }, - { - "name": "smac_mid", - "bit_width": 16 - }, - { - "name": "smac_low", - "bit_width": 16 + "name": "tunnel_id", + "bit_width": 24 } ] }, { "name": "NoAction", "handle": 21257015, - "constant_default_action": true, + "constant_default_action": false, "is_compiler_added_action": false, "allowed_as_hit_action": false, "allowed_as_default_action": true, @@ -12552,91 +11885,46 @@ "id": 2, "hw_interface": "ConfigQueue", "profile": [ - 7 + 11 ], - "obj_id": 0, "hash_size": 325632, "action_format": [ { - "action_name": "linux_networking_control.vm_src_ip4_mac_map_action", - "action_handle": 28718673, + "action_name": "linux_networking_control.set_ipsec_tunnel", + "action_handle": 26423957, "immediate_fields": [ { - "param_name": "smac_high", + "param_name": "tunnel_id", "param_handle": 0, "dest_start": 0, "start_bit_offset": 0, - "dest_width": 16 - }, - { - "param_name": "smac_mid", - "param_handle": 1, - "dest_start": 2, - "start_bit_offset": 0, - "dest_width": 16 - }, - { - "param_name": "smac_low", - "param_handle": 2, - "dest_start": 4, - "start_bit_offset": 0, - "dest_width": 16 + "dest_width": 24 } ], "hw_actions_list": [ { - "prec": 7, - "action_code": "SET1B_24b", - "index": 5, - "setmd_action_code": "SET_16b", - "parameters": [ - { - "param_name": "smac_high", - "param_handle": 0, - "param_start_bit": 0, - "param_value_length": 16, - "value_start_bit": 0, - "byte_order": "HOST" - } - ], - "type_id": 4, - "offset": 7 - }, - { - "prec": 7, - "action_code": "SET1B_24b", - "index": 4, - "setmd_action_code": "SET_16b", - "parameters": [ - { - "param_name": "smac_mid", - "param_handle": 1, - "param_start_bit": 0, - "param_value_length": 16, - "value_start_bit": 0, - "byte_order": "HOST" - } - ], - "type_id": 4, - "offset": 6 + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 16, + "prefetch": 1 }, { - "prec": 7, - "action_code": "SET1B_24b", - "index": 3, - "setmd_action_code": "SET_16b", + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, "parameters": [ { - "param_name": "smac_low", - "param_handle": 2, + "param_name": "tunnel_id", + "param_handle": 0, "param_start_bit": 0, - "param_value_length": 16, + "param_value_length": 24, "value_start_bit": 0, "byte_order": "HOST" } ], - "type_id": 4, - "offset": 5 + "p4_ref_action_handle": 30081157, + "p4_ref_table_handle": 37326952 } ] }, @@ -12653,21 +11941,30 @@ }, { "table_type": "match", - "direction": "RX", - "handle": 50085764, - "name": "linux_networking_control.vm_dst_ip4_mac_map_table", + "direction": "TX", + "handle": 47756035, + "name": "linux_networking_control.ipsec_spd", "size": 1024, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "ipv4_dst", - "instance_name": "ipv4_dst", - "field_name": "ipv4_dst", + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", "match_type": "exact", "bit_width": 32, "index": 0, "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].protocol", + "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 4 } ], "match_key_format": [ @@ -12677,32 +11974,40 @@ "byte_array_index": 0, "start_bit_offset": 0, "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16 } ], "default_action_handle": 21257015, "actions": [ { - "name": "linux_networking_control.vm_dst_ip4_mac_map_action", - "handle": 25018769, + "name": "linux_networking_control.ipsec_protect_set_metadata", + "handle": 20682322, "constant_default_action": false, "is_compiler_added_action": false, "allowed_as_hit_action": true, "allowed_as_default_action": false, "p4_parameters": [ { - "name": "dmac_high", - "bit_width": 16 - }, - { - "name": "dmac_mid", - "bit_width": 16 - }, - { - "name": "dmac_low", - "bit_width": 16 + "name": "saidx", + "bit_width": 24 } ] }, + { + "name": "linux_networking_control.ipsec_bypass", + "handle": 19192368, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, { "name": "NoAction", "handle": 21257015, @@ -12720,91 +12025,117 @@ "id": 2, "hw_interface": "ConfigQueue", "profile": [ - 8 + 10 ], - "obj_id": 0, "hash_size": 325632, "action_format": [ { - "action_name": "linux_networking_control.vm_dst_ip4_mac_map_action", - "action_handle": 25018769, + "action_name": "linux_networking_control.ipsec_protect_set_metadata", + "action_handle": 20682322, "immediate_fields": [ { - "param_name": "dmac_high", + "param_name": "saidx", "param_handle": 0, "dest_start": 0, "start_bit_offset": 0, - "dest_width": 16 - }, + "dest_width": 24 + } + ], + "hw_actions_list": [ { - "param_name": "dmac_mid", - "param_handle": 1, - "dest_start": 2, - "start_bit_offset": 0, - "dest_width": 16 + "prec": 3, + "action_code": "SET2_8b", + "index": 11 }, { - "param_name": "dmac_low", - "param_handle": 2, - "dest_start": 4, - "start_bit_offset": 0, - "dest_width": 16 - } - ], - "hw_actions_list": [ + "prec": 3, + "action_code": "SET1A_24b", + "index": 7, + "pool_id": 3 + }, { "prec": 7, "action_code": "SET1B_24b", "index": 2, - "setmd_action_code": "SET_16b", + "setmd_action_code": "SET_8b", "parameters": [ { - "param_name": "dmac_high", + "param_name": "saidx", "param_handle": 0, "param_start_bit": 0, - "param_value_length": 16, + "param_value_length": 8, "value_start_bit": 0, "byte_order": "HOST" } ], - "type_id": 4, - "offset": 10 + "mask": 255, + "type_id": 0, + "offset": 15 }, { "prec": 7, "action_code": "SET1B_24b", - "index": 1, + "index": 3, "setmd_action_code": "SET_16b", "parameters": [ { - "param_name": "dmac_mid", - "param_handle": 1, - "param_start_bit": 0, + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 8, "param_value_length": 16, "value_start_bit": 0, "byte_order": "HOST" } ], - "type_id": 4, - "offset": 9 + "type_id": 0, + "offset": 8 }, { "prec": 7, "action_code": "SET1B_24b", - "index": 0, - "setmd_action_code": "SET_16b", - "parameters": [ - { - "param_name": "dmac_low", - "param_handle": 2, - "param_start_bit": 0, - "param_value_length": 16, - "value_start_bit": 0, - "byte_order": "HOST" - } - ], - "type_id": 4, - "offset": 8 + "index": 4, + "setmd_action_code": "SET_8b", + "value": 3, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + }, + { + "action_name": "linux_networking_control.ipsec_bypass", + "action_handle": 19192368, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 0, + "offset": 3 } ] }, @@ -12821,49 +12152,39 @@ }, { "table_type": "match", - "direction": "RX", - "handle": 8454144, - "name": "linux_networking_control.rss_hash_tcp", + "direction": "TX", + "handle": 45022218, + "name": "linux_networking_control.ipsec_tx_sa_classification_table", "size": 1024, - "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "hdrs.ipv4[xxpmeta.depth].src_ip", - "instance_name": "hdrs.ipv4[xxpmeta.depth]", - "field_name": "src_ip", - "match_type": "selector", + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "exact", "bit_width": 32, "index": 0, "position": 0 }, { - "name": "hdrs.ipv4[xxpmeta.depth].dst_ip", - "instance_name": "hdrs.ipv4[xxpmeta.depth]", - "field_name": "dst_ip", - "match_type": "selector", - "bit_width": 32, + "name": "hdrs.ipv4[vmeta.common.depth].protocol", + "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "match_type": "exact", + "bit_width": 8, "index": 1, "position": 4 }, { - "name": "hdrs.tcp.sport", - "instance_name": "hdrs.tcp", - "field_name": "sport", - "match_type": "selector", - "bit_width": 16, + "name": "user_meta.cmeta.is_tunnel", + "instance_name": "user_meta.cmeta.is_tunnel", + "field_name": "user_meta.cmeta.is_tunnel", + "match_type": "exact", + "bit_width": 1, "index": 2, - "position": 8 - }, - { - "name": "hdrs.tcp.dport", - "instance_name": "hdrs.tcp", - "field_name": "dport", - "match_type": "selector", - "bit_width": 16, - "index": 3, - "position": 10 + "position": 5 } ], "match_key_format": [ @@ -12879,128 +12200,690 @@ "byte_order": "NETWORK", "byte_array_index": 4, "start_bit_offset": 0, - "bit_width": 32 - }, - { - "match_key_handle": 2, - "byte_order": "NETWORK", - "byte_array_index": 8, - "start_bit_offset": 0, "bit_width": 16 }, { - "match_key_handle": 3, - "byte_order": "NETWORK", - "byte_array_index": 10, - "start_bit_offset": 0, + "match_key_handle": 2, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 1, "bit_width": 16 } ], - "default_action_handle": 0, - "actions": [], - "match_attributes": { - "hardware_blocks": [ - { - "name": "HASH", - "id": 5, - "hw_interface": "MMIO", - "profile": [ - 1 - ], - "action_format": [] - } - ] - } - }, - { - "table_type": "match", - "direction": "RX", - "handle": 8454145, - "name": "linux_networking_control.rss_hash_udp", - "size": 1024, - "isDefaultSize": true, - "add_on_miss": false, - "idle_timeout_with_auto_delete": false, - "match_key_fields": [ - { - "name": "hdrs.ipv4[xxpmeta.depth].src_ip", - "instance_name": "hdrs.ipv4[xxpmeta.depth]", - "field_name": "src_ip", - "match_type": "selector", - "bit_width": 32, - "index": 0, - "position": 0 - }, + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ { - "name": "hdrs.ipv4[xxpmeta.depth].dst_ip", - "instance_name": "hdrs.ipv4[xxpmeta.depth]", - "field_name": "dst_ip", - "match_type": "selector", - "bit_width": 32, - "index": 1, - "position": 4 + "name": "linux_networking_control.tx_ipsec_transport", + "handle": 24935652, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] }, { - "name": "hdrs.udp[xxpmeta.depth].sport", - "instance_name": "hdrs.udp[xxpmeta.depth]", - "field_name": "sport", - "match_type": "selector", - "bit_width": 16, - "index": 2, - "position": 8 + "name": "linux_networking_control.tx_ipsec_transport_with_underlay", + "handle": 17885953, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] }, { - "name": "hdrs.udp[xxpmeta.depth].dport", - "instance_name": "hdrs.udp[xxpmeta.depth]", - "field_name": "dport", - "match_type": "selector", - "bit_width": 16, - "index": 3, - "position": 10 - } - ], - "match_key_format": [ - { - "match_key_handle": 0, - "byte_order": "NETWORK", - "byte_array_index": 0, - "start_bit_offset": 0, - "bit_width": 32 + "name": "linux_networking_control.tx_ipsec_tunnel", + "handle": 30154712, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr", + "bit_width": 32 + } + ] }, { - "match_key_handle": 1, - "byte_order": "NETWORK", - "byte_array_index": 4, - "start_bit_offset": 0, - "bit_width": 32 + "name": "linux_networking_control.tx_ipsec_tunnel_v6", + "handle": 29527637, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr_1", + "bit_width": 32 + }, + { + "name": "dst_addr_2", + "bit_width": 32 + }, + { + "name": "dst_addr_3", + "bit_width": 16 + } + ] }, { - "match_key_handle": 2, - "byte_order": "NETWORK", - "byte_array_index": 8, - "start_bit_offset": 0, - "bit_width": 16 + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] }, { - "match_key_handle": 3, - "byte_order": "NETWORK", - "byte_array_index": 10, - "start_bit_offset": 0, - "bit_width": 16 + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] } ], - "default_action_handle": 0, - "actions": [], "match_attributes": { "hardware_blocks": [ { - "name": "HASH", - "id": 5, - "hw_interface": "MMIO", + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", "profile": [ - 2 + 14 ], - "action_format": [] + "sub_profile": 2, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.tx_ipsec_transport", + "action_handle": 24935652, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 17, + "prefetch": 0 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 64, + "mask": 64, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_transport_with_underlay", + "action_handle": 17885953, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 18, + "prefetch": 0 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 64, + "mask": 64, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_tunnel", + "action_handle": 30154712, + "immediate_fields": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 7, + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_tunnel_v6", + "action_handle": 29527637, + "immediate_fields": [ + { + "param_name": "dst_addr_1", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr_2", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr_3", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr_1", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr_2", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 24 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dst_addr_3", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ], + "type_id": 4, + "offset": 11 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 37326952, + "name": "linux_networking_control.ipsec_tunnel_encap_mod_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipsec_tunnel_encap_mod", + "handle": 30081157, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ipsec_src_addr", + "bit_width": 32 + }, + { + "name": "ipsec_dst_addr", + "bit_width": 32 + }, + { + "name": "proto", + "bit_width": 8 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 16 + ], + "action_format": [ + { + "action_name": "linux_networking_control.ipsec_tunnel_encap_mod", + "action_handle": 30081157, + "immediate_fields": [ + { + "param_name": "ipsec_src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipsec_dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "proto", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "mod_content_format": { + "mod_profile": 16, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "version", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 1, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 1, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 7, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 7, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "proto", + "handle": 13, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 9, + "start_bit_offset": 0, + "bit_width": 8, + "value": [] + }, + { + "name": "csum", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 1 + ] + }, + { + "name": "ipsec_src_addr", + "handle": 15, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "ipsec_dst_addr", + "handle": 16, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] } ] } @@ -13008,27 +12891,26 @@ { "table_type": "match", "direction": "RX", - "handle": 8454146, - "name": "linux_networking_control.rss_hash", + "handle": 43475471, + "name": "linux_networking_control.ipv4_ipsec_tunnel_term_table", "size": 1024, - "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "hdrs.ipv4[xxpmeta.depth].src_ip", - "instance_name": "hdrs.ipv4[xxpmeta.depth]", - "field_name": "src_ip", - "match_type": "selector", + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", "bit_width": 32, "index": 0, "position": 0 }, { - "name": "hdrs.ipv4[xxpmeta.depth].dst_ip", - "instance_name": "hdrs.ipv4[xxpmeta.depth]", - "field_name": "dst_ip", - "match_type": "selector", + "name": "ipv4_dst", + "instance_name": "ipv4_dst", + "field_name": "ipv4_dst", + "match_type": "exact", "bit_width": 32, "index": 1, "position": 4 @@ -13050,204 +12932,102 @@ "bit_width": 32 } ], - "default_action_handle": 0, - "actions": [], - "match_attributes": { - "hardware_blocks": [ - { - "name": "HASH", - "id": 5, - "hw_interface": "MMIO", - "profile": [ - 3 - ], - "action_format": [] - } - ] - } - }, - { - "table_type": "match", - "direction": "RX", - "handle": 8454147, - "name": "linux_networking_control.rss_hash_ipv6_tcp", - "size": 1024, - "isDefaultSize": true, - "add_on_miss": false, - "idle_timeout_with_auto_delete": false, - "match_key_fields": [ - { - "name": "hdrs.ipv6[xxpmeta.depth].src_ip", - "instance_name": "hdrs.ipv6[xxpmeta.depth]", - "field_name": "src_ip", - "match_type": "selector", - "bit_width": 128, - "index": 0, - "position": 0 - }, - { - "name": "hdrs.ipv6[xxpmeta.depth].dst_ip", - "instance_name": "hdrs.ipv6[xxpmeta.depth]", - "field_name": "dst_ip", - "match_type": "selector", - "bit_width": 128, - "index": 1, - "position": 16 - }, - { - "name": "hdrs.tcp.sport", - "instance_name": "hdrs.tcp", - "field_name": "sport", - "match_type": "selector", - "bit_width": 16, - "index": 2, - "position": 32 - }, - { - "name": "hdrs.tcp.dport", - "instance_name": "hdrs.tcp", - "field_name": "dport", - "match_type": "selector", - "bit_width": 16, - "index": 3, - "position": 34 - } - ], - "match_key_format": [ - { - "match_key_handle": 0, - "byte_order": "NETWORK", - "byte_array_index": 0, - "start_bit_offset": 0, - "bit_width": 128 - }, - { - "match_key_handle": 1, - "byte_order": "NETWORK", - "byte_array_index": 16, - "start_bit_offset": 0, - "bit_width": 128 - }, + "default_action_handle": 33275382, + "max_default_actions": 4, + "actions": [ { - "match_key_handle": 2, - "byte_order": "NETWORK", - "byte_array_index": 32, - "start_bit_offset": 0, - "bit_width": 16 + "name": "linux_networking_control.decap_ipsec_tunnel_hdr", + "handle": 25138331, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] }, { - "match_key_handle": 3, - "byte_order": "NETWORK", - "byte_array_index": 34, - "start_bit_offset": 0, - "bit_width": 16 + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] } ], - "default_action_handle": 0, - "actions": [], "match_attributes": { "hardware_blocks": [ { - "name": "HASH", - "id": 5, - "hw_interface": "MMIO", + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", "profile": [ - 4 + 13 ], - "action_format": [] - } - ] - } - }, - { - "table_type": "match", - "direction": "RX", - "handle": 8454148, - "name": "linux_networking_control.rss_hash_ipv6_udp", - "size": 1024, - "isDefaultSize": true, - "add_on_miss": false, - "idle_timeout_with_auto_delete": false, - "match_key_fields": [ - { - "name": "hdrs.ipv6[xxpmeta.depth].src_ip", - "instance_name": "hdrs.ipv6[xxpmeta.depth]", - "field_name": "src_ip", - "match_type": "selector", - "bit_width": 128, - "index": 0, - "position": 0 - }, - { - "name": "hdrs.ipv6[xxpmeta.depth].dst_ip", - "instance_name": "hdrs.ipv6[xxpmeta.depth]", - "field_name": "dst_ip", - "match_type": "selector", - "bit_width": 128, - "index": 1, - "position": 16 - }, - { - "name": "hdrs.udp[xxpmeta.depth].sport", - "instance_name": "hdrs.udp[xxpmeta.depth]", - "field_name": "sport", - "match_type": "selector", - "bit_width": 16, - "index": 2, - "position": 32 - }, - { - "name": "hdrs.udp[xxpmeta.depth].dport", - "instance_name": "hdrs.udp[xxpmeta.depth]", - "field_name": "dport", - "match_type": "selector", - "bit_width": 16, - "index": 3, - "position": 34 - } - ], - "match_key_format": [ - { - "match_key_handle": 0, - "byte_order": "NETWORK", - "byte_array_index": 0, - "start_bit_offset": 0, - "bit_width": 128 - }, - { - "match_key_handle": 1, - "byte_order": "NETWORK", - "byte_array_index": 16, - "start_bit_offset": 0, - "bit_width": 128 - }, - { - "match_key_handle": 2, - "byte_order": "NETWORK", - "byte_array_index": 32, - "start_bit_offset": 0, - "bit_width": 16 - }, - { - "match_key_handle": 3, - "byte_order": "NETWORK", - "byte_array_index": 34, - "start_bit_offset": 0, - "bit_width": 16 - } - ], - "default_action_handle": 0, - "actions": [], - "match_attributes": { - "hardware_blocks": [ - { - "name": "HASH", - "id": 5, - "hw_interface": "MMIO", - "profile": [ - 5 + "sub_profile": 0, + "obj_id": 1, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.decap_ipsec_tunnel_hdr", + "action_handle": 25138331, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 19, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } ], - "action_format": [] + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] } ] } @@ -13255,30 +13035,20 @@ { "table_type": "match", "direction": "RX", - "handle": 8454149, - "name": "linux_networking_control.rss_hash_ipv6", + "handle": 37403444, + "name": "linux_networking_control.vm_src_ip4_mac_map_table", "size": 1024, - "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "hdrs.ipv6[xxpmeta.depth].src_ip", - "instance_name": "hdrs.ipv6[xxpmeta.depth]", - "field_name": "src_ip", - "match_type": "selector", - "bit_width": 128, + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, "index": 0, "position": 0 - }, - { - "name": "hdrs.ipv6[xxpmeta.depth].dst_ip", - "instance_name": "hdrs.ipv6[xxpmeta.depth]", - "field_name": "dst_ip", - "match_type": "selector", - "bit_width": 128, - "index": 1, - "position": 16 } ], "match_key_format": [ @@ -13287,28 +13057,144 @@ "byte_order": "NETWORK", "byte_array_index": 0, "start_bit_offset": 0, - "bit_width": 128 + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vm_src_ip4_mac_map_action", + "handle": 28718673, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "smac_high", + "bit_width": 16 + }, + { + "name": "smac_mid", + "bit_width": 16 + }, + { + "name": "smac_low", + "bit_width": 16 + } + ] }, { - "match_key_handle": 1, - "byte_order": "NETWORK", - "byte_array_index": 16, - "start_bit_offset": 0, - "bit_width": 128 + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] } ], - "default_action_handle": 0, - "actions": [], "match_attributes": { "hardware_blocks": [ { - "name": "HASH", - "id": 5, - "hw_interface": "MMIO", + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", "profile": [ - 6 + 7 ], - "action_format": [] + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.vm_src_ip4_mac_map_action", + "action_handle": 28718673, + "immediate_fields": [ + { + "param_name": "smac_high", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "smac_mid", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "smac_low", + "param_handle": 2, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_high", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_mid", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 6 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 5 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] } ] } @@ -13316,44 +13202,166 @@ { "table_type": "match", "direction": "RX", - "handle": 8454150, - "name": "linux_networking_control.rss_hash_l2", + "handle": 50085764, + "name": "linux_networking_control.vm_dst_ip4_mac_map_table", "size": 1024, - "isDefaultSize": true, "add_on_miss": false, "idle_timeout_with_auto_delete": false, "match_key_fields": [ { - "name": "hdrs.mac[xxpmeta.depth].da", - "instance_name": "hdrs.mac[xxpmeta.depth]", - "field_name": "da", - "match_type": "selector", - "bit_width": 48, + "name": "ipv4_dst", + "instance_name": "ipv4_dst", + "field_name": "ipv4_dst", + "match_type": "exact", + "bit_width": 32, "index": 0, "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vm_dst_ip4_mac_map_action", + "handle": 25018769, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_mid", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 16 + } + ] }, { - "name": "hdrs.mac[xxpmeta.depth].sa", - "instance_name": "hdrs.mac[xxpmeta.depth]", - "field_name": "sa", - "match_type": "selector", - "bit_width": 48, - "index": 1, - "position": 6 + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] } ], - "default_action_handle": 0, - "actions": [], "match_attributes": { "hardware_blocks": [ { - "name": "HASH", - "id": 5, - "hw_interface": "MMIO", + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", "profile": [ - 10 + 8 ], - "action_format": [] + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.vm_dst_ip4_mac_map_action", + "action_handle": 25018769, + "immediate_fields": [ + { + "param_name": "dmac_high", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_mid", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 2, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_mid", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 9 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 8 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] } ] } @@ -13361,7 +13369,7 @@ { "table_type": "match", "direction": "TX", - "handle": 8454151, + "handle": 8454144, "name": "linux_networking_control.ecmp_hash_fn", "size": 1024, "isDefaultSize": true, @@ -13470,7 +13478,7 @@ { "table_type": "match", "direction": "TX", - "handle": 8454152, + "handle": 8454145, "name": "linux_networking_control.ecmp_hash_v6_fn", "size": 1024, "isDefaultSize": true, @@ -13579,7 +13587,7 @@ { "table_type": "match", "direction": "TX", - "handle": 8454153, + "handle": 8454146, "name": "linux_networking_control.lag_hash_fn", "size": 1024, "isDefaultSize": true, @@ -13640,7 +13648,7 @@ { "table_type": "match", "direction": "TX", - "handle": 8454154, + "handle": 8454147, "name": "linux_networking_control.src_port_hash_fn", "size": 1024, "isDefaultSize": true, @@ -13811,314 +13819,6 @@ } ] } - }, - { - "table_type": "match_value_lookup_table", - "handle": 40941464, - "name": "linux_networking_control.mir_prof", - "size": 256, - "p4_hidden": false, - "match_key_fields": [ - { - "name": "mirror_prof_key", - "instance_name": "meta", - "field_name": "key", - "match_type": "exact", - "bit_width": 8, - "index": 0, - "position": 0 - } - ], - "match_attributes": { - "hardware_blocks": [ - { - "name": "MOD", - "id": 7, - "hw_interface": "CP_CHANNEL", - "hw_resource": "mirror_profile", - "hw_resource_id": 0, - "immediate_fields": [ - { - "param_name": "hash_val", - "param_handle": 0, - "dest_start": 0, - "dest_width": 64 - }, - { - "param_name": "hash_mask", - "param_handle": 1, - "dest_start": 8, - "dest_width": 64 - }, - { - "param_name": "port_dest_type", - "param_handle": 2, - "dest_start": 16, - "dest_width": 32 - }, - { - "param_name": "vport_id", - "param_handle": 3, - "dest_start": 20, - "dest_width": 32 - }, - { - "param_name": "mode", - "param_handle": 4, - "dest_start": 24, - "dest_width": 1 - }, - { - "param_name": "op", - "param_handle": 5, - "dest_start": 24, - "dest_width": 32 - }, - { - "param_name": "exp", - "param_handle": 6, - "dest_start": 28, - "dest_width": 32 - }, - { - "param_name": "mod_addr", - "param_handle": 7, - "dest_start": 32, - "dest_width": 32 - }, - { - "param_name": "mod_profile", - "param_handle": 8, - "dest_start": 36, - "dest_width": 24 - }, - { - "param_name": "dest_id", - "param_handle": 9, - "dest_start": 39, - "dest_width": 16 - }, - { - "param_name": "trunc_size", - "param_handle": 10, - "dest_start": 41, - "dest_width": 16 - }, - { - "param_name": "mod_content_size", - "param_handle": 11, - "dest_start": 43, - "dest_width": 16 - }, - { - "param_name": "dst_q", - "param_handle": 12, - "dest_start": 45, - "dest_width": 16 - }, - { - "param_name": "defer_drop_en", - "param_handle": 13, - "dest_start": 47, - "dest_width": 1 - }, - { - "param_name": "trunc_mode_en", - "param_handle": 14, - "dest_start": 47, - "dest_width": 1 - }, - { - "param_name": "recirculate", - "param_handle": 15, - "dest_start": 47, - "dest_width": 1 - }, - { - "param_name": "store_port", - "param_handle": 16, - "dest_start": 47, - "dest_width": 1 - }, - { - "param_name": "func_valid", - "param_handle": 17, - "dest_start": 47, - "dest_width": 1 - }, - { - "param_name": "store_vsi", - "param_handle": 18, - "dest_start": 47, - "dest_width": 1 - }, - { - "param_name": "drop_en", - "param_handle": 19, - "dest_start": 47, - "dest_width": 1 - }, - { - "param_name": "trunc", - "param_handle": 20, - "dest_start": 48, - "dest_width": 1 - }, - { - "param_name": "mod_profile_valid", - "param_handle": 21, - "dest_start": 48, - "dest_width": 1 - }, - { - "param_name": "mod_content_size_en", - "param_handle": 22, - "dest_start": 48, - "dest_width": 1 - }, - { - "param_name": "mod_ptype_tras_index", - "param_handle": 23, - "dest_start": 48, - "dest_width": 8 - }, - { - "param_name": "mod_common_en", - "param_handle": 24, - "dest_start": 49, - "dest_width": 1 - }, - { - "param_name": "mod_append_action_bus_en", - "param_handle": 25, - "dest_start": 49, - "dest_width": 1 - }, - { - "param_name": "is_md_gen0", - "param_handle": 26, - "dest_start": 49, - "dest_width": 1 - }, - { - "param_name": "is_md_gen1", - "param_handle": 27, - "dest_start": 49, - "dest_width": 1 - }, - { - "param_name": "is_md_local", - "param_handle": 28, - "dest_start": 49, - "dest_width": 1 - }, - { - "param_name": "is_md_remote", - "param_handle": 29, - "dest_start": 50, - "dest_width": 1 - }, - { - "param_name": "md_gen0_type", - "param_handle": 30, - "dest_start": 50, - "dest_width": 8 - }, - { - "param_name": "md_gen0_off", - "param_handle": 31, - "dest_start": 51, - "dest_width": 8 - }, - { - "param_name": "md_gen0_val", - "param_handle": 32, - "dest_start": 52, - "dest_width": 16 - }, - { - "param_name": "md_gen0_mask", - "param_handle": 33, - "dest_start": 54, - "dest_width": 16 - }, - { - "param_name": "md_gen1_type", - "param_handle": 34, - "dest_start": 56, - "dest_width": 8 - }, - { - "param_name": "md_gen1_off", - "param_handle": 35, - "dest_start": 57, - "dest_width": 8 - }, - { - "param_name": "md_gen1_val", - "param_handle": 36, - "dest_start": 58, - "dest_width": 16 - }, - { - "param_name": "md_gen1_mask", - "param_handle": 37, - "dest_start": 60, - "dest_width": 16 - }, - { - "param_name": "md_local_type", - "param_handle": 38, - "dest_start": 62, - "dest_width": 8 - }, - { - "param_name": "md_local_off", - "param_handle": 39, - "dest_start": 63, - "dest_width": 8 - }, - { - "param_name": "md_local_val", - "param_handle": 40, - "dest_start": 64, - "dest_width": 8 - }, - { - "param_name": "md_local_mask", - "param_handle": 41, - "dest_start": 65, - "dest_width": 8 - }, - { - "param_name": "md_remote_type", - "param_handle": 42, - "dest_start": 66, - "dest_width": 8 - }, - { - "param_name": "md_remote_off", - "param_handle": 43, - "dest_start": 67, - "dest_width": 8 - }, - { - "param_name": "md_remote_val", - "param_handle": 44, - "dest_start": 68, - "dest_width": 8 - }, - { - "param_name": "md_remote_mask", - "param_handle": 45, - "dest_start": 69, - "dest_width": 8 - } - ], - "p4_ref_table_handles": [] - } - ] - } } ], "counter_with_modify_flag": [ diff --git a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt index 83f27cef9..1ce788dad 100644 --- a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt +++ b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt @@ -547,7 +547,10 @@ tables { annotations: "@defaultonly" scope: DEFAULT_ONLY } - const_default_action_id: 21790705 + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 size: 1024 } tables { @@ -921,7 +924,7 @@ tables { action_refs { id: 29238102 } - const_default_action_id: 32890467 + const_default_action_id: 29238102 size: 1024 } tables { @@ -948,7 +951,6 @@ tables { action_refs { id: 29238102 } - const_default_action_id: 29238102 size: 1024 } tables { @@ -1002,7 +1004,7 @@ tables { action_refs { id: 29238102 } - const_default_action_id: 31939992 + const_default_action_id: 29238102 size: 1024 } tables { @@ -1056,7 +1058,7 @@ tables { action_refs { id: 29238102 } - const_default_action_id: 31624713 + const_default_action_id: 29238102 size: 1024 } tables { @@ -1128,24 +1130,6 @@ tables { const_default_action_id: 33275382 size: 1024 } -tables { - preamble { - id: 40941464 - name: "linux_networking_control.mir_prof" - alias: "mir_prof" - annotations: "@intel_lut_type(\"mirror_profile\")" - } - match_fields { - id: 1 - name: "mirror_prof_key" - bitwidth: 8 - match_type: EXACT - } - action_refs { - id: 19137704 - } - size: 256 -} tables { preamble { id: 38721082 @@ -1164,16 +1148,13 @@ tables { bitwidth: 16 match_type: EXACT } - action_refs { - id: 20004960 - } action_refs { id: 26092385 } action_refs { id: 29238102 } - const_default_action_id: 26092385 + const_default_action_id: 29238102 size: 1024 } tables { @@ -1200,7 +1181,7 @@ tables { action_refs { id: 29238102 } - const_default_action_id: 26092385 + const_default_action_id: 29238102 size: 1024 } tables { @@ -1230,6 +1211,97 @@ tables { const_default_action_id: 29238102 size: 1024 } +tables { + preamble { + id: 44641644 + name: "linux_networking_control.hash_ipv4_tcp" + alias: "hash_ipv4_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46678878 + name: "linux_networking_control.hash_ipv4_udp" + alias: "hash_ipv4_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 45972289 + name: "linux_networking_control.hash_ipv4" + alias: "hash_ipv4" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 33896331 + name: "linux_networking_control.hash_l2" + alias: "hash_l2" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46852435 + name: "linux_networking_control.hash_ipv6_tcp" + alias: "hash_ipv6_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46359163 + name: "linux_networking_control.hash_ipv6_udp" + alias: "hash_ipv6_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 34506208 + name: "linux_networking_control.hash_ipv6" + alias: "hash_ipv6" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} tables { preamble { id: 49349790 @@ -2470,29 +2542,6 @@ actions { alias: "fwd_to_cp" } } -actions { - preamble { - id: 20004960 - name: "linux_networking_control.mirror_and_send" - alias: "mirror_and_send" - } - params { - id: 1 - name: "port" - bitwidth: 32 - type_name { - name: "PortId_t" - } - } - params { - id: 2 - name: "mirror_session_id" - bitwidth: 16 - type_name { - name: "MirrorSessionId_t" - } - } -} actions { preamble { id: 26423957 @@ -2666,18 +2715,6 @@ actions { bitwidth: 16 } } -actions { - preamble { - id: 22609087 - name: "linux_networking_control.send_rss_queue" - alias: "send_rss_queue" - } - params { - id: 1 - name: "q_id" - bitwidth: 16 - } -} actions { preamble { id: 17061464 @@ -2702,243 +2739,6 @@ actions { bitwidth: 32 } } -actions { - preamble { - id: 19137704 - name: "linux_networking_control.mir_prof_action" - alias: "mir_prof_action" - } - params { - id: 1 - name: "hash_val" - bitwidth: 64 - } - params { - id: 2 - name: "hash_mask" - bitwidth: 64 - } - params { - id: 3 - name: "port_dest_type" - bitwidth: 32 - } - params { - id: 4 - name: "vport_id" - bitwidth: 32 - } - params { - id: 5 - name: "mode" - bitwidth: 1 - } - params { - id: 6 - name: "op" - bitwidth: 32 - } - params { - id: 7 - name: "exp" - bitwidth: 32 - } - params { - id: 8 - name: "mod_addr" - bitwidth: 32 - } - params { - id: 9 - name: "mod_profile" - bitwidth: 24 - } - params { - id: 10 - name: "dest_id" - bitwidth: 16 - } - params { - id: 11 - name: "trunc_size" - bitwidth: 16 - } - params { - id: 12 - name: "mod_content_size" - bitwidth: 16 - } - params { - id: 13 - name: "dst_q" - bitwidth: 16 - } - params { - id: 14 - name: "defer_drop_en" - bitwidth: 1 - } - params { - id: 15 - name: "trunc_mode_en" - bitwidth: 1 - } - params { - id: 16 - name: "recirculate" - bitwidth: 1 - } - params { - id: 17 - name: "store_port" - bitwidth: 1 - } - params { - id: 18 - name: "func_valid" - bitwidth: 1 - } - params { - id: 19 - name: "store_vsi" - bitwidth: 1 - } - params { - id: 20 - name: "drop_en" - bitwidth: 1 - } - params { - id: 21 - name: "trunc" - bitwidth: 1 - } - params { - id: 22 - name: "mod_profile_valid" - bitwidth: 1 - } - params { - id: 23 - name: "mod_content_size_en" - bitwidth: 1 - } - params { - id: 24 - name: "mod_ptype_tras_index" - bitwidth: 8 - } - params { - id: 25 - name: "mod_common_en" - bitwidth: 1 - } - params { - id: 26 - name: "mod_append_action_bus_en" - bitwidth: 1 - } - params { - id: 27 - name: "is_md_gen0" - bitwidth: 1 - } - params { - id: 28 - name: "is_md_gen1" - bitwidth: 1 - } - params { - id: 29 - name: "is_md_local" - bitwidth: 1 - } - params { - id: 30 - name: "is_md_remote" - bitwidth: 1 - } - params { - id: 31 - name: "md_gen0_type" - bitwidth: 8 - } - params { - id: 32 - name: "md_gen0_off" - bitwidth: 8 - } - params { - id: 33 - name: "md_gen0_val" - bitwidth: 16 - } - params { - id: 34 - name: "md_gen0_mask" - bitwidth: 16 - } - params { - id: 35 - name: "md_gen1_type" - bitwidth: 8 - } - params { - id: 36 - name: "md_gen1_off" - bitwidth: 8 - } - params { - id: 37 - name: "md_gen1_val" - bitwidth: 16 - } - params { - id: 38 - name: "md_gen1_mask" - bitwidth: 16 - } - params { - id: 39 - name: "md_local_type" - bitwidth: 8 - } - params { - id: 40 - name: "md_local_off" - bitwidth: 8 - } - params { - id: 41 - name: "md_local_val" - bitwidth: 8 - } - params { - id: 42 - name: "md_local_mask" - bitwidth: 8 - } - params { - id: 43 - name: "md_remote_type" - bitwidth: 8 - } - params { - id: 44 - name: "md_remote_off" - bitwidth: 8 - } - params { - id: 45 - name: "md_remote_val" - bitwidth: 8 - } - params { - id: 46 - name: "md_remote_mask" - bitwidth: 8 - } -} direct_counters { preamble { id: 333810446 @@ -2980,15 +2780,6 @@ direct_counters { } } type_info { - new_types { - key: "MirrorSessionId_t" - value { - translated_type { - uri: "p4.org/pna/v1/MirrorSessionId_t" - sdn_bitwidth: 16 - } - } - } new_types { key: "PortId_t" value { diff --git a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.pkg b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.pkg index 3478c904f..3b9369660 100644 Binary files a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.pkg and b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.pkg differ diff --git a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json index 34df1e7a1..d53a45d13 100644 --- a/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json +++ b/cmd/intelvsp/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json @@ -1923,6 +1923,13 @@ } ], "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] } ], "data" : [], @@ -3314,7 +3321,7 @@ "size" : 1024, "annotations" : [], "depends_on" : [], - "has_const_default_action" : true, + "has_const_default_action" : false, "key" : [ { "id" : 1, @@ -3901,38 +3908,6 @@ } ], "action_specs" : [ - { - "id" : 20004960, - "name" : "linux_networking_control.mirror_and_send", - "action_scope" : "TableAndDefault", - "annotations" : [], - "data" : [ - { - "id" : 1, - "name" : "port", - "repeated" : false, - "mandatory" : true, - "read_only" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 32 - } - }, - { - "id" : 2, - "name" : "mirror_session_id", - "repeated" : false, - "mandatory" : true, - "read_only" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - } - } - ] - }, { "id" : 26092385, "name" : "linux_networking_control.fwd_to_vsi", @@ -4099,6 +4074,188 @@ "supported_operations" : [], "attributes" : [] }, + { + "name" : "main.linux_networking_control.hash_ipv4_tcp", + "id" : 44641644, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4_udp", + "id" : 46678878, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4", + "id" : 45972289, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_l2", + "id" : 33896331, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_tcp", + "id" : 46852435, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_udp", + "id" : 46359163, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6", + "id" : 34506208, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, { "name" : "main.linux_networking_control.ipsec_tunnel_table", "id" : 49349790, @@ -4864,587 +5021,6 @@ "read_only" : false } ] - }, - { - "name" : "main.linux_networking_control.mir_prof", - "id" : 40941464, - "table_type" : "MatchValueLookupTable", - "size" : 256, - "annotations" : [ - { - "name" : "@intel_lut_type(\"mirror_profile\")" - } - ], - "depends_on" : [], - "has_const_default_action" : false, - "key" : [ - { - "id" : 1, - "name" : "mirror_prof_key", - "repeated" : false, - "annotations" : [], - "mandatory" : false, - "match_type" : "Exact", - "type" : { - "type" : "bytes", - "width" : 8 - } - } - ], - "data" : [ - { - "id" : 1, - "name" : "hash_val", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 64 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 2, - "name" : "hash_mask", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 64 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 3, - "name" : "port_dest_type", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 32 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 4, - "name" : "vport_id", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 32 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 5, - "name" : "mode", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 6, - "name" : "op", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 32 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 7, - "name" : "exp", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 32 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 8, - "name" : "mod_addr", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 32 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 9, - "name" : "mod_profile", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 24 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 10, - "name" : "dest_id", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 11, - "name" : "trunc_size", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 12, - "name" : "mod_content_size", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 13, - "name" : "dst_q", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 14, - "name" : "defer_drop_en", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 15, - "name" : "trunc_mode_en", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 16, - "name" : "recirculate", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 17, - "name" : "store_port", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 18, - "name" : "func_valid", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 19, - "name" : "store_vsi", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 20, - "name" : "drop_en", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 21, - "name" : "trunc", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 22, - "name" : "mod_profile_valid", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 23, - "name" : "mod_content_size_en", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 24, - "name" : "mod_ptype_tras_index", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 25, - "name" : "mod_common_en", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 26, - "name" : "mod_append_action_bus_en", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 27, - "name" : "is_md_gen0", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 28, - "name" : "is_md_gen1", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 29, - "name" : "is_md_local", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 30, - "name" : "is_md_remote", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 1 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 31, - "name" : "md_gen0_type", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 32, - "name" : "md_gen0_off", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 33, - "name" : "md_gen0_val", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 34, - "name" : "md_gen0_mask", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 35, - "name" : "md_gen1_type", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 36, - "name" : "md_gen1_off", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 37, - "name" : "md_gen1_val", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 38, - "name" : "md_gen1_mask", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 16 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 39, - "name" : "md_local_type", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 40, - "name" : "md_local_off", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 41, - "name" : "md_local_val", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 42, - "name" : "md_local_mask", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 43, - "name" : "md_remote_type", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 44, - "name" : "md_remote_off", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 45, - "name" : "md_remote_val", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - }, - { - "id" : 46, - "name" : "md_remote_mask", - "repeated" : false, - "annotations" : [], - "type" : { - "type" : "bytes", - "width" : 8 - }, - "mandatory" : false, - "read_only" : false - } - ] } ], "learn_filters" : [] diff --git a/vendor/github.com/intel/ipu-opi-plugins/.github/dependabot.yml b/vendor/github.com/intel/ipu-opi-plugins/.github/dependabot.yml new file mode 100644 index 000000000..31caa3b6a --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.github/dependabot.yml @@ -0,0 +1,41 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: daily + + - package-ecosystem: docker + directory: / + schedule: + interval: daily + + - package-ecosystem: gomod + directory: / + schedule: + interval: daily + + - package-ecosystem: gomod + directory: /ipu-plugin + schedule: + interval: daily + + - package-ecosystem: docker + directory: /ipu-plugin/images + schedule: + interval: daily + + - package-ecosystem: docker + directory: /sriov_cni + schedule: + interval: daily + + - package-ecosystem: gomod + directory: /sriov_cni + schedule: + interval: daily + + - package-ecosystem: docker + directory: /p4sdk/images + schedule: + interval: daily diff --git a/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/buildtest.yml b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/buildtest.yml new file mode 100644 index 000000000..757fb60f4 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/buildtest.yml @@ -0,0 +1,42 @@ +name: Go-build-and-test + +on: + push: + pull_request: + schedule: + - cron: "0 8 * * 0" # every sunday + +permissions: + contents: read + +jobs: + build-test: + strategy: + matrix: + go-version: [1.21.x] + os: [ubuntu-latest] + subproject: [ipu-plugin, sriov_cni, network_function] # Add more subprojects as needed + runs-on: ${{ matrix.os }} + env: + GO111MODULE: on + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - name: Set up Go + uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: ${{ matrix.go-version }} + + - name: Check out code into the Go module directory + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Build each subproject + run: | + for subproject in ${{ matrix.subproject }}; do + cd "$subproject" + make build + cd .. + done diff --git a/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/codeql.yml b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/codeql.yml new file mode 100644 index 000000000..0b57385d5 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/codeql.yml @@ -0,0 +1,55 @@ +name: "CodeQL" + +on: + workflow_dispatch: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + schedule: + - cron: "37 4 * * 0" + +permissions: + contents: read + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ go ] + + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - name: Set up Go + uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: 1.21 + - name: Checkout + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.5.2 + + - name: Initialize CodeQL + uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v2.3.3 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v2.3.3 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v2.3.3 + with: + category: "/language:${{ matrix.language }}" + diff --git a/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/dependency-review.yml b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/dependency-review.yml new file mode 100644 index 000000000..e2364e236 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/dependency-review.yml @@ -0,0 +1,27 @@ +# Dependency Review Action +# +# This Action will scan dependency manifest files that change as part of a Pull Request, +# surfacing known-vulnerable versions of the packages declared or updated in the PR. +# Once installed, if the workflow run is marked as required, +# PRs introducing known-vulnerable packages will be blocked from merging. +# +# Source repository: https://github.com/actions/dependency-review-action +name: 'Dependency Review' +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - name: 'Checkout Repository' + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.5.2 + - name: 'Dependency Review' + uses: actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b # v4.2.5 \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/scorecard.yml b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/scorecard.yml new file mode 100644 index 000000000..c1b860158 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/scorecard.yml @@ -0,0 +1,77 @@ +# This workflow uses actions that are not certified by GitHub. They are provided +# by a third-party and are governed by separate terms of service, privacy +# policy, and support documentation. + +name: Scorecard supply-chain security +on: + # For Branch-Protection check. Only the default branch is supported. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection + branch_protection_rule: + # To guarantee Maintained check is occasionally updated. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained + # schedule: + # - cron: '32 15 * * 6' + push: + branches: [ "main" ] + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results and get a badge (see publish_results below). + id-token: write + # Uncomment the permissions below if installing in a private repository. + # contents: read + # actions: read + + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - name: "Checkout code" + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.1.0 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 + with: + results_file: results.sarif + results_format: sarif + # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: + # - you want to enable the Branch-Protection check on a *public* repository, or + # - you are installing Scorecard on a *private* repository + # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. + # repo_token: ${{ secrets.SCORECARD_TOKEN }} + + # Public repositories: + # - Publish results to OpenSSF REST API for easy access by consumers + # - Allows the repository to include the Scorecard badge. + # - See https://github.com/ossf/scorecard-action#publishing-results. + # For private repositories: + # - `publish_results` will always be set to `false`, regardless + # of the value entered here. + publish_results: true + + # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF + # format to the repository Actions tab. + - name: "Upload artifact" + uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # Upload the results to GitHub's code scanning dashboard. + - name: "Upload to code-scanning" + uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9 + with: + sarif_file: results.sarif \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/static-scan.yml b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/static-scan.yml new file mode 100644 index 000000000..fce9e16b2 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/static-scan.yml @@ -0,0 +1,68 @@ +name: Go-static-analysis + +on: [push, pull_request] + +permissions: + contents: read + +jobs: + golangci: + name: lint + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: '1.21' + cache: false + - name: Install golangci-lint + run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.54.0 + - name: Get module list + run: | + modules=$(find . -name 'go.mod' -exec dirname {} \;) + - name: Run golangci-lint + run: | + for module in $modules; do + echo "Running golangci-lint on module: $module" + golangci-lint run $module/... + done + env: + GO111MODULE: on + + shellcheck: + name: Shellcheck + runs-on: ubuntu-latest + env: + SHELLCHECK_OPTS: -e SC3037 # disabled because of false issue in entrypoint.sh + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + - name: Run ShellCheck + uses: ludeeus/action-shellcheck@cd81f4475ab741e097ec0fe73b692f3e49d66b8c # master + + hadolint: + runs-on: ubuntu-latest + name: Hadolint + env: + HADOLINT_RECURSIVE: "true" + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 + - uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf # v3.1.0 + name: Run Hadolint + with: + recursive: true + ignore: DL3008,DL3059,DL3015,DL3018,DL3029 diff --git a/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/unittest.yml b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/unittest.yml new file mode 100644 index 000000000..da26222f8 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.github/workflows/unittest.yml @@ -0,0 +1,36 @@ +name: Run Unit Tests + +on: + pull_request: + branches: + - main + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + matrix: + subproject: [ipu-plugin] # Add more as needed + + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - name: Checkout code + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Set up Go + uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: 1.21 + + - name: Run make test in subproject + run: | + cd ${{ matrix.subproject }} + make test diff --git a/vendor/github.com/intel/ipu-opi-plugins/.gitignore b/vendor/github.com/intel/ipu-opi-plugins/.gitignore new file mode 100644 index 000000000..38a3da5d2 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.gitignore @@ -0,0 +1,17 @@ +/bin/ +*/vendor/* +*/build/* +*/bin/* +*/.gopath/* + +# No vi temp files +*.swp +*.swo + +# ignore p4.tar.gz +p4sdk/p4.tar.gz + +# cscope files +cscope* + + diff --git a/vendor/github.com/intel/ipu-opi-plugins/.pre-commit-config.yaml b/vendor/github.com/intel/ipu-opi-plugins/.pre-commit-config.yaml new file mode 100644 index 000000000..8055818c7 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/.pre-commit-config.yaml @@ -0,0 +1,22 @@ +repos: +- repo: https://github.com/gitleaks/gitleaks + rev: v8.16.3 + hooks: + - id: gitleaks +- repo: https://github.com/golangci/golangci-lint + rev: v1.52.2 + hooks: + - id: golangci-lint +- repo: https://github.com/jumanjihouse/pre-commit-hooks + rev: 3.0.0 + hooks: + - id: shellcheck +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace +- repo: https://github.com/pocc/pre-commit-hooks + rev: v1.3.5 + hooks: + - id: cpplint diff --git a/vendor/github.com/intel/ipu-opi-plugins/CODE_OF_CONDUCT.md b/vendor/github.com/intel/ipu-opi-plugins/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..58dba18db --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/CODE_OF_CONDUCT.md @@ -0,0 +1,131 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +CommunityCodeOfConduct AT intel DOT com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq diff --git a/vendor/github.com/intel/ipu-opi-plugins/CONTRIBUTING.md b/vendor/github.com/intel/ipu-opi-plugins/CONTRIBUTING.md new file mode 100644 index 000000000..f682f4e4c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/CONTRIBUTING.md @@ -0,0 +1,57 @@ +# Contributing + +### License + + is licensed under the terms in [LICENSE]. By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms. + +### Sign your work + +Please use the sign-off line at the end of the patch. Your signature certifies that you wrote the patch or otherwise have the right to pass it on as an open-source patch. The rules are pretty simple: if you can certify +the below (from [developercertificate.org](http://developercertificate.org/)): + +``` +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +660 York Street, Suite 102, +San Francisco, CA 94110 USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. +``` + +Then you just add a line to every git commit message: + + Signed-off-by: Joe Smith + +Use your real name (sorry, no pseudonyms or anonymous contributions.) + +If you set your `user.name` and `user.email` git configs, you can sign your +commit automatically with `git commit -s`. diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/LICENSE b/vendor/github.com/intel/ipu-opi-plugins/LICENSE similarity index 100% rename from vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/LICENSE rename to vendor/github.com/intel/ipu-opi-plugins/LICENSE diff --git a/vendor/github.com/intel/ipu-opi-plugins/README.md b/vendor/github.com/intel/ipu-opi-plugins/README.md new file mode 100644 index 000000000..6837f72a2 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/README.md @@ -0,0 +1,11 @@ +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/intel/ipu-opi-plugins/badge)](https://securityscorecards.dev/viewer/?uri=github.com/intel/ipu-opi-plugins) + +# IPU OPI Plugins + +IPU OPI Plugins are a set of components that expose IPU offload capabilities in a K8s cluster. + +Please follow [deployment.md](docs/deployment.md) to deploy and test these components in a supported environment. + +If you would like to contribute to this project please see the [CONTRIBUTING.md](CONTRIBUTING.md). + +If there's any security issues please see the [guidelines](SECURITY.md) to report them. diff --git a/vendor/github.com/intel/ipu-opi-plugins/SECURITY.md b/vendor/github.com/intel/ipu-opi-plugins/SECURITY.md new file mode 100644 index 000000000..cb59eb893 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy +Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation. + +## Reporting a Vulnerability +Please report any security vulnerabilities in this project utilizing the guidelines [here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html). diff --git a/vendor/github.com/intel/ipu-opi-plugins/docs/README.md b/vendor/github.com/intel/ipu-opi-plugins/docs/README.md new file mode 100644 index 000000000..89b00307e --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/docs/README.md @@ -0,0 +1,4 @@ +# Documentation + +IPU Manager documentation: +- [Deployment and E2E tests](deployment.md) \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/docs/deployment.md b/vendor/github.com/intel/ipu-opi-plugins/docs/deployment.md new file mode 100644 index 000000000..d937c7f74 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/docs/deployment.md @@ -0,0 +1,778 @@ +# IPU manager E2E test with K8s +This doc describes the steps for testing the IPU manager with K8s. +It requires a FXP P4 pipeline which is included (pre-compiled) in this repo. +Please follow the instructions below on how to bring up test environment for Host, IMC and ACC. + +## Dependencies and compatibility + +``` +Host OS: RHEL 9.2 +Kernel: 5.14.0-284.11.1.el9_2.x86_64 +Golang: go1.20.4 linux/amd64 +Kubernetes: +Client Version: v1.28.2 +Server Version: v1.28.2 +ContainerD: 1.6.24 +Calico: v3.26.1 +Multus: v4.0.2 +SR-IOV Network Device plugin: latest image (ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin@sha256:1ba7727a95abefb356e756985d813893623d6898b6a4a12be77e9fbc48abdc6e) +SR-IOV CNI with custom patch +``` + + +## Setup Diagram +![MEV connections](mev_setup.png) + + +## MEV IMC & ACC +``` +CI BUILD: 6584 +P4 recipe: Linux Networking recipe (Deploy P4 Artifacts) +``` + +## Clone repository + +```bash +git clone https://github.com/intel/ipu-opi-plugins +``` + +Set path to directory +``` +cd ipu-opi-plugins +export ROOT_DIR=$(pwd) +``` + +## Deploy the P4 Artifacts for ES2K +This section explains how to deploy the P4 program on the hardware Flexible Pipeline (FXP). + +Data Path Control Plane (DPCP) starts with a default P4 package. As part of this setup, a custom P4 package will need to be loaded (i.e., linux_networking.pkg) to IMC. To load a custom P4 package proceed with the steps below. This package has been pre-compiled and can be found in `e2e/artefacts/p4`. + +### Deploy +Copy the `linux_networking.pkg` file from HOST to `/work/scripts/` directory on IMC. +The IMC should be accessible through ssh from the HOST at the IP address 100.0.0.100 + +Add IMC address to the interface connected to MEV +```bash +ip addr add 100.0.0.1/24 dev eno1 +``` +**_NOTE:_** interface may need to be configured. +eno1 may not be correct for your configuration, it could be eno2. +Depending on which onboard interface is used. + +```bash +# scp $ROOT_DIR/e2e/artefacts/p4/linux_networking.s/linux_networking.pkg root@100.0.0.100:/work/scripts/ +``` + +From the HOST machine, ssh into the IMC: +```bash +# ssh root@100.0.0.100 +``` + +Edit the `load_custom_pkg.sh` file to have the content below: +```bash +root@ipu-imc ~# vi /work/scripts/load_custom_pkg.sh +#!/bin/sh +CP_INIT_CFG=/etc/dpcp/cfg/cp_init.cfg +echo "Checking for custom package..." +if [ -e linux_networking.pkg ]; then + echo "Custom package linux_networking.pkg found. Overriding default package" + cp linux_networking.pkg /etc/dpcp/package/ + rm -rf /etc/dpcp/package/default_pkg.pkg + ln -s /etc/dpcp/package/linux_networking.pkg /etc/dpcp/package/default_pkg.pkg + sed -i 's/sem_num_pages = 1;/sem_num_pages = 25;/g' $CP_INIT_CFG + sed -i 's/acc_apf = 4;/acc_apf = 8;/g' $CP_INIT_CFG + sed -i 's/comm_vports = ((\[5,0\],\[4,0\]));/comm_vports = ((\[5,0\],\[4,0\]),(\[0,3\],\[4,2\]));/g' $CP_INIT_CFG +else + echo "No custom package found. Continuing with default package" +fi +``` + +Create file `config.json` in `/work/cfg/` and make sure it has the content below. This should make the IMC run the script to load the custom package. +```bash +root@ipu-imc ~# cat /work/cfg/config.json +{ + "start_init_app" : "true" +} +``` + +reboot IMC +```bash +root@mev-imc:~# reboot +``` + +After IMC restarts, check that the custom package has been loaded correctly: +```bash +root@ipu-imc ~# ls -lrt /etc/dpcp/package/ +total 2500 +-rw-r--r-- 1 root root 1106392 Jan 1 00:00 linux_networking.pkg +lrwxrwxrwx 1 root root 38 Jan 1 00:00 default_pkg.pkg -> /etc/dpcp/package/linux_networking.pkg +drwxr-xr-x 2 root root 4096 Oct 4 2023 runtime_files +-rw-r--r-- 1 root root 1442232 Oct 4 2023 e2100-default-1.0.12.0.pkg +``` +**_NOTE:_** the symbolic link from default_pkg.pkg to /etc/dpcp/package/linux_networking.pkg. \ +If this symbolic link is missing then likely the following went wrong: \ +(1) the script to load the custom package may contain some error, or\ +(2) the script to load the custom package was not executed during startup of the IMC. + +### Enable Communication +On ACC, we should see something like this: +```bash +[ 6.360336] idpf 0000:00:01.0 enp0s1f0d1: renamed from eth1 +[ 6.569522] idpf 0000:00:01.0 enp0s1f0d2: renamed from eth2 <-- USED TO COMMUNICATE WITH HOST +[ 6.679568] idpf 0000:00:01.0 enp0s1f0d6: renamed from eth6 +[ 6.909360] idpf 0000:00:01.0 enp0s1f0d4: renamed from eth4 +[ 7.039378] idpf 0000:00:01.0 enp0s1f0d5: renamed from eth5 +[ 7.159385] idpf 0000:00:01.0 enp0s1f0d3: renamed from eth3 +[ 7.299356] idpf 0000:00:01.0 enp0s1f0: renamed from eth0 <-- USED TO COMMUNICATE WITH IMC +[ 7.459362] idpf 0000:00:01.0 enp0s1f0d7: renamed from eth7 +``` +On ACC, enp0s1f0 (renamed from eth0) and enp0s1f0d2 (renamed from eth2) can be used to set up the communication with IMC and HOST. + +## Build IDPF driver from source + +**_NOTE_** Follow this section of the official documentation provided with MEV 1.1 release \ +1.5.10.2. Package/Environment Prerequisites to build IDPF + +These steps are an aid if there is an issue from the official docs. +```bash +yum update -y +yum install -y make perl git bubblewrap patch meson autoconf ninja-build python3-pip automake kernel-devel-$(uname -r) +pip3 install meson +cd Intel_IPU_SDK-6854/ +git clone https://github.com/coccinelle/coccinelle.git +cd coccinelle/ +bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)" +opam install Ocaml +opam init +eval $(opam env --switch=default) +./autogen +./configure +source env.sh +make clean +make +make host +make install +ls -lrt ipu_host/build/opt/idpf/idpf.ko +sudo insmod ipu_host/build/opt/idpf/idpf.ko +``` + +## Identify Communication Channel Netdev +On IMC run the following command: +```bash +root@mev-imc:/usr/bin# ./cli_client -cq +No IP address specified, defaulting to localhost +... +fn_id: 0x0 host_id: 0x0 is_vf: no vsi_id: 0x11 vport_id 0x3 is_created: yes is_enabled: yes mac addr: 00:11:00:03:03:14 <- (HOST, vport 3) +... +fn_id: 0x4 host_id: 0x4 is_vf: no vsi_id: 0x9 vport_id 0x2 is_created: yes is_enabled: yes mac addr: 00:09:00:02:03:18 <- (ACC, vport 2) +``` +### Get ACC vport MAC address +```bash +root@mev-imc:/usr/bin/# ./cli_client -cq | awk '{if(($2 == 0x4) && ($4 == 0x4) && ($10 == 0x2)) {print $17}}' + +#or with quotes if the above returns nothing + +root@mev-imc:/usr/bin/# ./cli_client -cq | awk '{if(($2 == "0x4") && ($4 == "0x4") && ($10 == "0x2")) {print $17}}' +``` +This should provide ACC vport MAC address `00:09:00:02:03:18` + +### Get Host vport MAC address +```bash +root@mev-imc:/usr/bin/# ./cli_client -cq | awk '{if(($2 == 0x0) && ($4 == 0x0) && ($10 == 0x3)) {print $17}}' + +#or with quotes if the above returns nothing + +root@mev-imc:/usr/bin/# ./cli_client -cq | awk '{if(($2 == "0x0") && ($4 == "0x0") && ($10 == "0x3")) {print $17}}' +``` +This should provide Host vport MAC address `00:11:00:03:03:14` + +If HOST ports are not seen, reload the idpf driver on HOST using: +```bash +rmmod idpf +modprobe idpf +``` + +## Enable network connectivity between HOST and ACC +We are assigning the following IP addresses for Host and ACC. Change them accordingly for your host setup. +```bash +Host IP: 192.168.1.1/24 +ACC IP: 192.168.1.2/24 +``` + +**On Host:** + +Configure interface: **ens801f0d3** (this name could be different depends on host OS; match the interface name with MAC address returned by cli_client query above) with IP address `192.168.1.1/24` +```bash +nmcli connection add type ethernet ifname ens801f0d3 con-name ens801f0d3 ip4 192.168.1.1/24 +nmcli conn reload +nmcli con up ens801f0d3 +``` +**_NOTE:_** This is not optional, we must pick the PF with mac addr `00:11:00:03:03:14` + +Check IP configurations: +```bash +[root@~ home]# ip -br addr +... +ens801f0d3 UP 192.168.1.1/24 fe80::2e89:1bbd:390d:3278/64 +... +``` + +Enable NAT on host to provide internet connectivity to ACC +```bash +#! /bin/bash + +IPTABLES=/sbin/iptables +# Interface connected to Lab network +WANIF=eno2 +# Interface connected to ACC +LANIF=ens801f0d3 + +# enable ip forwarding in the kernel +echo 'Enabling Kernel IP forwarding...' +/bin/echo 1 > /proc/sys/net/ipv4/ip_forward + +# enable masquerading to allow LAN internet access +echo 'Enabling IP Masquerading and other rules...' + +$IPTABLES -t nat -A POSTROUTING -o $LANIF -j MASQUERADE +$IPTABLES -A FORWARD -i $LANIF -o $WANIF -m state --state RELATED,ESTABLISHED -j ACCEPT +$IPTABLES -A FORWARD -i $WANIF -o $LANIF -j ACCEPT + +$IPTABLES -t nat -A POSTROUTING -o $WANIF -j MASQUERADE +$IPTABLES -A FORWARD -i $WANIF -o $LANIF -m state --state RELATED,ESTABLISHED -j ACCEPT +$IPTABLES -A FORWARD -i $LANIF -o $WANIF -j ACCEPT + +echo 'Done.' +``` + +**_NOTE:_** run on MEV host \ +**_NOTE:_** must be run if MEV host is rebooted + +**On ACC:** + +```bash +nmcli connection add type ethernet ifname enp0s1f0d2 con-name enp0s1f0d2 ip4 192.168.1.2/24 gw4 address 192.168.1.1 +``` +**_NOTE:_** this interface must be enp0s1f0d2 + +Remove default IMC IP address from default gatwway: +```bash +ip route del default via 192.168.0.1 dev enp0s1f0 +``` + +Reload and bring up network connection: +```bash +nmcli conn reload +nmcli con down enp0s1f0d2 +nmcli con up enp0s1f0d2 +``` + +Modify DNS servers in `/etc/resolv.conf` +``` +Input DNS server IP addresses here, ours are specific to our own network. +``` + +reload NetworkManager +```bash +systemctl restart NetworkManager +``` +**_NOTE:_** if configuring over ssh connection, this might disconnect you. Serial connection can also be used instead. + +### Optional - proxy settings to `/etc/environment` +**_NOTE:_** Add proxies relevant to your environment + +Test internet connectivity +```bash +wget google.com +``` + +## Start the Infrap4d Process +This section explains how to start the Infrap4d process on Intel IPU E2100. +This section also assumes the steps described in [Deploy the P4 Artifiacts for ES2K](#deploy-the-p4-artifacts-for-es2k) have been performed. + +### Extract P4 libraries from tarball +This document assumes that `p4.tar.gz` tarball has been provided by the CI-build. If the tarball does not exist at the location mentioned below, then it may need to be built separately. + +### Log in into ACC and untar the p4.tar.gz tarball available under /opt +```bash +root@mev-acc-rl opt~# cd /opt +root@mev-acc-rl opt~# tar -xvf p4.tar.gz +root@mev-acc-rl opt~# cd /opt/p4/ +root@mev-acc-rl p4~# ls -lr +... +drwxr-xr-x 2 root root 4096 Nov 17 09:18 p4sde +drwxr-xr-x 2 root root 4096 Nov 17 09:18 p4-cp-nws +``` + +### Setup the environment +```bash +export SDE_INSTALL=/opt/p4/p4sde +export P4CP_INSTALL=/opt/p4/p4-cp-nws +export DEPEND_INSTALL=$P4CP_INSTALL +export no_proxy=localhost,127.0.0.1,192.168.1.0/16 +export NO_PROXY=localhost,127.0.0.1,192.168.1.0/16 +``` +**_NOTE:_** no_proxy is set to avoid issues with the gRPC server connection + +### Generate the forwarding pipeline binary +Create an empty file and rename it to `tofino.bin`: +```bash +export OUTPUT_DIR=/root/linux_networking +cd $OUTPUT_DIR +touch tofino.bin +``` +### Copy P4 artifacts from this git repo location to ACC: +Copy files to ACC +```bash +scp -r $ROOT_DIR/e2e/artefacts/p4 root@192.168.1.2:/root/linux_networking +``` + +These files should be present on ACC +``` +linux_networking.bf-rt.json +linux_networking.context.json +linux_networking.p4info.txt +cpt_ver.s +linux_networking.s +``` +**_NOTE_** These are the artefacts from the repository. + +```bash +[root@mev-acc-rl linux_networking]# ls -l $OUTPUT_DIR +... +-rw-r--r-- 1 root root 304 Aug 22 02:19 cpt_ver.s +-rw-r--r-- 1 root root 75352 Aug 22 02:19 linux_networking.bf-rt.json +-rw-r--r-- 1 root root 303049 Aug 22 02:19 linux_networking.context.json +-rw-r--r-- 1 root root 24572 Aug 22 02:19 linux_networking.p4info.txt +drwxr-xr-x 2 root root 4096 Aug 22 02:19 linux_networking.s +``` + +```bash +[root@mev-acc-rl linux_networking]# ls -l linux_networking.s/ +... +-rw-r--r-- 1 root root 1106392 Aug 22 02:19 linux_networking.pkg +``` +**_NOTE:_** `linux_networking.s` is a folder that has the `linux_networking.pkg` file. + +### Prepare the configuration file +On ACC, handcraft the configuration file `/usr/share/stratum/es2k/es2k_skip_p4.conf` with the following parameters: + +- `pcie_bdf` + + Get PCI BDF of LAN Control Physical Function (CPF) device with device ID 1453 on ACC: + + ```bash + lspci | grep 1453 + 00:01.6 Ethernet controller: Intel Corporation Device 1453 (rev 11) + ``` + + The value of `pcie_bdf` should be `00:01.6` + +- `iommu_grp_num` + + Get the iommu group number: + + ```bash + cd $SDE_INSTALL/bin/ + ./vfio_bind.sh 8086:1453 + Device: 0000:00:01.6 Group = 5 + ``` + The value of `iommu_grp_num` in this case is `5` \ + **_NOTE_** This value could be different than `5` + +- `vport` + + The number of vports supported is from [0-6]. + For example: `vport=[0-1]` + +- `eal_args` + + Support values for `--proc-type` are `primary` and `auto` + **Note**: In case of multi-process setup which is supported in docker + environment, `--proc-type` can be used to specify the process type. + +- `cfgqs-idx` + + Give options to each process (primary or secondary) to request + numbers of configure queues. Admin must set cfgqs-idx between `"0-15"`, + recommended option when running only 1 process. Plan and split config + queues between multi-processes. For example, to configure two cfgq; use + `cfgqs-idx: "0-1"`. Supported index numbers are from 0 to 15. + +- `program-name` + + Specify the name of P4 program. Set the value for `program-name` to `linux_networking` + +- `p4_pipeline_name` + + Specify the name of P4 pipeline. Set the value for `p4_pipeline_name` to `main` + +- `bfrt-config`, `context`, `config` and `path` + + Specify the absolute paths for these files. For example: + + Set the value for `bfrt-config` to + `/root/linux_networking/linux_networking.bf-rt.json` + + Set the value for `context` to + `/root/linux_networking/linux_networking.context.json` + + Set the value for `config` to + `/root/linux_networking/tofino.bin` + + Set the value for `path` to + `/root/linux_networking` + +The final `es2k_skip_p4.conf` will look like: + +```json +{ + "chip_list": [ + { + "id": "asic-0", + "chip_family": "mev", + "instance": 0, + "pcie_bdf": "0000:00:01.6", + "iommu_grp_num": 5 + } + ], + "instance": 0, + "cfgqs-idx": "0-15", + "p4_devices": [ + { + "device-id": 0, + "fixed_functions" : [], + "eal-args": "--lcores=1-2 -a 00:01.6,vport=[0-1] -- -i --rxq=1 --txq=1 --hairpinq=1 --hairpin-mode=0x0", + "p4_programs": [ + { + "program-name": "linux_networking", + "bfrt-config": "/root/linux_networking/linux_networking.bf-rt.json", + "p4_pipelines": [ + { + "p4_pipeline_name": "main", + "context": "/root/linux_networking/linux_networking.context.json", + "config": "/root/linux_networking/tofino.bin", + "pipe_scope": [ + 0, + 1, + 2, + 3 + ], + "path": "/root/linux_networking" + } + ] + } + ], + "agent0": "lib/libpltfm_mgr.so" + } + ] +} +``` + +#### 3.4 Generate the Binary File + +On ACC, use `tdi_pipeline_builder` available under `/opt/p4/p4-cp-nws/bin` to +combine the artifacts generated by the `p4c-pna-xxp` compiler and generate +forwarding pipeline binary. + +```bash +$P4CP_INSTALL/bin/tdi_pipeline_builder \ + --p4c_conf_file=/usr/share/stratum/es2k/es2k_skip_p4.conf \ + --bf_pipeline_config_binary_file=/root/linux_networking/linux_networking.pb.bin +``` + +### Set Huge Pages + +On ACC, run the following command: + +```bash +mkdir /dev/hugepages +mount -t hugetlbfs -o pagesize=2M none /dev/hugepages +echo 512 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages +``` + +### Start Infrap4d Process + +On ACC, run the command below: + +```bash +/opt/p4/p4-cp-nws/sbin/infrap4d -grpc_open_insecure_mode=true -nodetach -disable_krnlmon=true +``` + +The following options are used: + +- `-grpc_open_insecure_mode=true` is used because the setup described in this document uses an insecure communication mode. + +- `-nodetach` is used to avoid running the `infrap4d` in a detached mode. This is not a strong requirement, but it is useful to see the log generated by the `infrap4d` process. Note that another terminal needs to be used to proceed as the current one will be used by the `infrap4d` process. In case the detached mode is used, double check that the `infrap4d` process has been started and it is running. + +- `-disable_krnlmon=true` is used to run the `infrap4d` without krnlmon support. This option can be omitted, but it has been used to make log generated by the binary for setting the P4 rules easily visible. + +See `/opt/p4/p4-cp-nws/sbin/infrap4d --help` for more options. + +**Note**: In case that the `infrap4d` fails to start, try to run the start command in the folder where the `linux_networking` recipe files are stored e.g., `cd /root/linux_networking`. Sometimes this command fails and needs to be re-run. + +## Create the Topology + + +**Note**: `p4rt-ctl` utility used in below steps can be found under `$P4CP_INSTALL/bin` + +**Note**: Section [Set up the environment](#set_up_environment) explains how set the `$P4PC_INSTALL` variable. + +### 1. Install Python dependencies + +The `p4rt-ctl` binary relies on some Python dependencies that need to be installed before using the `p4rt-ctl` commands. + +On ACC, install the following Python dependencies: + +```bash +python3 -m pip install --upgrade pip +python3 -m pip install grpcio +python3 -m pip install ovspy +python3 -m pip install protobuf==4.25.0 +pip3 install pyelftools +``` + +**Note**: Do **NOT** set the `PYTHONHOME` or `PYTHONPATH` variables to the Python 3.10 binary and packages provided through the `p4.tar.gz` tarball. + +### 2. Set the Forwarding Pipeline + +Before `p4rt-ctl` commands are executed, the `infrap4d` needs to be started, which is explained in Section [Start the Infrap4d Process](#start_infrap4d_process). + +Once the `infrap4d` is started, set the forwarding pipeline config using P4Runtime Client `p4rt-ctl set-pipe` command. + +```bash +$P4CP_INSTALL/bin/p4rt-ctl set-pipe br0 /root/linux_networking/linux_networking.pb.bin /root/linux_networking/linux_networking.p4info.txt +``` + +### Configure the VSI Group and Add a netdev + +Use one of the IPDF netdevs on ACC to receive all control packets from overlay VM's by assigning to a VSI group. + +On ACC, run the command below to select an interface. + +```bash +[root@mev-acc-rl linux_networking]# ip -br l +... +enp0s1f0 UP 00:00:00:00:03:18 +enp0s1f0d1 UP 00:08:00:01:03:18 +enp0s1f0d2 UP 00:09:00:02:03:18 +enp0s1f0d3 UP 00:0a:00:03:03:18 <-- WE USE THIS +enp0s1f0d4 UP 00:0b:00:04:03:18 +enp0s1f0d5 UP 00:0c:00:05:03:18 +enp0s1f0d6 UP 00:0d:00:06:03:18 +enp0s1f0d7 UP 00:0e:00:07:03:18 +... +``` +Warning: Do not reuse same interface used for ACC and HOST communication + +In this document, the `enp0s1f0d3` is selected (the dots are added to show that other network interfaces may already be available). + +Note that `enp0s1f0d3` has the following MAC address: `00:0a:00:03:03:18` + +The second byte in the MAC address is `0a`. + +On IMC, run the command below: + +```bash +root@mev-imc:# cd /usr/bin +root@mev-imc:/usr/bin# ./cli_client -cq +... +fn_id: 0x4 host_id: 0x4 is_vf: no vsi_id: 0xa vport_id 0x3 is_created: yes is_enabled: yes mac addr: 00:0a:00:03:03:18 +... +``` + +Note that the VSI `a` is associated with `enp0s1f0d3` network interface. + +VSI group 3 is dedicated for this configuration, execute below devmem commands on IMC. + + +```bash +# SEM_DIRECT_MAP_PGEN_CTRL: LSB 11-bit is for vsi which need to map into vsig +devmem 0x20292002a0 64 0x800005000000000a + +# SEM_DIRECT_MAP_PGEN_DATA_VSI_GROUP : This will set vsi (set in SEM_DIRECT_MAP_PGEN_CTRL register LSB) into VSIG-3 +devmem 0x2029200388 64 0x3 + +# SEM_DIRECT_MAP_PGEN_CTRL: LSB 11-bit is for vsi which need to map into vsig +devmem 0x20292002a0 64 0xA00005000000000a +``` + +**Note**: That register value `0x800005000000000a` is given by the VSI number. In this document the VSI was `a`, but if the VSI was `8` then the register value would become `0x8000050000000008`. This needs to be adjusted according to the available network interfaces. + +**Note**: Here VSI `a` has been used for receiving all control packets and added to VSI group 3. This refers to HOST netdev VSIG 3 as per the topology diagram. + +# Create MEV SR-IOV virtual functions on Host + +```bash +modprobe idpf +## Wait few seconds for kernel module to be initialized + +# Create Virtual functions +echo 8 > /sys/class/net/ens801f0/device/sriov_numvfs +``` + +Check that VFs are created and show up in the host: + +```bash +ip -br link + +lo UNKNOWN 00:00:00:00:00:00 +ens786f0 DOWN 3c:fd:fe:df:0d:b8 +ens786f1 DOWN 3c:fd:fe:df:0d:b9 +eno1 UP a4:bf:01:6f:96:20 +eno2 UP a4:bf:01:6f:96:21 +ens801f0 UP 00:01:00:00:04:73 +ens801f0d1 UP 00:0f:00:01:04:73 +ens801f0d2 UP 00:10:00:02:04:73 +ens801f0d3 UP 00:11:00:03:04:73 +ens801f0v0 UP 00:12:00:00:04:73 +ens801f0v1 UP 00:13:00:00:04:73 +ens801f0v2 UP 00:14:00:00:04:73 +ens801f0v3 UP 00:15:00:00:04:73 +ens801f0v4 UP 00:16:00:00:04:73 +ens801f0v5 UP 00:17:00:00:04:73 +ens801f0v6 UP 00:18:00:00:04:73 +ens801f0v7 UP 00:19:00:00:04:73 +``` + + +## Deploy a single node cluster on Host +Deploy a single node cluster with Multus as delegate plugin and Calico as primary network. + +### Initialize K8s cluster +Before proceeding with the next commands, make sure the Kubernetes cluster and container runtime required for a Kubernetes cluster are setup and configured correctly. + +```bash +kubeadm init --pod-network-cidr=172.20.0.0/16 +mkdir -p $HOME/.kube +cp -i /etc/kubernetes/admin.conf $HOME/.kube/config +chown $(id -u):$(id -g) $HOME/.kube/config + +``` +### Install Calico +```bash +kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml +``` + +#### Remove taints so that Pod can be scheduled on Control Plane node in this Single Node Cluster +```bash +kubectl taint nodes --all node-role.kubernetes.io/control-plane- +kubectl taint nodes --all node-role.kubernetes.io/master- +``` + +Download the Calico config CRD to modify the default cluster IP. +```bash +wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml + +``` + +Edit this file and change the Pod cidr: 172.20.0.0/16 +```bash +vi custom-resources.yaml +# This section includes base Calico installation configuration. +# For more information, see: https://projectcalico.docs.tigera.io/master/reference/installation/api#operator.tigera.io/v1.Installation +apiVersion: operator.tigera.io/v1 +kind: Installation +metadata: + name: default +spec: + # Configures Calico networking. + calicoNetwork: + # Note: The ipPools section cannot be modified post-install. + ipPools: + - blockSize: 26 + cidr: 172.20.0.0/16 + encapsulation: VXLANCrossSubnet + natOutgoing: Enabled + nodeSelector: all() +``` + +Apply these changes: + +```bash +kubectl create -f ./custom-resources.yaml +``` + +After a while all Calico components should be up and running and `kubectl get nodes` should show the node in **READY** state. + + +### Install Multus + +```bash +kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/deployments/multus-daemonset.yml +``` +### Install modified SR-IOV CNI plugin +We will need to build patched SR-IOV CNI from source. This will require that you have Golang installed on the host to be able to build it. + +```bash +cd $ROOT_DIR/sriov_cni +make clean +make deps-update +make +cp build/sriov /opt/cni/bin/ +``` +**_NOTE_** sriov_cni is a dir inside the joint repository + +### Install SR-IOV Network Device Plugin +```bash +kubectl create -f $ROOT_DIR/e2e/artefacts/k8s/sriov-dp-configMap.yaml + +kubectl create -f https://raw.githubusercontent.com/k8snetworkplumbingwg/sriov-network-device-plugin/master/deployments/sriovdp-daemonset.yaml +``` + +Once the SR-IOV device plugin Pod is in **READY** state the we should see that the MEV virtual functions are listed as extended node resource. + +```bash +kubectl get node silpixa00400473 -o json | jq '.status.allocatable' + +kubectl get node $NODE -o json | jq '.status.allocatable' +{ + "cpu": "72", + "ephemeral-storage": "181599731412", + "hugepages-1Gi": "0", + "hugepages-2Mi": "0", + "intel.com/intel_sriov_netdevice": "8", + "memory": "196617652Ki", + "pods": "110" +} +``` + +Create SR-IOV network attachment definition: +```bash +kubectl create -f $ROOT_DIR/e2e/artefacts/k8s/sriov-crd.yaml +``` + +## Start Infrap4d on ACC +Start Infrap4d on ACC +```bash +/opt/p4/p4-cp-nws/sbin/infrap4d -grpc_open_insecure_mode=true -nodetach -disable_krnlmon=true +``` + +## Start IPU Manager on ACC + +On the host, build the IPU Manager as an arm64 binary and the copy the binary over to ACC. + +```bash +cd $ROOT_DIR/ipu-plugin +make +scp bin/linux-arm64/ipuplugin 192.168.1.2:/root/ +``` + +Run IPU Manager on ACC: +```bash + /root/ipuplugin --bridgeType=linux --interface=enp0s1f0d3 --p4cpInstall="/opt/p4/p4-cp-nws" +``` +**_NOTE_** Must be from from ACC not Host + +## E2E Tests +Create Pod 1: +```bash +kubectl create -f $ROOT_DIR/e2e/artefacts/k8s/pod-tc1.yaml +``` + +Wait until Pod 1 is "running" state and then create Pod 2: +```bash +kubectl create -f $ROOT_DIR/e2e/artefacts/k8s/pod-tc2.yaml +``` + +Once both Pods are in running state we can do ping and other tests to verify the Pod connectivity over VFs from MEV. diff --git a/vendor/github.com/intel/ipu-opi-plugins/docs/mev_setup.png b/vendor/github.com/intel/ipu-opi-plugins/docs/mev_setup.png new file mode 100644 index 000000000..0fb3c0182 Binary files /dev/null and b/vendor/github.com/intel/ipu-opi-plugins/docs/mev_setup.png differ diff --git a/vendor/github.com/intel/ipu-opi-plugins/docs/ocp-deployment.md b/vendor/github.com/intel/ipu-opi-plugins/docs/ocp-deployment.md new file mode 100644 index 000000000..d64f76251 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/docs/ocp-deployment.md @@ -0,0 +1,184 @@ +# Intel IPU Plugin deployment and testing on Openshift cluster + +## Assumptions: +- Working OCP cluster with at least one Worker node with IPU with MEV-1.2 +- RHEL 9.4 is running on IPU ACC and Red Hat subscription is enabled +- ACC has internet access +- An image registry is configured and running to host container images that is accessible from the OCP environment and microshift running on ACC + +## Clone this repository + +``` +git clone https://github.com/intel/ipu-opi-plugins +``` + +Set path to directory + +``` +cd ipu-opi-plugins +export ROOT_DIR=$(pwd) +``` + +## Export image registry URL + +Set IMAGE_REGISTRY env variable with valid Image registry. + +``` +export IMAGE_REGISTRY=localhost:5000 +``` + +## Run P4-SDK on ACC +Login to ACC on a worker node and then build P4-SDK container image from the source by following the steps descibed [here](../p4sdk/README.md) and then push the p4-sdk container image to the image registry. + +Set HugePages if they are not configured: + +``` +mkdir /dev/hugepages +mount -t hugetlbfs -o pagesize=2M none /dev/hugepages +echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages +``` + +Then deploy the P4-SDK container daemonset: + +Update P4-SDK container image URL in `$ROOT_DIR/e2e/artefacts/k8s/p4sdk-ds.yaml` and then deploy it. +``` +oc create -f $ROOT_DIR/e2e/artefacts/k8s/p4sdk-ds.yaml +``` + +## Run IPU Plugin + +### Build IPU Plugin container image: +Since ipu-plugin will be running on both workner node host side as well as on ACC we need to build a multi-arch container image for it so that the same image name can used to deploy it on both locations. + +Docker needs to be configured for multi-arch build and correct proxy needs to be set for docker daemon. + +``` +$ROOT_DIR/ipu-plugin +make imagex +``` + +### Run IPU Plugin on Host +Update ipu-plugin image reference if required in `$ROOT_DIR/e2e/artefacts/k8s/vsp-ds.yaml` and then deploy it: + +``` +oc create -f e2e/artefacts/k8s/vsp-ds.yaml +``` + +### Run IPU Plugin on ACC +Login to ACC in worker node and then deploy the ipu-plugin daemonset in there. + +``` +oc create -f e2e/artefacts/k8s/vsp-ds.yaml +``` + +## Create MEV Virtual Functions on worker node + +Replace `ens7f0` with actual MEV PF name on the worker node. + +``` +echo 8 | sudo tee /sys/class/net/ens7f0/device/sriov_numvfs +``` + + + +## Deploy DPU Operator + +### Deploy DPU Operator on ACC + +#### Build container image + +``` +cd +git clone https://github.com/openshift/dpu-operator.git +cd dpu-operator/ +make images-build +make images-push +``` + +#### Deploy DPU Operator + +Update dpu operator image references in `config/dev/local-images.yaml` + +``` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: controller-manager + namespace: system + labels: + control-plane: controller-manager + app.kubernetes.io/name: deployment + app.kubernetes.io/instance: controller-manager + app.kubernetes.io/component: manager + app.kubernetes.io/created-by: dpu-operator + app.kubernetes.io/part-of: dpu-operator + app.kubernetes.io/managed-by: kustomize +spec: + template: + spec: + containers: + - command: + name: manager + env: + - name: DPU_DAEMON_IMAGE + value: {{ Registry URL}}/dpu-daemon:{{tag}} + - name: IMAGE_PULL_POLICIES + value: Always + image: {{ Registry URL}}/dpu-operator:{{tag}} + imagePullPolicy: Always + +``` + +``` +make local-deploy +``` + +#### Configure DPU Operator for ACC + +``` +$ cat < [ TO-DO ] - Check that DPU Operator deploys and configures SRIOV Network Operator to create and register MEV Virtual Functions on the worker node. + +There are sample deployment yaml artifacts available in `e2e/artefacts/k8s/` directory that can be used for e2e tests. +The `pod-tc1.yaml` and `pod-tc2.yaml` Pod specs require MEV Virtual Functions resoruces to be available in a node and Network Attachment Definitions (NAD) is created in the same namespace. + +### Without any Network Function + +[TO-DO] + +### With Network Function + +[TO-DO] diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4rt-ctl b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4rt-ctl new file mode 100755 index 000000000..3b7707e9f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4rt-ctl @@ -0,0 +1,1982 @@ +#! /usr/bin/python3 +# +# Copyright (c) 2021-2023 Intel Corporation. +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +p4rt-ctl utility controls P4 bridges. +""" +import argparse +import codecs +import grpc +import ipaddress +import logging +import math +import netaddr +import os +import queue +import random +import re +import socket +import string +import struct +import sys +import threading +import time +import fcntl +import select +from functools import wraps + +import google.protobuf.text_format +from google.rpc import status_pb2, code_pb2 + +from p4.v1 import p4runtime_pb2 +from p4.v1 import p4runtime_pb2_grpc +from p4.config.v1 import p4info_pb2 + +USAGE = """ +p4rt-ctl: P4Runtime switch management utility +usage: p4rt-ctl [OPTIONS] COMMAND [ARG...] + +for P4Runtime switches: + show SWITCH shows P4Runtime switch information + set-pipe SWITCH PROGRAM P4INFO sets P4 pipeline for switch + get-pipe SWITCH prints raw P4Info representation of + P4 program + add-entry SWITCH TABLE FLOW adds new table entry + del-entry SWITCH TABLE KEY deletes table entry with KEY from TABLE + dump-entries SWITCH [TBL] prints table entries + set-default-entry SWITCH TBL ACTION sets default table entry for TBL + get-default-entry SWITCH TBL prints default table entry for TBL + + add-action-profile-member SWITCH PROFILE FLOW adds member reference + delete-action-profile-member SWITCH PROFILE FLOW deletes member reference + get-action-profile-member SWITCH PROFILE FLOW prints member entries + + add-action-profile-group SWITCH PROFILE FLOW adds group reference + delete-action-profile-group SWITCH PROFILE FLOW deletes group reference + get-action-profile-group SWITCH PROFILE FLOW prints group entries + + get-counter SWITCH CTR_TBL CTR_FLOW gets indirect counter table entry + get-direct-counter SWITCH CTR_TBL CTR_FLOW gets direct counter table entry + reset-counter SWITCH CTR_TBL CTR_FLOW resets counter table entry + + add-meter-config SWITCH MTR_TBL MTR_FLOW add packet mod meter config table entry + get-packet-mod-meter SWITCH MTR_TBL MTR_FLOW gets packet mod meter table entry + get-direct-pkt-mod-meter SWITCH MTR_TBL MTR_FLOW gets direct packet mod meter table entry +""" + +def usage(): + print(USAGE) + sys.exit(0) + +def valid_ip(address): + try: + socket.inet_aton(address) + return True + except: + return False + +class P4RuntimeErrorFormatException(Exception): + def __init__(self, message): + super().__init__(message) + + +# Used to iterate over the p4.Error messages in a gRPC error Status object +class P4RuntimeErrorIterator: + def __init__(self, grpc_error): + assert(grpc_error.code() == grpc.StatusCode.UNKNOWN) # nosec + self.grpc_error = grpc_error + + error = None + # The gRPC Python package does not have a convenient way to access the + # binary details for the error: they are treated as trailing metadata. + for meta in self.grpc_error.trailing_metadata(): + if meta[0] == "grpc-status-details-bin": + error = status_pb2.Status() + error.ParseFromString(meta[1]) + break + if error is None: + raise P4RuntimeErrorFormatException("No binary details field") + + if len(error.details) == 0: + raise P4RuntimeErrorFormatException( + "Binary details field has empty Any details repeated field") + self.errors = error.details + self.idx = 0 + + def __iter__(self): + return self + + def __next__(self): + while self.idx < len(self.errors): + p4_error = p4runtime_pb2.Error() + one_error_any = self.errors[self.idx] + if not one_error_any.Unpack(p4_error): + raise P4RuntimeErrorFormatException( + "Cannot convert Any message to p4.Error") + if p4_error.canonical_code == code_pb2.OK: + continue + v = self.idx, p4_error + self.idx += 1 + return v + raise StopIteration + + +class P4RuntimeWriteException(Exception): + def __init__(self, grpc_error): + assert(grpc_error.code() == grpc.StatusCode.UNKNOWN) # nosec + super().__init__() + self.errors = [] + try: + error_iterator = P4RuntimeErrorIterator(grpc_error) + for error_tuple in error_iterator: + self.errors.append(error_tuple) + except P4RuntimeErrorFormatException: + raise # just propagate exception for now + + def __str__(self): + message = "Error(s) during Write:\n" + for idx, p4_error in self.errors: + code_name = code_pb2._CODE.values_by_number[ + p4_error.canonical_code].name + message += "\t* At index {}: {}, '{}'\n".format( + idx, code_name, p4_error.message) + return message + + +class P4RuntimeException(Exception): + def __init__(self, grpc_error): + super().__init__() + self.grpc_error = grpc_error + + def __str__(self): + message = "P4Runtime RPC error ({}): {}".format( + self.grpc_error.code().name, self.grpc_error.details()) + return message + + +def parse_p4runtime_write_error(f): + @wraps(f) + def handle(*args, **kwargs): + try: + return f(*args, **kwargs) + except grpc.RpcError as e: + if e.code() != grpc.StatusCode.UNKNOWN: + raise e + raise P4RuntimeWriteException(e) from None + return handle + + +def parse_p4runtime_error(f): + @wraps(f) + def handle(*args, **kwargs): + try: + return f(*args, **kwargs) + except grpc.RpcError as e: + raise P4RuntimeException(e) from None + return handle + + +mac_pattern = re.compile('^([\da-fA-F]{2}:){5}([\da-fA-F]{2})$') + + +def matchesMac(mac_addr_string): + return mac_pattern.match(mac_addr_string) is not None + + +def encodeMac(mac_addr_string): + str = mac_addr_string.replace(':', '') + return codecs.decode(str, 'hex_codec') + + +def decodeMac(encoded_mac_addr): + return ':'.join(codecs.encode(s, 'hex_codec').decode('utf-8') + for s in struct.unpack(str(len(encoded_mac_addr)) + 'c', + encoded_mac_addr)) + + +def decodeToHex(encoded_bytes): + return '0x' + ''.join(codecs.encode(s, 'hex_codec').decode('utf-8') + for s in struct.unpack(str(len(encoded_bytes)) + + 'c', encoded_bytes)) + + +ip_pattern = re.compile('^(\d{1,3}\.){3}(\d{1,3})$') + + +def matchesIPv4(ip_addr_string): + return ip_pattern.match(ip_addr_string) is not None + + +def encodeIPv4(ip_addr_string): + return socket.inet_aton(ip_addr_string) + + +def encodeIPv4_base10(ip_addr_string): + packedIP = socket.inet_aton(ip_addr_string) + return struct.unpack("!L", packedIP)[0] + + +def decodeIPv4(encoded_ip_addr): + return socket.inet_ntoa(encoded_ip_addr) + +def matchesIPv6(ipv6_str): + return netaddr.valid_ipv6(ipv6_str) + +def encodeIPv6(ipv6_str): + return socket.inet_pton(socket.AF_INET6,ipv6_str) + +def decodeIPv6(encoded_ip_addr): + return socket.inet_ntop(encoded_ip_addr) + +def bitwidthToBytes(bitwidth): + return int(math.ceil(bitwidth / 8.0)) + +def encodeNum(number, bitwidth): + byte_len = bitwidthToBytes(bitwidth) + num_str = '%x' % number + if number >= 2 ** bitwidth: + raise Exception("Number, %d, does not fit in %d bits" % + (number, bitwidth)) + val = ('0' * (byte_len * 2 - len(num_str)) + num_str) + return codecs.decode(val, 'hex_codec') + + +def decodeNum(encoded_number): + return int(codecs.encode(encoded_number, 'hex_codec'), 16) + + +def is_hex_str(hexa): + return '0x'==hexa[:2] and all(val in string.hexdigits for val in hexa[2:]) + + +def encode(x, bitwidth): + 'Tries to infer the type of `x` and encode it' + byte_len = bitwidthToBytes(bitwidth) + if (type(x) == list or type(x) == tuple) and len(x) == 1: + x = x[0] + encoded_bytes = None + if type(x) == str: + if matchesMac(x): + encoded_bytes = encodeMac(x) + elif matchesIPv4(x): + encoded_bytes = encodeIPv4(x) + elif matchesIPv6(x): + encoded_bytes = encodeIPv6(x) + elif str.isdigit(x): + encoded_bytes = encodeNum(int(x), bitwidth) + elif is_hex_str(x): + encoded_bytes = encodeNum(int(x[2:], 16), bitwidth) + else: + # Assume that the string is already encoded + encoded_bytes = x + elif type(x) == int: + encoded_bytes = encodeNum(x, bitwidth) + else: + raise Exception("Encoding objects of %r is not supported" % type(x)) + assert(len(encoded_bytes) == byte_len) # nosec + return encoded_bytes + + +class P4InfoHelper(object): + def __init__(self, p4info): + self.p4info = p4info + + def get(self, entity_type, name=None, id=None): + if name is not None and id is not None: + raise AssertionError("name or id must be None") + + for o in getattr(self.p4info, entity_type): + pre = o.preamble + if name: + if (pre.name == name or pre.alias == name): + return o + else: + if pre.id == id: + return o + + if name: + raise AttributeError("Could not find %r of type %s" % + (name, entity_type)) + else: + raise AttributeError("Could not find id %r of type %s" % + (id, entity_type)) + + def get_id(self, entity_type, name): + return self.get(entity_type, name=name).preamble.id + + def implementation_id(self, entity_type, name): + return self.get(entity_type, name=name).implementation_id + + def get_name(self, entity_type, id): + return self.get(entity_type, id=id).preamble.name + + def get_alias(self, entity_type, id): + return self.get(entity_type, id=id).preamble.alias + + def __getattr__(self, attr): + # Synthesize convenience functions for name to id lookups for top-level + # entities + # e.g. get_tables_id(name_string) or get_actions_id(name_string) + m = re.search("^get_(\w+)_id$", attr) + if m: + primitive = m.group(1) + return lambda name: self.get_id(primitive, name) + + # Synthesize convenience functions for id to name lookups + # e.g. get_tables_name(id) or get_actions_name(id) + m = re.search("^get_(\w+)_name$", attr) + if m: + primitive = m.group(1) + return lambda id: self.get_name(primitive, id) + + raise AttributeError("%r object has no attribute %r" % + (self.__class__, attr)) + + def get_match_fields(self, table_name): + for t in self.p4info.tables: + pre = t.preamble + if pre.name == table_name: + return t.match_fields + + def get_match_field(self, table_name, name=None, id=None): + for t in self.p4info.tables: + pre = t.preamble + if pre.name == table_name: + for mf in t.match_fields: + if name is not None: + if mf.name == name: + return mf + elif id is not None: + if mf.id == id: + return mf + raise AttributeError("%r has no attribute %r" % + (table_name, name if name is not None else id)) + + def get_match_field_id(self, table_name, match_field_name): + return self.get_match_field(table_name, name=match_field_name).id + + def get_match_field_name(self, table_name, match_field_id): + return self.get_match_field(table_name, id=match_field_id).name + + def get_match_field_width(self, table_name, match_field_name): + return self.get_match_field(table_name, name=match_field_name).bitwidth + + def get_match_field_pb(self, table_name, match_field_name, value): + p4info_match = self.get_match_field(table_name, match_field_name) + bitwidth = p4info_match.bitwidth + p4runtime_match = p4runtime_pb2.FieldMatch() + p4runtime_match.field_id = p4info_match.id + match_type = p4info_match.match_type + + if match_type == p4info_pb2.MatchField.EXACT: + exact = p4runtime_match.exact + exact.value = encode(value, bitwidth) + elif match_type == p4info_pb2.MatchField.LPM: + lpm = p4runtime_match.lpm + lpm.value = encode(value[0], bitwidth) + lpm.prefix_len = value[1] + elif match_type == p4info_pb2.MatchField.TERNARY: + lpm = p4runtime_match.ternary + lpm.value = encode(value[0], bitwidth) + lpm.mask = encode(value[1], bitwidth) + elif match_type == p4info_pb2.MatchField.RANGE: + lpm = p4runtime_match.range + lpm.low = encode(value[0], bitwidth) + lpm.high = encode(value[1], bitwidth) + else: + raise Exception("Unsupported match type with type %r" % match_type) + return p4runtime_match + + def get_match_field_value(self, match_field): + match_type = match_field.WhichOneof("field_match_type") + if match_type == 'valid': + return match_field.valid.value + elif match_type == 'exact': + return match_field.exact.value + elif match_type == 'lpm': + return (match_field.lpm.value, match_field.lpm.prefix_len) + elif match_type == 'ternary': + return (match_field.ternary.value, match_field.ternary.mask) + elif match_type == 'range': + return (match_field.range.low, match_field.range.high) + else: + raise Exception("Unsupported match type with type %r" % match_type) + + def get_action_params(self, action_name): + for a in self.p4info.actions: + pre = a.preamble + if pre.name == action_name: + return a.params + + def get_action_param(self, action_name, name=None, id=None): + for a in self.p4info.actions: + pre = a.preamble + if pre.name == action_name: + for p in a.params: + if name is not None: + if p.name == name: + return p + elif id is not None: + if p.id == id: + return p + raise AttributeError("action %r has no param %r, (has: %r)" % + (action_name, name if name is not None else id, + a.params)) + + def get_action_param_id(self, action_name, param_name): + return self.get_action_param(action_name, name=param_name).id + + def get_action_param_name(self, action_name, param_id): + return self.get_action_param(action_name, id=param_id).name + + def get_action_param_pb(self, action_name, param_name, value): + p4info_param = self.get_action_param(action_name, param_name) + p4runtime_param = p4runtime_pb2.Action.Param() + p4runtime_param.param_id = p4info_param.id + p4runtime_param.value = encode(value, p4info_param.bitwidth) + return p4runtime_param + + def buildTableEntry(self, + table_name, + match_fields=None, + default_action=False, + action_name=None, + action_params=None, + priority=None, + group_id=0, + member_id=0, + config_data=None): + one_match_type_is_ternary = False + table_entry = p4runtime_pb2.TableEntry() + table_entry.table_id = self.get_tables_id(table_name) + + for mfn, value in match_fields.items(): + # A table can contain more than one match filed and in such cases + # if one match_type has ternary and other filed is of any type + # it is considered as ternary match_type. + # In these cases we expect priority field from the user. + p4info_match = self.get_match_field(table_name, mfn) + + if p4info_match.match_type == p4info_pb2.MatchField.TERNARY: + one_match_type_is_ternary = True + # If match_type is ternary, then priority field is expected + if priority == None: + print("For ternary match_type, priority field is needed") + sys.exit(1) + + if match_fields: + table_entry.match.extend([ + self.get_match_field_pb(table_name, mfn, value) + ]) + + if priority is not None and one_match_type_is_ternary: + table_entry.priority = int(priority) + + if default_action: + table_entry.is_default_action = True + + if action_name: + action = table_entry.action.action + action.action_id = self.get_actions_id(action_name) + if action_params and action_params != ['']: + action.params.extend([ + self.get_action_param_pb(action_name, field_name, value) + for field_name, value in action_params.items() + ]) + + if member_id: + table_entry.action.action_profile_member_id = member_id + + if group_id: + table_entry.action.action_profile_group_id = group_id + + if config_data: + datas = config_data.split(",") + + # Mapping of keys to attribute names + attribute_mapping = { + "policer_meter_prof_id": "policer_meter_prof_id", + "policer_spec_cir_unit": "policer_spec_cir_unit", + "policer_spec_cbs_unit": "policer_spec_cbs_unit", + "policer_spec_eir_unit": "policer_spec_eir_unit", + "policer_spec_ebs_unit": "policer_spec_ebs_unit", + "policer_spec_cir": "policer_spec_cir", + "policer_spec_cbs": "policer_spec_cbs", + "policer_spec_eir": "policer_spec_eir", + "policer_spec_ebs": "policer_spec_ebs" + } + + meter_config = table_entry.meter_config.policer_meter_config + + # Iterate through the key-value pairs and set attributes + for data in datas: + key, value = data.strip().split("=") + attribute_name = attribute_mapping.get(key) + if attribute_name: + setattr(meter_config, attribute_name, int(value)) + + return table_entry + + + def buildActionProfileMember(self, + table_name, + member_id=0, + action_name=None, + action_params=None, + priority=None): + action_profile_member = p4runtime_pb2.ActionProfileMember() + + action_profile_member.action_profile_id = self.get_action_profiles_id(table_name); + action_profile_member.member_id = member_id + + if action_name: + action = action_profile_member.action + action.action_id = self.get_actions_id(action_name) + if action_params: + action.params.extend([ + self.get_action_param_pb(action_name, field_name, value) + for field_name, value in action_params.items() + ]) + + return action_profile_member + + def buildActionProfileGroup(self, + table_name, + group_id=0, + max_size=0, + members=[]): + + action_profile_group = p4runtime_pb2.ActionProfileGroup() + action_profile_group.action_profile_id = self.get_action_profiles_id(table_name); + action_profile_group.group_id = group_id + # If input for list of members is a comma speated values enclosed in + # parenthesis. Here, remove the parenthesis and split members into + # a list. Iterate over each member list and add to the group. + # Eg: reference_members=(11,22), this needs to be split into a list. + # If Members is NULL (delete group), we dont need to split into each + # member_id + if members: + member_list = members.replace("(","").replace(")","").split(",") + for member_id in member_list: + if str.isdigit(member_id): + apg = action_profile_group.members.add() + apg.member_id = int(member_id) + else: + print("Member ID:", member_id, "should be numeric value.") + sys.exit(1) + + action_profile_group.max_size = max_size + return action_profile_group + +class P4RuntimeClient: + + def __init__(self, device_id, grpc_addr='localhost:9559', + election_id=(1, 0)): + self.device_id = device_id + self.election_id = election_id + grpc_addr = str(grpc_server_addr) + + root_ca_file_path = '/usr/share/stratum/certs/ca.crt' + client_key_file_path = '/usr/share/stratum/certs/client.key' + client_crt_file_path = '/usr/share/stratum/certs/client.crt' + + rootca_exists = os.path.isfile(root_ca_file_path) + clientkey_exists = os.path.isfile(client_key_file_path) + clientcrt_exists = os.path.isfile(client_crt_file_path) + + if rootca_exists and clientkey_exists and clientcrt_exists: + try: + with open(root_ca_file_path, 'rb') as rootca: + with open(client_key_file_path, 'rb') as clientkey: + with open(client_crt_file_path, 'rb') as clientcrt: + creds = grpc.ssl_channel_credentials(rootca.read(), clientkey.read(), clientcrt.read()) + + if creds is not None: + self.channel = grpc.secure_channel(grpc_addr, creds) + else: + self.print_warning_message("Credentials error accessing certificate/key files", grpc_addr) + self.channel = grpc.insecure_channel(grpc_addr) + except Exception as e: + raise e + else: + self.print_warning_message("Unable to locate TLS certificates", grpc_addr) + self.channel = grpc.insecure_channel(grpc_addr) + + self.stub = p4runtime_pb2_grpc.P4RuntimeStub(self.channel) + self.set_up_stream() + + def print_warning_message(self, custom_text, grpc_insecure): + print("*** Warning: " + custom_text + " ***") + print("Attempting P4RT communication over insecure channel on port " + grpc_insecure + "...") + + def set_up_stream(self): + self.stream_out_q = queue.Queue() + self.stream_in_q = queue.Queue() + + def stream_req_iterator(): + while True: + p = self.stream_out_q.get() + if p is None: + break + yield p + + def stream_recv_wrapper(stream): + @parse_p4runtime_error + def stream_recv(): + for p in stream: + self.stream_in_q.put(p) + try: + stream_recv() + except P4RuntimeException as e: + logging.critical("StreamChannel error, closing stream") + logging.critical(e) + self.stream_in_q.put(None) + + self.stream = self.stub.StreamChannel(stream_req_iterator()) + self.stream_recv_thread = threading.Thread( + target=stream_recv_wrapper, args=(self.stream,)) + self.stream_recv_thread.start() + + self.handshake() + + def handshake(self): + req = p4runtime_pb2.StreamMessageRequest() + arbitration = req.arbitration + arbitration.device_id = self.device_id + election_id = arbitration.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + self.stream_out_q.put(req) + + rep = self.get_stream_packet("arbitration", timeout=2) + if rep is None: + logging.critical("Failed to establish session with server") + sys.exit(1) + is_primary = (rep.arbitration.status.code == code_pb2.OK) + logging.debug("Session established, client is '{}'".format( + 'primary' if is_primary else 'backup')) + if not is_primary: + print("You are not the primary client, you only have read access " + "to the server") + + def get_stream_packet(self, type_, timeout=1): + start = time.time() + try: + while True: + remaining = timeout - (time.time() - start) + if remaining < 0: + break + msg = self.stream_in_q.get(timeout=remaining) + if msg is None: + return None + if not msg.HasField(type_): + continue + return msg + except queue.Empty: # timeout expired + pass + return None + + def get_packet_in(self, timeout=3): + msg = self.get_stream_packet("packet", timeout) + if msg is not None: + return msg.packet + + def send_packet_out(self, payload): + packet_out = p4runtime_pb2.PacketOut() + packet_out.payload = payload + packet_out_req = p4runtime_pb2.StreamMessageRequest() + packet_out_req.packet.CopyFrom(packet_out) + self.stream_out_q.put(packet_out_req) + + # Continuously poll for pkts from the server + def pktio_rx(self, tap_device): + print("Waiting for Rx packets...") + while True: + pkt = self.get_packet_in() + if pkt is not None: + tap_device.write(pkt.payload) + + @parse_p4runtime_error + def get_p4info(self): + req = p4runtime_pb2.GetForwardingPipelineConfigRequest() + req.device_id = self.device_id + req.response_type = p4runtime_pb2.GetForwardingPipelineConfigRequest. \ + P4INFO_AND_COOKIE + rep = self.stub.GetForwardingPipelineConfig(req) + return rep.config.p4info + + @parse_p4runtime_error + def set_fwd_pipe_config(self, p4info_path, bin_path): + req = p4runtime_pb2.SetForwardingPipelineConfigRequest() + req.device_id = self.device_id + election_id = req.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + req.action = p4runtime_pb2.SetForwardingPipelineConfigRequest. \ + VERIFY_AND_COMMIT + with open(p4info_path, 'r') as f1: + with open(bin_path, 'rb') as f2: + try: + google.protobuf.text_format.Merge(f1.read(), + req.config.p4info) + except google.protobuf.text_format.ParseError: + logging.error("Error when parsing P4Info") + raise + req.config.p4_device_config = f2.read() + return self.stub.SetForwardingPipelineConfig(req) + + def tear_down(self): + if self.stream_out_q: + self.stream_out_q.put(None) + self.stream_recv_thread.join() + self.channel.close() + # avoid a race condition if channel deleted when process terminates + del self.channel + + @parse_p4runtime_write_error + def write(self, req): + req.device_id = self.device_id + election_id = req.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + return self.stub.Write(req) + + @parse_p4runtime_write_error + def write_update(self, update): + req = p4runtime_pb2.WriteRequest() + req.device_id = self.device_id + election_id = req.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + req.updates.extend([update]) + return self.stub.Write(req) + + def read_one(self, entity): + req = p4runtime_pb2.ReadRequest() + req.device_id = self.device_id + req.entities.extend([entity]) + return self.stub.Read(req) + + +def with_client(f): + @wraps(f) + def handle(*args, **kwargs): + client = None + try: + client = P4RuntimeClient(device_id=1) + f(client, *args, **kwargs) + except Exception as e: + raise e + finally: + if client: + client.tear_down() + return handle + + + +@with_client +def p4ctl_show(client, bridge): + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + + bridge_line = "P4Runtime switch {} information:\n".format(bridge) + device_id_line = "device_id: {}\n".format(client.device_id) + n_tables_line = "n_tables: {}\n".format(len(p4info.tables)) + tables_line = "tables:" + for tbl in p4info.tables: + match = [mf.name for mf in tbl.match_fields] + actions = [helper.get_name('actions', a.id) for a in tbl.action_refs] + tables_line += " {}(match=[{}], actions=[{}])".format( + tbl.preamble.name, ', '.join(match), + ', '.join(actions)) + tables_line += "\n" + + print(''.join([bridge_line, + device_id_line, + n_tables_line, + tables_line, + '\n'.join(ports)])) + + +@with_client +def p4ctl_set_pipe(client, bridge, device_config, p4info): + client.set_fwd_pipe_config(p4info, device_config) + +class TapDevice: + def __init__(self, tap_name): + + self.tap_name = tap_name + + # constants derived from + # https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/if_tun.h#L34 + TUNSETIFF = 0x400454CA + IFF_TAP = 0x0002 + IFF_NO_PI = 0x1000 + try: + self.tap = os.open("/dev/net/tun", os.O_RDWR) + + # Configure the TAP interface. + ifr = struct.pack('16sH', self.tap_name.encode(), IFF_TAP | IFF_NO_PI) + fcntl.ioctl(self.tap, TUNSETIFF, ifr) + + print(f"Created TAP device {self.tap_name}") + except Exception as e: + print(f"Error creating TAP interface: {e}") + if self.tap is not None: + os.close(self.tap) + + # Continuously reads pkts from TAP port and sends them out to the server + def read(self, client): + MAX_FRAME_SIZE = 1500 + SELECT_TIMEOUT = 0.1 + while True: + readable, _, _ = select.select([self.tap], [], [], SELECT_TIMEOUT) + if self.tap in readable: + # read pkt from tap port + data = os.read(self.tap, MAX_FRAME_SIZE) + + # send the packet to the server + client.send_packet_out(data) + + # Sends pkts to the tap port + def write(self, data): + os.write(self.tap, data) + +# Thread function to read pkts from TAP port +def read_from_tap(tap, client): + print("Tx thread polling on TAP port") + tap.read(client) + +@with_client +def p4ctl_start_pktio(client, bridge): + try: + tap_device = TapDevice("pktioTap0") + tx_thread = threading.Thread(target=read_from_tap, args=(tap_device,client)) + tx_thread.start() + client.pktio_rx(tap_device) + except Exception as e: + print(f"Error: Failed to start packetIo {e}") + +@with_client +def p4ctl_get_pipe(client, bridge): + p4info = client.get_p4info() + if p4info: + print("P4Info of bridge {}:".format(bridge)) + print(p4info) + + +def parse_match_key(key): + match_keys = dict() + mk_fields = key.split(",") + for mk_field in mk_fields: + m = mk_field.split("=") + if "/" in m[1]: + lpm_mk = m[1].split("/") + match_keys[m[0]] = (lpm_mk[0], int(lpm_mk[1])) + else: + match_keys[m[0]] = m[1] + return match_keys + + +def parse_match_key_ternary(matchkey): + m_key = matchkey.split(",priority=") + key = m_key[0] + priority = m_key[1] + match_keys = dict() + mk_fields = key.split(",") + for mk_field in mk_fields: + m = mk_field.split("=") + if "/" in m[1]: + lpm_mk = m[1].split("/") + if (str.isdigit(lpm_mk[1])): + match_keys[m[0]] = (lpm_mk[0], int(lpm_mk[1])) + else: + match_keys[m[0]] = (lpm_mk[0], lpm_mk[1]) + else: + match_keys[m[0]] = m[1] + return match_keys, priority + + +def parse_action(action, helper): + """ + Accepted input types for action values are + IP - String, Hex or Decimal + MAC - String, Hex or Decimal + Other - Hex Or Decimal + """ + act_fields = action.split('(') + action_name = act_fields[0] + if (len(act_fields) > 1): + + params = act_fields[1].split(')')[0] + act_data = params.split(',') + + # One limitation with this client code is, user should pass all the + # action params associated with an action. Especially in case of lookup + # entries, we will have more params. Example mirroring.p4 program has + # around 45 params. Even though user is not going to program all + # params, current code expects user to program all 45 params. + # To avoid this, a logic is added where user can pass comma seperated + # =, this code will loop through + # available params and add values accordingly. Params which are not + # specified by user will default to 0. + # + # Existing command: + # action=my_control.mir_prof_action(0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1, + # 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + # 0,0,0,0,0,0,0,0,0) + # + # Command after the change: + # action=my_control.mir_prof_action(port_id=1,mode=0,port_dest_type=0, + # dest_id=1,func_valid=1,store_vsi=1) + if act_data[0].find('=') != -1: + act_values = act_data + for av in helper.p4info.actions: + pre = av.preamble + if pre.name == action_name: + act_data = ['0']*len(av.params) + for p in av.params: + for act in act_values: + act_info = act.split('=') + if p.name == act_info[0]: + act_data[p.id-1]=act_info[1] + + act_data = [encodeIPv4_base10(a) if matchesIPv4(a) else + (int.from_bytes(encodeIPv6(a), "big") if matchesIPv6(a) else + (int.from_bytes(encodeMac(a), "big") if matchesMac(a) else + (int(a, 0) if a.find("0x") != -1 else int(a)))) + for a in act_data] + else: + act_data = [''] + return action_name, act_data + +def parse_flow(flow, helper): + tmp = flow.split(",action=") + mk = tmp[0] + act = tmp[1] + + match_keys = parse_match_key(mk) + action_name, act_data = parse_action(act, helper) + return match_keys, action_name, act_data + +def parse_flow_ternary(flow, helper): + tmp = flow.split(",action=") + mk = tmp[0] + act = tmp[1] + + match_keys, priority = parse_match_key_ternary(mk) + action_name, act_data = parse_action(act, helper) + return match_keys, priority, action_name, act_data + +def parse_flow_as(flow): + if ("priority" in flow): + print("Priority key is not expected in programming action profiles"); + sys.exit(1) + elif ("group_id" in flow): + # Use group_id for tokenizing + extract_mk = flow.split(",group_id=") + key = "group_id" + elif ("member_id" in flow): + # Use member_id for tokenizing + extract_mk = flow.split(",member_id=") + key = "member_id" + else: + raise AssertionError("group_id or member_id is expected") + mk = extract_mk[0] + act = extract_mk[1] + action_name = None + act_data = None + group_id = 0 + member_id = 0 + + if key == "action": + action_name, act_data = parse_action(act) + elif key == "group_id": + group_id = act + elif key == "member_id": + member_id = act + + match_keys = parse_match_key(mk) + return match_keys, action_name, act_data, group_id, member_id + +def parse_profile_mem(flow): + extract_mem = flow.split(",member_id=") + action_param = extract_mem[0] + mem_id = extract_mem[1] + + act = action_param.split("action=") + action_name, act_data = parse_action(act[1]) + return action_name, act_data, mem_id + +def parse_profile_group(flow): + extract_group = flow.split(",reference_members=") + group_id = extract_group[0].split("group_id=") + mem = extract_group[1].split(",max_size=") + + ref_members = mem[0] + max_size = mem[1] + return group_id[1], ref_members, max_size + +def parse_match_key_configData(matchkey): + m_key = matchkey.split(",config_data=") + key = m_key[0] + config_data = m_key[1] + match_keys = dict() + mk_fields = key.split(",") + + for mk_field in mk_fields: + m = mk_field.split("=") + if "/" in m[1]: + lpm_mk = m[1].split("/") + match_keys[m[0]] = (lpm_mk[0], int(lpm_mk[1])) + else: + match_keys[m[0]] = m[1] + return match_keys, config_data + +def parse_flow_meter(flow, helper): + tmp = flow.split(",action=") + mk = tmp[0] + act = tmp[1] + + match_keys, config_data = parse_match_key_configData(mk) + action_name, act_data = parse_action(act, helper) + return match_keys, config_data, action_name, act_data + +@with_client +def p4ctl_add_entry(client, bridge, tbl_name, flow): + """ + add-entry SWITCH TABLE MATCH_KEY ACTION ACTION_DATA + Example: + p4rt-ctl add-entry br0 pipe.filter_tbl + headers.ipv4.dstAddr=10.10.10.10,action=pipe.push_mpls(10) + """ + config_data = None + priority_val = None + grp_id = 0 + mem_id = 0 + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + + if (flow.find(",group_id") != -1 or flow.find(",member_id") != -1): + # For TableAction when we use type as action_profile_member_id or + # action_profile_group_id, p4rt-ctl expects either group_id or + # member_id as part of flow. Hence delimiter as 'action=' doesnt work + # here. Use parse_flow_as in this case, where we use ',' as a delimiter + match_keys, action, action_data, grp_id, mem_id = parse_flow_as(flow) + elif (flow.find("priority") != -1): + # For match_type ternary, we expect priority to be programmed by user. + match_keys, priority_val, action, action_data = parse_flow_ternary(flow, helper) + elif (flow.find("config_data") != -1): + # For meter, we expect config data to be programmed by user. + match_keys, config_data, action, action_data = parse_flow_meter(flow, helper) + + else: + # For TableAction when we use type as Action, p4rt-ctl expects flow to + # have an 'action=' configured. In this parse_flow, we use 'action=' as + # a delimiter. + match_keys, action, action_data = parse_flow(flow, helper) + + te = helper.buildTableEntry( + table_name=tbl_name, + match_fields=match_keys, + action_name=action, + action_params=action_data + if (action_data==None or action_data==['']) + else {a.name: int(action_data[idx]) for idx, + a in enumerate(helper.get_action_params(action))}, + priority=priority_val, + group_id=int(grp_id), + member_id=int(mem_id), + config_data=config_data) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.INSERT + update.entity.table_entry.CopyFrom(te) + + client.write_update(update) + +def parse_meter_configData(flow): + tmp = flow.split(",meter_config=") + key = tmp[0] + config_data = tmp[1] + + mk_fields = key.split(",") + mtr_id_str = mk_fields[0].split("=") + index_str = mk_fields[1].split("=") + meter_id=mtr_id_str[1] + index=index_str[1] + + return meter_id, index, config_data + +@with_client +def p4ctl_add_meter_config(client, bridge, tbl_name, flow): + """ + add-entry SWITCH TABLE MATCH_KEY ACTION ACTION_DATA + Example: + ./setup/bin/p4rt-ctl add-meter-config br0 my_control.meter1 "meter_id=2244878476, meter_index=6,meter_config=policer_meter_prof_id=0,policer_spec_cir_unit=0,policer_spec_cbs_unit=1,policer_spec_eir_unit=0,policer_spec_ebs_unit=1,policer_spec_cir=100,policer_spec_cbs=1500,policer_spec_eir=100,policer_spec_ebs=1500" + """ + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + if (flow.find("meter_config") != -1): + # For meter, we expect meter_index and config data to be programmed by user. + meter_id, index, config_data = parse_meter_configData(flow) + entity = p4runtime_pb2.Entity() + ce = entity.meter_entry + + if ce is None: + raise Exception("Cannot find meter_entry field in entity") + + ce.index.index = int(index) + ce.meter_id = int(meter_id) + datas = config_data.split(",") + + # Mapping of keys to attribute names + attribute_mapping = { + "policer_meter_prof_id": "policer_meter_prof_id", + "policer_spec_cir_unit": "policer_spec_cir_unit", + "policer_spec_cbs_unit": "policer_spec_cbs_unit", + "policer_spec_eir_unit": "policer_spec_eir_unit", + "policer_spec_ebs_unit": "policer_spec_ebs_unit", + "policer_spec_cir": "policer_spec_cir", + "policer_spec_cbs": "policer_spec_cbs", + "policer_spec_eir": "policer_spec_eir", + "policer_spec_ebs": "policer_spec_ebs" + } + # Iterate through the key-value pairs and set attributes + for data in datas: + key, value = data.strip().split("=") + attribute_name = attribute_mapping.get(key) + if attribute_name: + setattr(ce.config.policer_meter_config, attribute_name, int(value)) + + # Send a write() request + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.MODIFY + update.entity.meter_entry.CopyFrom(ce) + + client.write_update(update) + +@with_client +def p4ctl_mod_entry(client, bridge, tbl_name, flow): + """ + mod-entry SWITCH TABLE MATCH_KEY ACTION ACTION_DATA + Example: + p4rt-ctl mod-entry br0 pipe.filter_tbl + headers.ipv4.dstAddr=10.10.10.10,action=pipe.push_mpls(10) + """ + priority_val = None + grp_id = 0 + mem_id = 0 + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + + if (flow.find("group_id") != -1 or flow.find("member_id") != -1): + # For TableAction when we use type as action_profile_member_id or + # action_profile_group_id, p4rt-ctl expects either group_id or + # member_id as part of flow. Hence delimiter as 'action=' doesnt work + # here. Use parse_flow_as in this case, where we use ',' as a delimiter + match_keys, action, action_data, grp_id, mem_id = parse_flow_as(flow) + elif (flow.find("priority") != -1): + # For match_type ternary, we expect priority to be programmed by user. + match_keys, priority_val, action, action_data = parse_flow_ternary(flow, helper) + else: + # For TableAction when we use type as Action, p4rt-ctl expects flow to + # have an 'action=' configured. In this parse_flow, we use 'action=' as + # a delimiter. + match_keys, action, action_data = parse_flow(flow, helper) + + te = helper.buildTableEntry( + table_name=tbl_name, + match_fields=match_keys, + action_name=action, + action_params=action_data + if (action_data==None or action_data==['']) + else {a.name: int(action_data[idx]) for idx, + a in enumerate(helper.get_action_params(action))}, + priority=priority_val, + group_id=int(grp_id), + member_id=int(mem_id)) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.MODIFY + update.entity.table_entry.CopyFrom(te) + + client.write_update(update) + + + +@with_client +def p4ctl_set_default_entry(client, bridge, tbl_name, action): + """ + set-default-entry SWITCH TABLE ACTION + Example: + p4rt-ctl set-default-entry br0 pipe.filter_tbl pipe.push_mpls(10) + """ + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + helper = P4InfoHelper(p4info) + + action_name, action_data = parse_action(action) + te = helper.buildTableEntry( + table_name=tbl_name, + default_action=True, + action_name=action_name, + action_params={a.name: int(action_data[idx]) for idx, + a in enumerate(helper.get_action_params(action_name))}) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.MODIFY + update.entity.table_entry.CopyFrom(te) + + client.write_update(update) + + +@with_client +def p4ctl_get_default_entry(client, bridge, tbl_name): + """ + get-default-entry SWITCH TABLE + Example: + p4rt-ctl get-default-entry br0 pipe.filter_tbl + """ + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + helper = P4InfoHelper(p4info) + + entity = p4runtime_pb2.Entity() + table_entry = entity.table_entry + table_entry.table_id = helper.get_tables_id(tbl_name) + table_entry.is_default_action = True + + print("Default table entry for bridge {}:".format(bridge)) + for response in client.read_one(entity): + for entry in response.entities: + try: + print(_format_entry(helper, entry.table_entry)) + except AttributeError: + print(" No default entry set!") + + +@with_client +def p4ctl_del_entry(client, bridge, tbl_name, match_key): + priority = None + if (match_key.find("priority") != -1): + # For match_type ternary, we expect priority to be set by user. + key, priority = parse_match_key_ternary(match_key) + else: + key = parse_match_key(match_key) + + p4info = client.get_p4info() + + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + + te = helper.buildTableEntry( + table_name=tbl_name, + match_fields=key, + priority=priority, + ) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.DELETE + + update.entity.table_entry.CopyFrom(te) + + client.write_update(update) + + +def _format_entry(p4info_helper, table_entry): + tbl_name = p4info_helper.get_name('tables', table_entry.table_id) + output_buffer = " " + output_buffer += "table={}".format(tbl_name) + if table_entry.priority is not None and table_entry.priority != 0: + output_buffer += " priority={}".format(table_entry.priority) + + first = True + for mf in table_entry.match: + match_field_name = p4info_helper.get_match_field_name(tbl_name, + mf.field_id) + mf_val = p4info_helper.get_match_field_value(mf) + if type(mf_val) == tuple: + mf_val = "{}/{}".format(decodeToHex(mf_val[0]), mf_val[1]) + else: + mf_val = decodeToHex(mf_val) + if first: + output_buffer += " {}={}".format(match_field_name, mf_val) + first = False + else: + output_buffer += ",{}={}".format(match_field_name, mf_val) + + if table_entry.action.action.action_id is not None and \ + table_entry.action.action.action_id != 0: + output_buffer += ' actions=' + action_name = p4info_helper.get_name('actions', + table_entry.action.action.action_id) + action_params = p4info_helper.get_action_params(action_name) + params_str = "" + for idx, param in enumerate(table_entry.action.action.params): + params_str += "{}={}".format(action_params[idx].name, + decodeToHex(param.value)) + output_buffer += '{}({})'.format(action_name, params_str) + + if table_entry.action.action_profile_member_id is not None and \ + table_entry.action.action_profile_member_id != 0: + output_buffer += ' actions=' + action_name = ' member_id' + params_str = table_entry.action.action_profile_member_id + output_buffer += '{}({})'.format(action_name, params_str) + + if table_entry.action.action_profile_group_id is not None and \ + table_entry.action.action_profile_group_id != 0: + output_buffer += ' actions=' + action_name = ' group_id' + params_str = table_entry.action.action_profile_group_id + output_buffer += '{}({})'.format(action_name, params_str) + + # Need to add support for action_profile_action_set, currently not supported. + + return output_buffer + +def _format_member(p4info_helper, apm): + apm_name = p4info_helper.get_name('action_profiles', apm.action_profile_id) + output_buffer = " " + output_buffer += "action_profiles={}".format(apm_name) + + output_buffer += ' actions=' + action_name = p4info_helper.get_name('actions', + apm.action.action_id) + action_params = p4info_helper.get_action_params(action_name) + params_str = "" + for idx, param in enumerate(apm.action.params): + params_str += "{}={}".format(action_params[idx].name, + int.from_bytes(param.value, "big")) + output_buffer += '{}({})'.format(action_name, params_str) + + return output_buffer + +def _format_group(p4info_helper, apg): + apm_name = p4info_helper.get_name('action_profiles', apg.action_profile_id) + output_buffer = " " + output_buffer += "action_profiles={}".format(apm_name) + + output_buffer += ' reference_members=' + + converted_list = [str(member.member_id) for member in apg.members] + params_str = ",".join(converted_list) + + output_buffer += '({})'.format(params_str) + + output_buffer += ' max_size=' + str(apg.max_size) + + return output_buffer + +@with_client +def p4ctl_dump_entries(client, bridge, tbl_name=None): + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + table_entry = entity.table_entry + + if not tbl_name: + table_entry.table_id = 0 + else: + table_entry.table_id = helper.get_tables_id(tbl_name) + + print("Table entries for bridge {}:".format(bridge)) + for response in client.read_one(entity): + for entry in response.entities: + print(_format_entry(helper, entry.table_entry)) + +@with_client +def p4ctl_add_group(client, bridge, tbl_name, flow): + """ + add-action-profile-group SWITCH TABLE GROUP_ID MEMBER_ID/ACTIONS MAX_SIZE + Example: + p4rt-ctl add-action-profile-group br0 pipe.filter_tbl + group_id=1,reference_members=(1,2),max_size=2 + """ + group_id, members, max_size = parse_profile_group(flow) + if int(group_id) == 0: + print("Group ID 0 is unsupported.") + return + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + + apg = helper.buildActionProfileGroup( + table_name=tbl_name, + group_id=int(group_id), + max_size=int(max_size), + members=members) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.INSERT + update.entity.action_profile_group.CopyFrom(apg) + + client.write_update(update) + +@with_client +def p4ctl_mod_group(client, bridge, tbl_name, flow): + """ + modify-action-profile-group SWITCH TABLE GROUP_ID + MEMBER_ID/ACTIONS MAX_SIZE + Example: + p4rt-ctl modify-action-profile-group br0 pipe.filter_tbl + group_id=1,reference_members=(1,2),max_size=2 + """ + + group_id, members, max_size = parse_profile_group(flow) + if int(group_id) == 0: + print("Group ID 0 is unsupported.") + return + + print("Backend target does not currently support Modify Group.") + print("Instead, delete group:", group_id, "and re-add same group with " + "members:", members, " size:", max_size) + return + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + + apg = helper.buildActionProfileGroup( + table_name=tbl_name, + group_id=int(group_id), + max_size=int(max_size), + members=members) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.MODIFY + update.entity.action_profile_group.CopyFrom(apg) + + client.write_update(update) + +@with_client +def p4ctl_del_group(client, bridge, tbl_name, flow): + """ + delete-action-profile-group SWITCH TABLE GROUP_ID + Example: + p4rt-ctl delete-action-profile-group br0 pipe.filter_tbl + group_id=1 + """ + group_id = flow.split("group_id=")[1] + if int(group_id) == 0: + print("Group ID 0 is unsupported.") + return + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + apg = helper.buildActionProfileGroup( + table_name=tbl_name, + group_id=int(group_id)) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.DELETE + update.entity.action_profile_group.CopyFrom(apg) + + client.write_update(update) + +@with_client +def p4ctl_add_member(client, bridge, tbl_name, flow): + """ + add-action-profile-member SWITCH TABLE ACTION ACTION_DATA MEMBER_ID + Example: + p4rt-ctl add-action-profile-member br0 pipe.filter_tbl + action=pipe.push_mpls(10),member_id=1 + """ + action, action_data, mem_id = parse_profile_mem(flow) + if int(mem_id) == 0: + print("Member ID 0 is unsupported.") + return + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + + apm = helper.buildActionProfileMember( + table_name=tbl_name, + member_id=int(mem_id), + action_name=action, + action_params={a.name: int(action_data[idx]) for idx, + a in enumerate(helper.get_action_params(action))}) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.INSERT + update.entity.action_profile_member.CopyFrom(apm) + + client.write_update(update) + + +@with_client +def p4ctl_del_member(client, bridge, tbl_name, flow): + """ + delete-action-profile-member SWITCH TABLE MEMBER_ID + Example: + p4rt-ctl delete-action-profile-member br0 pipe.filter_tbl + member_id=1 + """ + member_id = flow.split("member_id=")[1] + + if int(member_id) == 0: + print("Member ID 0 is unsupported.") + return + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + apm = helper.buildActionProfileMember( + table_name=tbl_name, + member_id=int(member_id)) + + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.DELETE + update.entity.action_profile_member.CopyFrom(apm) + + client.write_update(update) + + +@with_client +def p4ctl_get_member(client, bridge, tbl_name, flow): + """ + get-action-profile-member SWITCH TABLE MEMBER_ID + Example: + p4rt-ctl get-action-profile-member br0 pipe.filter_tbl + "member_id=1" + """ + + member_id = flow.split("member_id=")[1] + if int(member_id) == 0: + print("Member ID 0 is unsupported.") + return + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + apm = entity.action_profile_member + + apm.member_id = int(member_id) + if not tbl_name: + apm.action_profile_id = 0 + else: + apm.action_profile_id = helper.get_action_profiles_id(tbl_name) + + print("Action associated with member_id: ", member_id) + for response in client.read_one(entity): + for entry in response.entities: + print(_format_member(helper, entry.action_profile_member)) + +@with_client +def p4ctl_get_group(client, bridge, tbl_name, flow): + """ + get-action-profile-group SWITCH TABLE GROUP_ID + Example: + p4rt-ctl get-action-profile-group br0 pipe.filter_tbl + "group_id=1" + """ + group_id = flow.split("group_id=")[1] + if int(group_id) == 0: + print("Group ID 0 is unsupported.") + return + + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + apg = entity.action_profile_group + + apg.group_id = int(group_id) + if not tbl_name: + apg.action_profile_id = 0 + else: + apg.action_profile_id = helper.get_action_profiles_id(tbl_name) + + print("Members associated with group: ", group_id) + for response in client.read_one(entity): + for entry in response.entities: + print(_format_group(helper, entry.action_profile_group)) + +def parse_rcflow(flow): + tmp = flow.split(",") + + cnt_id_str = tmp[0].split("=") + index_str = tmp[1].split("=") + + if cnt_id_str[0] != "counter_id": + print("Input error: parameter should be \'counter_id\'") + sys.exit(1) + + if index_str[0] != "index": + print("Input error: parameter should be \'index\'") + sys.exit(1) + + counter_id=cnt_id_str[1] + index=index_str[1] + + if counter_id.isdigit() is False: + print("Counter ID: \"{}\" should be numeric value".format(counter_id)) + sys.exit(1) + + if index == "UNSET": #special case for "UNSET" + index = 0 + elif index.isdigit() is False: + print("Index: \"{}\" should be numeric value".format(index)) + sys.exit(1) + + return counter_id, index + +def _format_dce(ce): + output_buffer = 'table_id={}'.format(ce.table_entry.table_id) + output_buffer += ', counter_data=(bytes={},packets={})'.format(ce.data.byte_count, ce.data.packet_count) + return output_buffer + +@with_client +def p4ctl_get_direct_counter_entry(client, bridge, cnt_tbl_name, flow): + """ + get-direct-counter SWITCH COUNTER_TABLE READ_COUNTER_FLOW + Example 1: // return direct counter stats for matching key + p4rt-ctl get-direct-counter br0 my_control.e_fwd + "hdrs.mac[vmeta.common.depth].da="0x000000000275", + hdrs.mac[vmeta.common.depth].sa="0x9ebace98d9b1"" + """ + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + key = parse_match_key(flow) + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + ce = entity.direct_counter_entry + if ce is None: + raise Exception("Cannot find direct_counter_entry field in entity") + + te = helper.buildTableEntry( + table_name=cnt_tbl_name, + match_fields=key + ) + + ce.table_entry.CopyFrom(te) + entity.direct_counter_entry.table_entry.CopyFrom(te) + for response in client.read_one(entity): + for entry in response.entities: + if entity.direct_counter_entry.table_entry.table_id == ce.table_entry.table_id: + print(_format_dce(entry.direct_counter_entry)) + +def validate_counter_name_and_id(p4info, cnt_tbl_name, ctr_id): + for iter in p4info.counters: + if iter.preamble.name == cnt_tbl_name: + if int(ctr_id) == 0 or iter.preamble.id == int(ctr_id): + return True + + return False + +def _format_ce(ce): + output_buffer = 'counter_id={}, index={}'.format(ce.counter_id, ce.index.index) + output_buffer += ', counter_data=(bytes={},packets={})'.format(ce.data.byte_count, ce.data.packet_count) + return output_buffer + +@with_client +def p4ctl_get_counter_entry(client, bridge, cnt_tbl_name, flow): + """ + get-counter-entry SWITCH COUNTER_TABLE READ_COUNTER_FLOW + Example 1: // COUNTER_ID=0, return full counter table + p4rt-ctl get-counter br0 ipv4_host_counter + "counter_id=0,index=UNSET" + p4rt-ctl get-counter br0 ipv4_host_counter + "counter_id=0,index=2" + Example 2: // INDEX=UNSET, return all entries matching with counter_id + p4rt-ctl get-counter br0 ipv4_host_pkt_counter + "counter_id=1,index=UNSET" + Example 3: // return single matching counter entry + p4rt-ctl get-counter br0 ipv4_host_pkt_counter + "counter_id=1,index=2" + """ + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + ctr_id, idx = parse_rcflow(flow) + + if validate_counter_name_and_id(p4info, cnt_tbl_name, ctr_id) is False: + print("Error: Could not find counter table \'{}\' or counter_id {} in P4Info".format(cnt_tbl_name, ctr_id)) + sys.exit(1) + + + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + ce = entity.counter_entry + + if ce is None: + raise Exception("Cannot find counter_entry field in entity") + + ce.counter_id = int(ctr_id) or 0 #Assign 0 if None + + ce.index.index = int(idx) + + for response in client.read_one(entity): + for entry in response.entities: + if entry.counter_entry.counter_id == ce.counter_id and entry.counter_entry.index.index == int(idx): + print(_format_ce(entry.counter_entry)) + +@with_client +def p4ctl_reset_counter_entry(client, bridge, cnt_tbl_name, flow): + """ + reset-counter-entry SWITCH COUNTER_TABLE RESET_COUNTER_FLOW + Example : + p4rt-ctl reset-counter br0 pipe.port_bytes_in + "counter_id=1,index=2" + """ + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + ctr_id, idx = parse_rcflow(flow) + + if validate_counter_name_and_id(p4info, cnt_tbl_name, ctr_id) is False: + print("Error: Could not find counter table \'{}\' or counter_id {} in P4Info".format(cnt_tbl_name, ctr_id)) + sys.exit(1) + + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + ce = entity.counter_entry + + if ce is None: + raise Exception("Cannot find counter_entry field in entity") + + ce.counter_id = int(ctr_id) + ce.index.index = int(idx) + ce.data.byte_count = 0 + ce.data.packet_count = 0 + + # Send a MODIFY write() request + update = p4runtime_pb2.Update() + update.type = p4runtime_pb2.Update.MODIFY + update.entity.counter_entry.CopyFrom(ce) + + client.write_update(update) + +def parse_get_meter_flow(flow): + tmp = flow.split(",") + + mtr_id_str = tmp[0].split("=") + index_str = tmp[1].split("=") + + if mtr_id_str[0] != "meter_id": + print("Input error: parameter should be \'meter_id\'") + sys.exit(1) + + if index_str[0] != "meter_index": + print("Input error: parameter should be \'meter_index\'") + sys.exit(1) + + meter_id=mtr_id_str[1] + index=index_str[1] + + if meter_id.isdigit() is False: + print("Meter ID: \"{}\" should be numeric value".format(meter_id)) + sys.exit(1) + + if index.isdigit() is False: + print("Index: \"{}\" should be numeric value".format(index)) + sys.exit(1) + + return meter_id, index + +def _format_me(ce): + output_buffer = 'meter_id={}, index={}'.format(ce.meter_id, ce.index) + output_buffer += ', meter_counter_data_green=(bytes={},packets={})'.format(ce.counter_data.green.byte_count, ce.counter_data.green.packet_count) + output_buffer += ', meter_counter_data_yellow=(bytes={},packets={})'.format(ce.counter_data.yellow.byte_count, ce.counter_data.yellow.packet_count) + output_buffer += ', meter_counter_data_red=(bytes={},packets={})'.format(ce.counter_data.red.byte_count, ce.counter_data.red.packet_count) + return output_buffer + +def _format_dme(ce): + pdb.set_trace() + output_buffer = 'table_id={}'.format(ce.table_entry.table_id) + output_buffer += ', direct_meter_counter_data_green=(bytes={},packets={})'.format(ce.counter_data.green.byte_count, ce.counter_data.green.packet_count) + output_buffer += ', direct_meter_counter_data_yellow=(bytes={},packets={})'.format(ce.counter_data.yellow.byte_count, ce.counter_data.yellow.packet_count) + output_buffer += ', direct_meter_counter_data_red=(bytes={},packets={})'.format(ce.counter_data.red.byte_count, ce.counter_data.red.packet_count) + return output_buffer + +@with_client +def p4ctl_get_packet_mod_meter_entry(client, bridge, tbl_name, flow): + """ + p4ctl-get-packet-mod-meter-entry SWITCH METER_TABLE READ_METER_FLOW + Example : // return single matching meter entry + p4rt-ctl get-packet-mod-meter br0 my_control.meter1 "meter_id=2244878476,meter_index=6" + """ + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + mtr_id, idx = parse_get_meter_flow(flow) + + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + ce = entity.meter_entry + + if ce is None: + raise Exception("Cannot find meter_entry field in entity") + + ce.meter_id = int(mtr_id) or 0 #Assign 0 if None + ce.index.index = int(idx) + + for response in client.read_one(entity): + for entry in response.entities: + if entry.meter_entry.meter_id == ce.meter_id and entry.meter_entry.index.index == int(idx): + print(_format_me(entry.meter_entry)) + +@with_client +def p4ctl_get_direct_pkt_mod_meter_entry(client, bridge, tbl_name, flow): + """ + get-direct-pkt-mod-meter SWITCH METER_TABLE READ_METER_FLOW + Example 1: // return direct meter stats for matching key + p4rt-ctl get-direct-pkt-mod-meter br0 my_control.e_fwd + "hdrs.mac[vmeta.common.depth].da="0x000000000275", + hdrs.mac[vmeta.common.depth].sa="0x9ebace98d9b1"" + """ + p4info = client.get_p4info() + if not p4info: + raise Exception("cannot retrieve P4Info from device {}".format(bridge)) + + key = parse_match_key(flow) + helper = P4InfoHelper(p4info) + entity = p4runtime_pb2.Entity() + ce = entity.direct_meter_entry + if ce is None: + raise Exception("Cannot find direct_meter_entry field in entity") + + te = helper.buildTableEntry( + table_name=tbl_name, + match_fields=key + ) + + ce.table_entry.CopyFrom(te) + entity.direct_meter_entry.table_entry.CopyFrom(te) + for response in client.read_one(entity): + for entry in response.entities: + if entity.direct_meter_entry.table_entry.table_id == ce.table_entry.table_id: + print(_format_dme(entry.direct_meter_entry)) + +all_commands = { + "show": (p4ctl_show, 1), + "set-pipe": (p4ctl_set_pipe, 3), + "start-pktio": (p4ctl_start_pktio, 1), + "get-pipe": (p4ctl_get_pipe, 1), + "add-entry": (p4ctl_add_entry, 3), + "modify-entry": (p4ctl_mod_entry, 3), + "set-default-entry": (p4ctl_set_default_entry, 3), + "get-default-entry": (p4ctl_get_default_entry, 2), + "del-entry": (p4ctl_del_entry, 2), + "dump-entries": (p4ctl_dump_entries, 1), + "add-action-profile-member": (p4ctl_add_member, 3), + "delete-action-profile-member": (p4ctl_del_member, 3), + "add-action-profile-group": (p4ctl_add_group, 3), + #"modify-action-profile-group": (p4ctl_mod_group, 3), + "delete-action-profile-group": (p4ctl_del_group, 3), + "get-action-profile-member": (p4ctl_get_member, 3), + "get-action-profile-group": (p4ctl_get_group, 3), + "get-counter" : (p4ctl_get_counter_entry, 2), + "get-direct-counter" : (p4ctl_get_direct_counter_entry, 2), + "reset-counter" : (p4ctl_reset_counter_entry, 2), + "add-meter-config" : (p4ctl_add_meter_config, 3), + "get-packet-mod-meter" : (p4ctl_get_packet_mod_meter_entry, 2), + "get-direct-pkt-mod-meter" : (p4ctl_get_direct_pkt_mod_meter_entry, 2) +} + + +def validate_args(argv, command, expected_nr): + if len(argv)-2 < expected_nr: + raise Exception("p4rt-ctl: '{}' command requires at least {} " + "arguments".format(command, expected_nr)) + +# Global variable +grpc_server_addr = "" + +def main(): + global grpc_server_addr + if len(sys.argv) < 2: + print("p4rt-ctl: missing command name; use --help for help") + sys.exit(1) + parser = argparse.ArgumentParser(usage=USAGE) + parser.add_argument('-g', '--grpc_addr', required=False, type=str, help="P4Runtime gRPC server address, format : :") + parser.add_argument('command', nargs='*', help='Subcommand to run') + args = parser.parse_args() + if args.grpc_addr is None: + grpc_server_addr = 'localhost:9559' + else: + ip_addr = args.grpc_addr.split(":"); + if valid_ip(ip_addr[0]): + grpc_server_addr = str(args.grpc_addr) + else: + print("Invalid IP address for GRPC server ") + system.exit(1) + if args.command[0] not in all_commands.keys(): + usage() + + + try: + # use dispatch pattern to invoke method with same name + # but first validate number of arguments + validate_args(sys.argv, command=args.command[0], + expected_nr=all_commands[args.command[0]][1]) + all_commands[args.command[0]][0](*args.command[1:]) + + except Exception as e: + print("Error:", str(e)) + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0-py3-none-any.whl b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0-py3-none-any.whl new file mode 100644 index 000000000..1bb524d01 Binary files /dev/null and b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0-py3-none-any.whl differ diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/copy_p4rt_python_deps.sh b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/copy_p4rt_python_deps.sh new file mode 100755 index 000000000..7922e02e7 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/copy_p4rt_python_deps.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -eux +#Note, set pipefail supported in bash, but not in sh, so below is the alternative to check failures when using pipe(with /bin/sh) +set -o errexit + +output="$(pip show pip | grep Location)" && \ +pkg_install_path="$(echo "$output" | awk '{print $2}')" && \ +echo "$pkg_install_path" && \ +cp -R /opt/p4/p4-cp-nws/bin/p4 "$pkg_install_path" diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/__init__.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/__init__.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/__init__.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4info_pb2.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4info_pb2.py new file mode 100644 index 000000000..c066e8a04 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4info_pb2.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: p4/config/v1/p4info.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from p4.config.v1 import p4types_pb2 as p4_dot_config_dot_v1_dot_p4types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19p4/config/v1/p4info.proto\x12\x0cp4.config.v1\x1a\x19google/protobuf/any.proto\x1a\x1ap4/config/v1/p4types.proto\"\x88\x05\n\x06P4Info\x12\'\n\x08pkg_info\x18\x01 \x01(\x0b\x32\x15.p4.config.v1.PkgInfo\x12#\n\x06tables\x18\x02 \x03(\x0b\x32\x13.p4.config.v1.Table\x12%\n\x07\x61\x63tions\x18\x03 \x03(\x0b\x32\x14.p4.config.v1.Action\x12\x34\n\x0f\x61\x63tion_profiles\x18\x04 \x03(\x0b\x32\x1b.p4.config.v1.ActionProfile\x12\'\n\x08\x63ounters\x18\x05 \x03(\x0b\x32\x15.p4.config.v1.Counter\x12\x34\n\x0f\x64irect_counters\x18\x06 \x03(\x0b\x32\x1b.p4.config.v1.DirectCounter\x12#\n\x06meters\x18\x07 \x03(\x0b\x32\x13.p4.config.v1.Meter\x12\x30\n\rdirect_meters\x18\x08 \x03(\x0b\x32\x19.p4.config.v1.DirectMeter\x12J\n\x1a\x63ontroller_packet_metadata\x18\t \x03(\x0b\x32&.p4.config.v1.ControllerPacketMetadata\x12*\n\nvalue_sets\x18\n \x03(\x0b\x32\x16.p4.config.v1.ValueSet\x12)\n\tregisters\x18\x0b \x03(\x0b\x32\x16.p4.config.v1.Register\x12%\n\x07\x64igests\x18\x0c \x03(\x0b\x32\x14.p4.config.v1.Digest\x12%\n\x07\x65xterns\x18\x64 \x03(\x0b\x32\x14.p4.config.v1.Extern\x12,\n\ttype_info\x18\xc8\x01 \x01(\x0b\x32\x18.p4.config.v1.P4TypeInfo\"3\n\rDocumentation\x12\r\n\x05\x62rief\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xa9\x02\n\x07PkgInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12(\n\x03\x64oc\x18\x03 \x01(\x0b\x32\x1b.p4.config.v1.Documentation\x12\x13\n\x0b\x61nnotations\x18\x04 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\n \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x0c\n\x04\x61rch\x18\x05 \x01(\t\x12\x14\n\x0corganization\x18\x06 \x01(\t\x12\x0f\n\x07\x63ontact\x18\x07 \x01(\t\x12\x0b\n\x03url\x18\x08 \x01(\t\x12\x42\n\x16structured_annotations\x18\t \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"\xbc\x02\n\x05P4Ids\"\xb2\x02\n\x06Prefix\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TION\x10\x01\x12\t\n\x05TABLE\x10\x02\x12\r\n\tVALUE_SET\x10\x03\x12\x15\n\x11\x43ONTROLLER_HEADER\x10\x04\x12\x15\n\x11PSA_EXTERNS_START\x10\x10\x12\x12\n\x0e\x41\x43TION_PROFILE\x10\x11\x12\x0b\n\x07\x43OUNTER\x10\x12\x12\x12\n\x0e\x44IRECT_COUNTER\x10\x13\x12\t\n\x05METER\x10\x14\x12\x10\n\x0c\x44IRECT_METER\x10\x15\x12\x0c\n\x08REGISTER\x10\x16\x12\n\n\x06\x44IGEST\x10\x17\x12\x18\n\x13OTHER_EXTERNS_START\x10\x80\x01\x12\x15\n\x10PACKET_MOD_METER\x10\x85\x01\x12\x1c\n\x17\x44IRECT_PACKET_MOD_METER\x10\x86\x01\x12\x08\n\x03MAX\x10\xff\x01\"\xf2\x01\n\x08Preamble\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x61lias\x18\x03 \x01(\t\x12\x13\n\x0b\x61nnotations\x18\x04 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x07 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12(\n\x03\x64oc\x18\x05 \x01(\x0b\x32\x1b.p4.config.v1.Documentation\x12\x42\n\x16structured_annotations\x18\x06 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"k\n\x06\x45xtern\x12\x16\n\x0e\x65xtern_type_id\x18\x01 \x01(\r\x12\x18\n\x10\x65xtern_type_name\x18\x02 \x01(\t\x12/\n\tinstances\x18\x03 \x03(\x0b\x32\x1c.p4.config.v1.ExternInstance\"^\n\x0e\x45xternInstance\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12\"\n\x04info\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\"\xdc\x03\n\nMatchField\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\n \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x10\n\x08\x62itwidth\x18\x04 \x01(\x05\x12\x38\n\nmatch_type\x18\x05 \x01(\x0e\x32\".p4.config.v1.MatchField.MatchTypeH\x00\x12\x1a\n\x10other_match_type\x18\x07 \x01(\tH\x00\x12(\n\x03\x64oc\x18\x06 \x01(\x0b\x32\x1b.p4.config.v1.Documentation\x12,\n\ttype_name\x18\x08 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\x12\x42\n\x16structured_annotations\x18\t \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"V\n\tMatchType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x45XACT\x10\x02\x12\x07\n\x03LPM\x10\x03\x12\x0b\n\x07TERNARY\x10\x04\x12\t\n\x05RANGE\x10\x05\x12\x0c\n\x08OPTIONAL\x10\x06\x42\x07\n\x05match\"\xde\x03\n\x05Table\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12.\n\x0cmatch_fields\x18\x02 \x03(\x0b\x32\x18.p4.config.v1.MatchField\x12,\n\x0b\x61\x63tion_refs\x18\x03 \x03(\x0b\x32\x17.p4.config.v1.ActionRef\x12\x1f\n\x17\x63onst_default_action_id\x18\x04 \x01(\r\x12\x19\n\x11implementation_id\x18\x06 \x01(\r\x12\x1b\n\x13\x64irect_resource_ids\x18\x07 \x03(\r\x12\x0c\n\x04size\x18\x08 \x01(\x03\x12\x46\n\x15idle_timeout_behavior\x18\t \x01(\x0e\x32\'.p4.config.v1.Table.IdleTimeoutBehavior\x12\x16\n\x0eis_const_table\x18\n \x01(\x08\x12\x1b\n\x13has_initial_entries\x18\x0b \x01(\x08\x12.\n\x10other_properties\x18\x64 \x01(\x0b\x32\x14.google.protobuf.Any\"9\n\x13IdleTimeoutBehavior\x12\x0e\n\nNO_TIMEOUT\x10\x00\x12\x12\n\x0eNOTIFY_CONTROL\x10\x01\"\x9c\x02\n\tActionRef\x12\n\n\x02id\x18\x01 \x01(\r\x12,\n\x05scope\x18\x03 \x01(\x0e\x32\x1d.p4.config.v1.ActionRef.Scope\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"@\n\x05Scope\x12\x15\n\x11TABLE_AND_DEFAULT\x10\x00\x12\x0e\n\nTABLE_ONLY\x10\x01\x12\x10\n\x0c\x44\x45\x46\x41ULT_ONLY\x10\x02\"\x81\x03\n\x06\x41\x63tion\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12*\n\x06params\x18\x02 \x03(\x0b\x32\x1a.p4.config.v1.Action.Param\x1a\xa0\x02\n\x05Param\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x08 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x10\n\x08\x62itwidth\x18\x04 \x01(\x05\x12(\n\x03\x64oc\x18\x05 \x01(\x0b\x32\x1b.p4.config.v1.Documentation\x12,\n\ttype_name\x18\x06 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\x12\x42\n\x16structured_annotations\x18\x07 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"\x82\x03\n\rActionProfile\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12\x11\n\ttable_ids\x18\x02 \x03(\r\x12\x15\n\rwith_selector\x18\x03 \x01(\x08\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x16\n\x0emax_group_size\x18\x05 \x01(\x05\x12\x42\n\x0esum_of_weights\x18\x06 \x01(\x0b\x32(.p4.config.v1.ActionProfile.SumOfWeightsH\x00\x12\x42\n\x0esum_of_members\x18\x07 \x01(\x0b\x32(.p4.config.v1.ActionProfile.SumOfMembersH\x00\x1a\x0e\n\x0cSumOfWeights\x1a\x44\n\x0cSumOfMembers\x12\x1e\n\x11max_member_weight\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x14\n\x12_max_member_weightB\x19\n\x17selector_size_semantics\"v\n\x0b\x43ounterSpec\x12,\n\x04unit\x18\x01 \x01(\x0e\x32\x1e.p4.config.v1.CounterSpec.Unit\"9\n\x04Unit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\x0b\n\x07PACKETS\x10\x02\x12\x08\n\x04\x42OTH\x10\x03\"\x9e\x01\n\x07\x43ounter\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12\'\n\x04spec\x18\x02 \x01(\x0b\x32\x19.p4.config.v1.CounterSpec\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x32\n\x0findex_type_name\x18\x04 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\"{\n\rDirectCounter\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12\'\n\x04spec\x18\x02 \x01(\x0b\x32\x19.p4.config.v1.CounterSpec\x12\x17\n\x0f\x64irect_table_id\x18\x03 \x01(\r\"h\n\tMeterSpec\x12*\n\x04unit\x18\x01 \x01(\x0e\x32\x1c.p4.config.v1.MeterSpec.Unit\"/\n\x04Unit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\x0b\n\x07PACKETS\x10\x02\"\x9a\x01\n\x05Meter\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12%\n\x04spec\x18\x02 \x01(\x0b\x32\x17.p4.config.v1.MeterSpec\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x32\n\x0findex_type_name\x18\x04 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\"w\n\x0b\x44irectMeter\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12%\n\x04spec\x18\x02 \x01(\x0b\x32\x17.p4.config.v1.MeterSpec\x12\x17\n\x0f\x64irect_table_id\x18\x03 \x01(\r\"\x83\x03\n\x18\x43ontrollerPacketMetadata\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12\x41\n\x08metadata\x18\x02 \x03(\x0b\x32/.p4.config.v1.ControllerPacketMetadata.Metadata\x1a\xf9\x01\n\x08Metadata\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x07 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x10\n\x08\x62itwidth\x18\x04 \x01(\x05\x12,\n\ttype_name\x18\x05 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\x12\x42\n\x16structured_annotations\x18\x06 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"k\n\x08ValueSet\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12\'\n\x05match\x18\x02 \x03(\x0b\x32\x18.p4.config.v1.MatchField\x12\x0c\n\x04size\x18\x03 \x01(\x05\"\xa7\x01\n\x08Register\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12/\n\ttype_spec\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpec\x12\x0c\n\x04size\x18\x03 \x01(\x05\x12\x32\n\x0findex_type_name\x18\x04 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\"c\n\x06\x44igest\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12/\n\ttype_spec\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpec\"\x84\x01\n\x0ePacketModMeter\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12%\n\x04spec\x18\x02 \x01(\x0b\x32\x17.p4.config.v1.MeterSpec\x12\x0c\n\x04size\x18\x03 \x01(\x05\x12\x13\n\x0bindex_width\x18\x04 \x01(\r\"g\n\x14\x44irectPacketModMeter\x12(\n\x08preamble\x18\x01 \x01(\x0b\x32\x16.p4.config.v1.Preamble\x12%\n\x04spec\x18\x02 \x01(\x0b\x32\x17.p4.config.v1.MeterSpecB-Z+github.com/p4lang/p4runtime/go/p4/config/v1b\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'p4.config.v1.p4info_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z+github.com/p4lang/p4runtime/go/p4/config/v1' + _P4INFO._serialized_start=99 + _P4INFO._serialized_end=747 + _DOCUMENTATION._serialized_start=749 + _DOCUMENTATION._serialized_end=800 + _PKGINFO._serialized_start=803 + _PKGINFO._serialized_end=1100 + _P4IDS._serialized_start=1103 + _P4IDS._serialized_end=1419 + _P4IDS_PREFIX._serialized_start=1113 + _P4IDS_PREFIX._serialized_end=1419 + _PREAMBLE._serialized_start=1422 + _PREAMBLE._serialized_end=1664 + _EXTERN._serialized_start=1666 + _EXTERN._serialized_end=1773 + _EXTERNINSTANCE._serialized_start=1775 + _EXTERNINSTANCE._serialized_end=1869 + _MATCHFIELD._serialized_start=1872 + _MATCHFIELD._serialized_end=2348 + _MATCHFIELD_MATCHTYPE._serialized_start=2253 + _MATCHFIELD_MATCHTYPE._serialized_end=2339 + _TABLE._serialized_start=2351 + _TABLE._serialized_end=2829 + _TABLE_IDLETIMEOUTBEHAVIOR._serialized_start=2772 + _TABLE_IDLETIMEOUTBEHAVIOR._serialized_end=2829 + _ACTIONREF._serialized_start=2832 + _ACTIONREF._serialized_end=3116 + _ACTIONREF_SCOPE._serialized_start=3052 + _ACTIONREF_SCOPE._serialized_end=3116 + _ACTION._serialized_start=3119 + _ACTION._serialized_end=3504 + _ACTION_PARAM._serialized_start=3216 + _ACTION_PARAM._serialized_end=3504 + _ACTIONPROFILE._serialized_start=3507 + _ACTIONPROFILE._serialized_end=3893 + _ACTIONPROFILE_SUMOFWEIGHTS._serialized_start=3782 + _ACTIONPROFILE_SUMOFWEIGHTS._serialized_end=3796 + _ACTIONPROFILE_SUMOFMEMBERS._serialized_start=3798 + _ACTIONPROFILE_SUMOFMEMBERS._serialized_end=3866 + _COUNTERSPEC._serialized_start=3895 + _COUNTERSPEC._serialized_end=4013 + _COUNTERSPEC_UNIT._serialized_start=3956 + _COUNTERSPEC_UNIT._serialized_end=4013 + _COUNTER._serialized_start=4016 + _COUNTER._serialized_end=4174 + _DIRECTCOUNTER._serialized_start=4176 + _DIRECTCOUNTER._serialized_end=4299 + _METERSPEC._serialized_start=4301 + _METERSPEC._serialized_end=4405 + _METERSPEC_UNIT._serialized_start=3956 + _METERSPEC_UNIT._serialized_end=4003 + _METER._serialized_start=4408 + _METER._serialized_end=4562 + _DIRECTMETER._serialized_start=4564 + _DIRECTMETER._serialized_end=4683 + _CONTROLLERPACKETMETADATA._serialized_start=4686 + _CONTROLLERPACKETMETADATA._serialized_end=5073 + _CONTROLLERPACKETMETADATA_METADATA._serialized_start=4824 + _CONTROLLERPACKETMETADATA_METADATA._serialized_end=5073 + _VALUESET._serialized_start=5075 + _VALUESET._serialized_end=5182 + _REGISTER._serialized_start=5185 + _REGISTER._serialized_end=5352 + _DIGEST._serialized_start=5354 + _DIGEST._serialized_end=5453 + _PACKETMODMETER._serialized_start=5456 + _PACKETMODMETER._serialized_end=5588 + _DIRECTPACKETMODMETER._serialized_start=5590 + _DIRECTPACKETMODMETER._serialized_end=5693 +# @@protoc_insertion_point(module_scope) diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4info_pb2_grpc.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4info_pb2_grpc.py new file mode 100644 index 000000000..2daafffeb --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4info_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4types_pb2.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4types_pb2.py new file mode 100644 index 000000000..4772844d5 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4types_pb2.py @@ -0,0 +1,112 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: p4/config/v1/p4types.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ap4/config/v1/p4types.proto\x12\x0cp4.config.v1\"\xa1\x07\n\nP4TypeInfo\x12\x36\n\x07structs\x18\x01 \x03(\x0b\x32%.p4.config.v1.P4TypeInfo.StructsEntry\x12\x36\n\x07headers\x18\x02 \x03(\x0b\x32%.p4.config.v1.P4TypeInfo.HeadersEntry\x12\x41\n\rheader_unions\x18\x03 \x03(\x0b\x32*.p4.config.v1.P4TypeInfo.HeaderUnionsEntry\x12\x32\n\x05\x65nums\x18\x04 \x03(\x0b\x32#.p4.config.v1.P4TypeInfo.EnumsEntry\x12,\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x1d.p4.config.v1.P4ErrorTypeSpec\x12K\n\x12serializable_enums\x18\x06 \x03(\x0b\x32/.p4.config.v1.P4TypeInfo.SerializableEnumsEntry\x12\x39\n\tnew_types\x18\x07 \x03(\x0b\x32&.p4.config.v1.P4TypeInfo.NewTypesEntry\x1aN\n\x0cStructsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.p4.config.v1.P4StructTypeSpec:\x02\x38\x01\x1aN\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.p4.config.v1.P4HeaderTypeSpec:\x02\x38\x01\x1aX\n\x11HeaderUnionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.p4.config.v1.P4HeaderUnionTypeSpec:\x02\x38\x01\x1aJ\n\nEnumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.P4EnumTypeSpec:\x02\x38\x01\x1a\x62\n\x16SerializableEnumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.p4.config.v1.P4SerializableEnumTypeSpec:\x02\x38\x01\x1aL\n\rNewTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.p4.config.v1.P4NewTypeSpec:\x02\x38\x01\"\x83\x05\n\x0eP4DataTypeSpec\x12:\n\tbitstring\x18\x01 \x01(\x0b\x32%.p4.config.v1.P4BitstringLikeTypeSpecH\x00\x12(\n\x04\x62ool\x18\x02 \x01(\x0b\x32\x18.p4.config.v1.P4BoolTypeH\x00\x12.\n\x05tuple\x18\x03 \x01(\x0b\x32\x1d.p4.config.v1.P4TupleTypeSpecH\x00\x12+\n\x06struct\x18\x04 \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12+\n\x06header\x18\x05 \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12\x31\n\x0cheader_union\x18\x06 \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12;\n\x0cheader_stack\x18\x07 \x01(\x0b\x32#.p4.config.v1.P4HeaderStackTypeSpecH\x00\x12\x46\n\x12header_union_stack\x18\x08 \x01(\x0b\x32(.p4.config.v1.P4HeaderUnionStackTypeSpecH\x00\x12)\n\x04\x65num\x18\t \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12*\n\x05\x65rror\x18\n \x01(\x0b\x32\x19.p4.config.v1.P4ErrorTypeH\x00\x12\x36\n\x11serializable_enum\x18\x0b \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12-\n\x08new_type\x18\x0c \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x42\x0b\n\ttype_spec\"\x1b\n\x0bP4NamedType\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x0c\n\nP4BoolType\"\r\n\x0bP4ErrorType\"\xc5\x02\n\x17P4BitstringLikeTypeSpec\x12*\n\x03\x62it\x18\x01 \x01(\x0b\x32\x1b.p4.config.v1.P4BitTypeSpecH\x00\x12*\n\x03int\x18\x02 \x01(\x0b\x32\x1b.p4.config.v1.P4IntTypeSpecH\x00\x12\x30\n\x06varbit\x18\x03 \x01(\x0b\x32\x1e.p4.config.v1.P4VarbitTypeSpecH\x00\x12\x13\n\x0b\x61nnotations\x18\x04 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x06 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotationB\x0b\n\ttype_spec\"!\n\rP4BitTypeSpec\x12\x10\n\x08\x62itwidth\x18\x01 \x01(\x05\"!\n\rP4IntTypeSpec\x12\x10\n\x08\x62itwidth\x18\x01 \x01(\x05\"(\n\x10P4VarbitTypeSpec\x12\x14\n\x0cmax_bitwidth\x18\x01 \x01(\x05\"@\n\x0fP4TupleTypeSpec\x12-\n\x07members\x18\x01 \x03(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpec\"\xa8\x02\n\x10P4StructTypeSpec\x12\x36\n\x07members\x18\x01 \x03(\x0b\x32%.p4.config.v1.P4StructTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x03 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\x1aG\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\ttype_spec\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpec\"\xb1\x02\n\x10P4HeaderTypeSpec\x12\x36\n\x07members\x18\x01 \x03(\x0b\x32%.p4.config.v1.P4HeaderTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x03 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\x1aP\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\ttype_spec\x18\x02 \x01(\x0b\x32%.p4.config.v1.P4BitstringLikeTypeSpec\"\xac\x02\n\x15P4HeaderUnionTypeSpec\x12;\n\x07members\x18\x01 \x03(\x0b\x32*.p4.config.v1.P4HeaderUnionTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x03 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\x1a\x41\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x06header\x18\x02 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\"P\n\x15P4HeaderStackTypeSpec\x12)\n\x06header\x18\x01 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\x12\x0c\n\x04size\x18\x02 \x01(\x05\"[\n\x1aP4HeaderUnionStackTypeSpec\x12/\n\x0cheader_union\x18\x01 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\x12\x0c\n\x04size\x18\x02 \x01(\x05\"D\n\x0cKeyValuePair\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.p4.config.v1.Expression\"@\n\x10KeyValuePairList\x12,\n\x08kv_pairs\x18\x01 \x03(\x0b\x32\x1a.p4.config.v1.KeyValuePair\"Z\n\nExpression\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x15\n\x0bint64_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x42\x07\n\x05value\"?\n\x0e\x45xpressionList\x12-\n\x0b\x65xpressions\x18\x01 \x03(\x0b\x32\x18.p4.config.v1.Expression\"\xd4\x01\n\x14StructuredAnnotation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x0f\x65xpression_list\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.ExpressionListH\x00\x12\x36\n\x0ckv_pair_list\x18\x03 \x01(\x0b\x32\x1e.p4.config.v1.KeyValuePairListH\x00\x12\x35\n\x0fsource_location\x18\x04 \x01(\x0b\x32\x1c.p4.config.v1.SourceLocationB\x06\n\x04\x62ody\"<\n\x0eSourceLocation\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x0c\n\x04line\x18\x02 \x01(\x05\x12\x0e\n\x06\x63olumn\x18\x03 \x01(\x05\"\x89\x03\n\x0eP4EnumTypeSpec\x12\x34\n\x07members\x18\x01 \x03(\x0b\x32#.p4.config.v1.P4EnumTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x04 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x03 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\x1a\xab\x01\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x04 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x03 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"\xe6\x03\n\x1aP4SerializableEnumTypeSpec\x12\x34\n\x0funderlying_type\x18\x01 \x01(\x0b\x32\x1b.p4.config.v1.P4BitTypeSpec\x12@\n\x07members\x18\x02 \x03(\x0b\x32/.p4.config.v1.P4SerializableEnumTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\x1a\xba\x01\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"\"\n\x0fP4ErrorTypeSpec\x12\x0f\n\x07members\x18\x01 \x03(\t\"\x98\x01\n\x14P4NewTypeTranslation\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x16\n\x0csdn_bitwidth\x18\x02 \x01(\x05H\x00\x12\x42\n\nsdn_string\x18\x03 \x01(\x0b\x32,.p4.config.v1.P4NewTypeTranslation.SdnStringH\x00\x1a\x0b\n\tSdnStringB\n\n\x08sdn_type\"\xac\x02\n\rP4NewTypeSpec\x12\x35\n\roriginal_type\x18\x01 \x01(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpecH\x00\x12=\n\x0ftranslated_type\x18\x02 \x01(\x0b\x32\".p4.config.v1.P4NewTypeTranslationH\x00\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotationB\x10\n\x0erepresentationB-Z+github.com/p4lang/p4runtime/go/p4/config/v1b\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'p4.config.v1.p4types_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z+github.com/p4lang/p4runtime/go/p4/config/v1' + _P4TYPEINFO_STRUCTSENTRY._options = None + _P4TYPEINFO_STRUCTSENTRY._serialized_options = b'8\001' + _P4TYPEINFO_HEADERSENTRY._options = None + _P4TYPEINFO_HEADERSENTRY._serialized_options = b'8\001' + _P4TYPEINFO_HEADERUNIONSENTRY._options = None + _P4TYPEINFO_HEADERUNIONSENTRY._serialized_options = b'8\001' + _P4TYPEINFO_ENUMSENTRY._options = None + _P4TYPEINFO_ENUMSENTRY._serialized_options = b'8\001' + _P4TYPEINFO_SERIALIZABLEENUMSENTRY._options = None + _P4TYPEINFO_SERIALIZABLEENUMSENTRY._serialized_options = b'8\001' + _P4TYPEINFO_NEWTYPESENTRY._options = None + _P4TYPEINFO_NEWTYPESENTRY._serialized_options = b'8\001' + _P4TYPEINFO._serialized_start=45 + _P4TYPEINFO._serialized_end=974 + _P4TYPEINFO_STRUCTSENTRY._serialized_start=472 + _P4TYPEINFO_STRUCTSENTRY._serialized_end=550 + _P4TYPEINFO_HEADERSENTRY._serialized_start=552 + _P4TYPEINFO_HEADERSENTRY._serialized_end=630 + _P4TYPEINFO_HEADERUNIONSENTRY._serialized_start=632 + _P4TYPEINFO_HEADERUNIONSENTRY._serialized_end=720 + _P4TYPEINFO_ENUMSENTRY._serialized_start=722 + _P4TYPEINFO_ENUMSENTRY._serialized_end=796 + _P4TYPEINFO_SERIALIZABLEENUMSENTRY._serialized_start=798 + _P4TYPEINFO_SERIALIZABLEENUMSENTRY._serialized_end=896 + _P4TYPEINFO_NEWTYPESENTRY._serialized_start=898 + _P4TYPEINFO_NEWTYPESENTRY._serialized_end=974 + _P4DATATYPESPEC._serialized_start=977 + _P4DATATYPESPEC._serialized_end=1620 + _P4NAMEDTYPE._serialized_start=1622 + _P4NAMEDTYPE._serialized_end=1649 + _P4BOOLTYPE._serialized_start=1651 + _P4BOOLTYPE._serialized_end=1663 + _P4ERRORTYPE._serialized_start=1665 + _P4ERRORTYPE._serialized_end=1678 + _P4BITSTRINGLIKETYPESPEC._serialized_start=1681 + _P4BITSTRINGLIKETYPESPEC._serialized_end=2006 + _P4BITTYPESPEC._serialized_start=2008 + _P4BITTYPESPEC._serialized_end=2041 + _P4INTTYPESPEC._serialized_start=2043 + _P4INTTYPESPEC._serialized_end=2076 + _P4VARBITTYPESPEC._serialized_start=2078 + _P4VARBITTYPESPEC._serialized_end=2118 + _P4TUPLETYPESPEC._serialized_start=2120 + _P4TUPLETYPESPEC._serialized_end=2184 + _P4STRUCTTYPESPEC._serialized_start=2187 + _P4STRUCTTYPESPEC._serialized_end=2483 + _P4STRUCTTYPESPEC_MEMBER._serialized_start=2412 + _P4STRUCTTYPESPEC_MEMBER._serialized_end=2483 + _P4HEADERTYPESPEC._serialized_start=2486 + _P4HEADERTYPESPEC._serialized_end=2791 + _P4HEADERTYPESPEC_MEMBER._serialized_start=2711 + _P4HEADERTYPESPEC_MEMBER._serialized_end=2791 + _P4HEADERUNIONTYPESPEC._serialized_start=2794 + _P4HEADERUNIONTYPESPEC._serialized_end=3094 + _P4HEADERUNIONTYPESPEC_MEMBER._serialized_start=3029 + _P4HEADERUNIONTYPESPEC_MEMBER._serialized_end=3094 + _P4HEADERSTACKTYPESPEC._serialized_start=3096 + _P4HEADERSTACKTYPESPEC._serialized_end=3176 + _P4HEADERUNIONSTACKTYPESPEC._serialized_start=3178 + _P4HEADERUNIONSTACKTYPESPEC._serialized_end=3269 + _KEYVALUEPAIR._serialized_start=3271 + _KEYVALUEPAIR._serialized_end=3339 + _KEYVALUEPAIRLIST._serialized_start=3341 + _KEYVALUEPAIRLIST._serialized_end=3405 + _EXPRESSION._serialized_start=3407 + _EXPRESSION._serialized_end=3497 + _EXPRESSIONLIST._serialized_start=3499 + _EXPRESSIONLIST._serialized_end=3562 + _STRUCTUREDANNOTATION._serialized_start=3565 + _STRUCTUREDANNOTATION._serialized_end=3777 + _SOURCELOCATION._serialized_start=3779 + _SOURCELOCATION._serialized_end=3839 + _P4ENUMTYPESPEC._serialized_start=3842 + _P4ENUMTYPESPEC._serialized_end=4235 + _P4ENUMTYPESPEC_MEMBER._serialized_start=4064 + _P4ENUMTYPESPEC_MEMBER._serialized_end=4235 + _P4SERIALIZABLEENUMTYPESPEC._serialized_start=4238 + _P4SERIALIZABLEENUMTYPESPEC._serialized_end=4724 + _P4SERIALIZABLEENUMTYPESPEC_MEMBER._serialized_start=4538 + _P4SERIALIZABLEENUMTYPESPEC_MEMBER._serialized_end=4724 + _P4ERRORTYPESPEC._serialized_start=4726 + _P4ERRORTYPESPEC._serialized_end=4760 + _P4NEWTYPETRANSLATION._serialized_start=4763 + _P4NEWTYPETRANSLATION._serialized_end=4915 + _P4NEWTYPETRANSLATION_SDNSTRING._serialized_start=4892 + _P4NEWTYPETRANSLATION_SDNSTRING._serialized_end=4903 + _P4NEWTYPESPEC._serialized_start=4918 + _P4NEWTYPESPEC._serialized_end=5218 +# @@protoc_insertion_point(module_scope) diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4types_pb2_grpc.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4types_pb2_grpc.py new file mode 100644 index 000000000..2daafffeb --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/config/v1/p4types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/__init__.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4data_pb2.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4data_pb2.py new file mode 100644 index 000000000..bd44b1189 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4data_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: p4/v1/p4data.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12p4/v1/p4data.proto\x12\x05p4.v1\"\x94\x03\n\x06P4Data\x12\x13\n\tbitstring\x18\x01 \x01(\x0cH\x00\x12!\n\x06varbit\x18\x02 \x01(\x0b\x32\x0f.p4.v1.P4VarbitH\x00\x12\x0e\n\x04\x62ool\x18\x03 \x01(\x08H\x00\x12$\n\x05tuple\x18\x04 \x01(\x0b\x32\x13.p4.v1.P4StructLikeH\x00\x12%\n\x06struct\x18\x05 \x01(\x0b\x32\x13.p4.v1.P4StructLikeH\x00\x12!\n\x06header\x18\x06 \x01(\x0b\x32\x0f.p4.v1.P4HeaderH\x00\x12,\n\x0cheader_union\x18\x07 \x01(\x0b\x32\x14.p4.v1.P4HeaderUnionH\x00\x12,\n\x0cheader_stack\x18\x08 \x01(\x0b\x32\x14.p4.v1.P4HeaderStackH\x00\x12\x37\n\x12header_union_stack\x18\t \x01(\x0b\x32\x19.p4.v1.P4HeaderUnionStackH\x00\x12\x0e\n\x04\x65num\x18\n \x01(\tH\x00\x12\x0f\n\x05\x65rror\x18\x0b \x01(\tH\x00\x12\x14\n\nenum_value\x18\x0c \x01(\x0cH\x00\x42\x06\n\x04\x64\x61ta\"/\n\x08P4Varbit\x12\x11\n\tbitstring\x18\x01 \x01(\x0c\x12\x10\n\x08\x62itwidth\x18\x02 \x01(\x05\".\n\x0cP4StructLike\x12\x1e\n\x07members\x18\x01 \x03(\x0b\x32\r.p4.v1.P4Data\"0\n\x08P4Header\x12\x10\n\x08is_valid\x18\x01 \x01(\x08\x12\x12\n\nbitstrings\x18\x02 \x03(\x0c\"Q\n\rP4HeaderUnion\x12\x19\n\x11valid_header_name\x18\x01 \x01(\t\x12%\n\x0cvalid_header\x18\x02 \x01(\x0b\x32\x0f.p4.v1.P4Header\"1\n\rP4HeaderStack\x12 \n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x0f.p4.v1.P4Header\";\n\x12P4HeaderUnionStack\x12%\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x14.p4.v1.P4HeaderUnionB&Z$github.com/p4lang/p4runtime/go/p4/v1b\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'p4.v1.p4data_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z$github.com/p4lang/p4runtime/go/p4/v1' + _P4DATA._serialized_start=30 + _P4DATA._serialized_end=434 + _P4VARBIT._serialized_start=436 + _P4VARBIT._serialized_end=483 + _P4STRUCTLIKE._serialized_start=485 + _P4STRUCTLIKE._serialized_end=531 + _P4HEADER._serialized_start=533 + _P4HEADER._serialized_end=581 + _P4HEADERUNION._serialized_start=583 + _P4HEADERUNION._serialized_end=664 + _P4HEADERSTACK._serialized_start=666 + _P4HEADERSTACK._serialized_end=715 + _P4HEADERUNIONSTACK._serialized_start=717 + _P4HEADERUNIONSTACK._serialized_end=776 +# @@protoc_insertion_point(module_scope) diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4data_pb2_grpc.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4data_pb2_grpc.py new file mode 100644 index 000000000..2daafffeb --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4data_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4runtime_pb2.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4runtime_pb2.py new file mode 100644 index 000000000..a761e8d27 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4runtime_pb2.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: p4/v1/p4runtime.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 +from p4.config.v1 import p4info_pb2 as p4_dot_config_dot_v1_dot_p4info__pb2 +from p4.v1 import p4data_pb2 as p4_dot_v1_dot_p4data__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15p4/v1/p4runtime.proto\x12\x05p4.v1\x1a\x19google/protobuf/any.proto\x1a\x17google/rpc/status.proto\x1a\x19p4/config/v1/p4info.proto\x1a\x12p4/v1/p4data.proto\"\x8c\x02\n\x0cWriteRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x13\n\x07role_id\x18\x02 \x01(\x04\x42\x02\x18\x01\x12\x0c\n\x04role\x18\x06 \x01(\t\x12#\n\x0b\x65lection_id\x18\x03 \x01(\x0b\x32\x0e.p4.v1.Uint128\x12\x1e\n\x07updates\x18\x04 \x03(\x0b\x32\r.p4.v1.Update\x12\x30\n\tatomicity\x18\x05 \x01(\x0e\x32\x1d.p4.v1.WriteRequest.Atomicity\"O\n\tAtomicity\x12\x15\n\x11\x43ONTINUE_ON_ERROR\x10\x00\x12\x15\n\x11ROLLBACK_ON_ERROR\x10\x01\x12\x14\n\x10\x44\x41TAPLANE_ATOMIC\x10\x02\"\x0f\n\rWriteResponse\"O\n\x0bReadRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x0c\n\x04role\x18\x03 \x01(\t\x12\x1f\n\x08\x65ntities\x18\x02 \x03(\x0b\x32\r.p4.v1.Entity\"/\n\x0cReadResponse\x12\x1f\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\r.p4.v1.Entity\"\x86\x01\n\x06Update\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.p4.v1.Update.Type\x12\x1d\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\r.p4.v1.Entity\";\n\x04Type\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06INSERT\x10\x01\x12\n\n\x06MODIFY\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\"\x87\x05\n\x06\x45ntity\x12*\n\x0c\x65xtern_entry\x18\x01 \x01(\x0b\x32\x12.p4.v1.ExternEntryH\x00\x12(\n\x0btable_entry\x18\x02 \x01(\x0b\x32\x11.p4.v1.TableEntryH\x00\x12;\n\x15\x61\x63tion_profile_member\x18\x03 \x01(\x0b\x32\x1a.p4.v1.ActionProfileMemberH\x00\x12\x39\n\x14\x61\x63tion_profile_group\x18\x04 \x01(\x0b\x32\x19.p4.v1.ActionProfileGroupH\x00\x12(\n\x0bmeter_entry\x18\x05 \x01(\x0b\x32\x11.p4.v1.MeterEntryH\x00\x12\x35\n\x12\x64irect_meter_entry\x18\x06 \x01(\x0b\x32\x17.p4.v1.DirectMeterEntryH\x00\x12,\n\rcounter_entry\x18\x07 \x01(\x0b\x32\x13.p4.v1.CounterEntryH\x00\x12\x39\n\x14\x64irect_counter_entry\x18\x08 \x01(\x0b\x32\x19.p4.v1.DirectCounterEntryH\x00\x12N\n\x1fpacket_replication_engine_entry\x18\t \x01(\x0b\x32#.p4.v1.PacketReplicationEngineEntryH\x00\x12/\n\x0fvalue_set_entry\x18\n \x01(\x0b\x32\x14.p4.v1.ValueSetEntryH\x00\x12.\n\x0eregister_entry\x18\x0b \x01(\x0b\x32\x14.p4.v1.RegisterEntryH\x00\x12*\n\x0c\x64igest_entry\x18\x0c \x01(\x0b\x32\x12.p4.v1.DigestEntryH\x00\x42\x08\n\x06\x65ntity\"]\n\x0b\x45xternEntry\x12\x16\n\x0e\x65xtern_type_id\x18\x01 \x01(\r\x12\x11\n\textern_id\x18\x02 \x01(\r\x12#\n\x05\x65ntry\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd7\x03\n\nTableEntry\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12 \n\x05match\x18\x02 \x03(\x0b\x32\x11.p4.v1.FieldMatch\x12\"\n\x06\x61\x63tion\x18\x03 \x01(\x0b\x32\x12.p4.v1.TableAction\x12\x10\n\x08priority\x18\x04 \x01(\x05\x12\x1f\n\x13\x63ontroller_metadata\x18\x05 \x01(\x04\x42\x02\x18\x01\x12(\n\x0cmeter_config\x18\x06 \x01(\x0b\x32\x12.p4.v1.MeterConfig\x12(\n\x0c\x63ounter_data\x18\x07 \x01(\x0b\x32\x12.p4.v1.CounterData\x12\x33\n\x12meter_counter_data\x18\x0c \x01(\x0b\x32\x17.p4.v1.MeterCounterData\x12\x19\n\x11is_default_action\x18\x08 \x01(\x08\x12\x17\n\x0fidle_timeout_ns\x18\t \x01(\x03\x12:\n\x13time_since_last_hit\x18\n \x01(\x0b\x32\x1d.p4.v1.TableEntry.IdleTimeout\x12\x10\n\x08metadata\x18\x0b \x01(\x0c\x12\x10\n\x08is_const\x18\r \x01(\x08\x1a!\n\x0bIdleTimeout\x12\x12\n\nelapsed_ns\x18\x01 \x01(\x03\"\xda\x03\n\nFieldMatch\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\r\x12(\n\x05\x65xact\x18\x02 \x01(\x0b\x32\x17.p4.v1.FieldMatch.ExactH\x00\x12,\n\x07ternary\x18\x03 \x01(\x0b\x32\x19.p4.v1.FieldMatch.TernaryH\x00\x12$\n\x03lpm\x18\x04 \x01(\x0b\x32\x15.p4.v1.FieldMatch.LPMH\x00\x12(\n\x05range\x18\x06 \x01(\x0b\x32\x17.p4.v1.FieldMatch.RangeH\x00\x12.\n\x08optional\x18\x07 \x01(\x0b\x32\x1a.p4.v1.FieldMatch.OptionalH\x00\x12%\n\x05other\x18\x64 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x1a\x16\n\x05\x45xact\x12\r\n\x05value\x18\x01 \x01(\x0c\x1a&\n\x07Ternary\x12\r\n\x05value\x18\x01 \x01(\x0c\x12\x0c\n\x04mask\x18\x02 \x01(\x0c\x1a(\n\x03LPM\x12\r\n\x05value\x18\x01 \x01(\x0c\x12\x12\n\nprefix_len\x18\x02 \x01(\x05\x1a\"\n\x05Range\x12\x0b\n\x03low\x18\x01 \x01(\x0c\x12\x0c\n\x04high\x18\x02 \x01(\x0c\x1a\x19\n\x08Optional\x12\r\n\x05value\x18\x01 \x01(\x0c\x42\x12\n\x10\x66ield_match_type\"\xc1\x01\n\x0bTableAction\x12\x1f\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\r.p4.v1.ActionH\x00\x12\"\n\x18\x61\x63tion_profile_member_id\x18\x02 \x01(\rH\x00\x12!\n\x17\x61\x63tion_profile_group_id\x18\x03 \x01(\rH\x00\x12\x42\n\x19\x61\x63tion_profile_action_set\x18\x04 \x01(\x0b\x32\x1d.p4.v1.ActionProfileActionSetH\x00\x42\x06\n\x04type\"j\n\x06\x41\x63tion\x12\x11\n\taction_id\x18\x01 \x01(\r\x12#\n\x06params\x18\x04 \x03(\x0b\x32\x13.p4.v1.Action.Param\x1a(\n\x05Param\x12\x10\n\x08param_id\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\x0c\"T\n\x16\x41\x63tionProfileActionSet\x12:\n\x16\x61\x63tion_profile_actions\x18\x01 \x03(\x0b\x32\x1a.p4.v1.ActionProfileAction\"}\n\x13\x41\x63tionProfileAction\x12\x1d\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\r.p4.v1.Action\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x13\n\x05watch\x18\x03 \x01(\x05\x42\x02\x18\x01H\x00\x12\x14\n\nwatch_port\x18\x04 \x01(\x0cH\x00\x42\x0c\n\nwatch_kind\"b\n\x13\x41\x63tionProfileMember\x12\x19\n\x11\x61\x63tion_profile_id\x18\x01 \x01(\r\x12\x11\n\tmember_id\x18\x02 \x01(\r\x12\x1d\n\x06\x61\x63tion\x18\x03 \x01(\x0b\x32\r.p4.v1.Action\"\xec\x01\n\x12\x41\x63tionProfileGroup\x12\x19\n\x11\x61\x63tion_profile_id\x18\x01 \x01(\r\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12\x31\n\x07members\x18\x03 \x03(\x0b\x32 .p4.v1.ActionProfileGroup.Member\x12\x10\n\x08max_size\x18\x04 \x01(\x05\x1a\x64\n\x06Member\x12\x11\n\tmember_id\x18\x01 \x01(\r\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x13\n\x05watch\x18\x03 \x01(\x05\x42\x02\x18\x01H\x00\x12\x14\n\nwatch_port\x18\x04 \x01(\x0cH\x00\x42\x0c\n\nwatch_kind\"\x16\n\x05Index\x12\r\n\x05index\x18\x01 \x01(\x03\"\x8e\x01\n\nMeterEntry\x12\x10\n\x08meter_id\x18\x01 \x01(\r\x12\x1b\n\x05index\x18\x02 \x01(\x0b\x32\x0c.p4.v1.Index\x12\"\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x12.p4.v1.MeterConfig\x12-\n\x0c\x63ounter_data\x18\x04 \x01(\x0b\x32\x17.p4.v1.MeterCounterData\"\x8d\x01\n\x10\x44irectMeterEntry\x12&\n\x0btable_entry\x18\x01 \x01(\x0b\x32\x11.p4.v1.TableEntry\x12\"\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x12.p4.v1.MeterConfig\x12-\n\x0c\x63ounter_data\x18\x03 \x01(\x0b\x32\x17.p4.v1.MeterCounterData\"\x80\x01\n\x0bMeterConfig\x12\x0b\n\x03\x63ir\x18\x01 \x01(\x03\x12\x0e\n\x06\x63\x62urst\x18\x02 \x01(\x03\x12\x0b\n\x03pir\x18\x03 \x01(\x03\x12\x0e\n\x06pburst\x18\x04 \x01(\x03\x12\x37\n\x14policer_meter_config\x18\x64 \x01(\x0b\x32\x19.p4.v1.PolicerMeterConfig\"\x97\x02\n\x12PolicerMeterConfig\x12\x1d\n\x15policer_meter_prof_id\x18\x01 \x01(\x03\x12\x1d\n\x15policer_spec_cir_unit\x18\x02 \x01(\x03\x12\x1d\n\x15policer_spec_cbs_unit\x18\x03 \x01(\x03\x12\x1d\n\x15policer_spec_eir_unit\x18\x04 \x01(\x03\x12\x1d\n\x15policer_spec_ebs_unit\x18\x05 \x01(\x03\x12\x18\n\x10policer_spec_cir\x18\x06 \x01(\x03\x12\x18\n\x10policer_spec_cbs\x18\x07 \x01(\x03\x12\x18\n\x10policer_spec_eir\x18\x08 \x01(\x03\x12\x18\n\x10policer_spec_ebs\x18\t \x01(\x03\"a\n\x0c\x43ounterEntry\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x1b\n\x05index\x18\x02 \x01(\x0b\x32\x0c.p4.v1.Index\x12 \n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x12.p4.v1.CounterData\"^\n\x12\x44irectCounterEntry\x12&\n\x0btable_entry\x18\x01 \x01(\x0b\x32\x11.p4.v1.TableEntry\x12 \n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x12.p4.v1.CounterData\"7\n\x0b\x43ounterData\x12\x12\n\nbyte_count\x18\x01 \x01(\x03\x12\x14\n\x0cpacket_count\x18\x02 \x01(\x03\"z\n\x10MeterCounterData\x12!\n\x05green\x18\x01 \x01(\x0b\x32\x12.p4.v1.CounterData\x12\"\n\x06yellow\x18\x02 \x01(\x0b\x32\x12.p4.v1.CounterData\x12\x1f\n\x03red\x18\x03 \x01(\x0b\x32\x12.p4.v1.CounterData\"\x9c\x01\n\x1cPacketReplicationEngineEntry\x12;\n\x15multicast_group_entry\x18\x01 \x01(\x0b\x32\x1a.p4.v1.MulticastGroupEntryH\x00\x12\x37\n\x13\x63lone_session_entry\x18\x02 \x01(\x0b\x32\x18.p4.v1.CloneSessionEntryH\x00\x42\x06\n\x04type\"S\n\x07Replica\x12\x19\n\x0b\x65gress_port\x18\x01 \x01(\rB\x02\x18\x01H\x00\x12\x0e\n\x04port\x18\x03 \x01(\x0cH\x00\x12\x10\n\x08instance\x18\x02 \x01(\rB\x0b\n\tport_kind\"S\n\x13MulticastGroupEntry\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\r\x12 \n\x08replicas\x18\x02 \x03(\x0b\x32\x0e.p4.v1.Replica\"\x80\x01\n\x11\x43loneSessionEntry\x12\x12\n\nsession_id\x18\x01 \x01(\r\x12 \n\x08replicas\x18\x02 \x03(\x0b\x32\x0e.p4.v1.Replica\x12\x18\n\x10\x63lass_of_service\x18\x03 \x01(\r\x12\x1b\n\x13packet_length_bytes\x18\x04 \x01(\x05\"2\n\x0eValueSetMember\x12 \n\x05match\x18\x01 \x03(\x0b\x32\x11.p4.v1.FieldMatch\"M\n\rValueSetEntry\x12\x14\n\x0cvalue_set_id\x18\x01 \x01(\r\x12&\n\x07members\x18\x02 \x03(\x0b\x32\x15.p4.v1.ValueSetMember\"^\n\rRegisterEntry\x12\x13\n\x0bregister_id\x18\x01 \x01(\r\x12\x1b\n\x05index\x18\x02 \x01(\x0b\x32\x0c.p4.v1.Index\x12\x1b\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\r.p4.v1.P4Data\"\x9c\x01\n\x0b\x44igestEntry\x12\x11\n\tdigest_id\x18\x01 \x01(\r\x12)\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.p4.v1.DigestEntry.Config\x1aO\n\x06\x43onfig\x12\x16\n\x0emax_timeout_ns\x18\x01 \x01(\x03\x12\x15\n\rmax_list_size\x18\x02 \x01(\x05\x12\x16\n\x0e\x61\x63k_timeout_ns\x18\x03 \x01(\x03\"\xce\x01\n\x14StreamMessageRequest\x12\x35\n\x0b\x61rbitration\x18\x01 \x01(\x0b\x32\x1e.p4.v1.MasterArbitrationUpdateH\x00\x12\"\n\x06packet\x18\x02 \x01(\x0b\x32\x10.p4.v1.PacketOutH\x00\x12*\n\ndigest_ack\x18\x03 \x01(\x0b\x32\x14.p4.v1.DigestListAckH\x00\x12%\n\x05other\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x08\n\x06update\"E\n\tPacketOut\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\'\n\x08metadata\x18\x02 \x03(\x0b\x32\x15.p4.v1.PacketMetadata\"3\n\rDigestListAck\x12\x11\n\tdigest_id\x18\x01 \x01(\r\x12\x0f\n\x07list_id\x18\x02 \x01(\x04\"\xb1\x02\n\x15StreamMessageResponse\x12\x35\n\x0b\x61rbitration\x18\x01 \x01(\x0b\x32\x1e.p4.v1.MasterArbitrationUpdateH\x00\x12!\n\x06packet\x18\x02 \x01(\x0b\x32\x0f.p4.v1.PacketInH\x00\x12#\n\x06\x64igest\x18\x03 \x01(\x0b\x32\x11.p4.v1.DigestListH\x00\x12\x43\n\x19idle_timeout_notification\x18\x04 \x01(\x0b\x32\x1e.p4.v1.IdleTimeoutNotificationH\x00\x12%\n\x05other\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12#\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x12.p4.v1.StreamErrorH\x00\x42\x08\n\x06update\"D\n\x08PacketIn\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\'\n\x08metadata\x18\x02 \x03(\x0b\x32\x15.p4.v1.PacketMetadata\"`\n\nDigestList\x12\x11\n\tdigest_id\x18\x01 \x01(\r\x12\x0f\n\x07list_id\x18\x02 \x01(\x04\x12\x1b\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\r.p4.v1.P4Data\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\"4\n\x0ePacketMetadata\x12\x13\n\x0bmetadata_id\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x90\x01\n\x17MasterArbitrationUpdate\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x19\n\x04role\x18\x02 \x01(\x0b\x32\x0b.p4.v1.Role\x12#\n\x0b\x65lection_id\x18\x03 \x01(\x0b\x32\x0e.p4.v1.Uint128\x12\"\n\x06status\x18\x04 \x01(\x0b\x32\x12.google.rpc.Status\"J\n\x04Role\x12\x0e\n\x02id\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x12$\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\"T\n\x17IdleTimeoutNotification\x12&\n\x0btable_entry\x18\x01 \x03(\x0b\x32\x11.p4.v1.TableEntry\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\xeb\x01\n\x0bStreamError\x12\x16\n\x0e\x63\x61nonical_code\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\r\n\x05space\x18\x03 \x01(\t\x12\x0c\n\x04\x63ode\x18\x04 \x01(\x05\x12+\n\npacket_out\x18\x05 \x01(\x0b\x32\x15.p4.v1.PacketOutErrorH\x00\x12\x34\n\x0f\x64igest_list_ack\x18\x06 \x01(\x0b\x32\x19.p4.v1.DigestListAckErrorH\x00\x12(\n\x05other\x18\x07 \x01(\x0b\x32\x17.p4.v1.StreamOtherErrorH\x00\x42\t\n\x07\x64\x65tails\"6\n\x0ePacketOutError\x12$\n\npacket_out\x18\x01 \x01(\x0b\x32\x10.p4.v1.PacketOut\"C\n\x12\x44igestListAckError\x12-\n\x0f\x64igest_list_ack\x18\x01 \x01(\x0b\x32\x14.p4.v1.DigestListAck\"7\n\x10StreamOtherError\x12#\n\x05other\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\"$\n\x07Uint128\x12\x0c\n\x04high\x18\x01 \x01(\x04\x12\x0b\n\x03low\x18\x02 \x01(\x04\"\xeb\x02\n\"SetForwardingPipelineConfigRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x13\n\x07role_id\x18\x02 \x01(\x04\x42\x02\x18\x01\x12\x0c\n\x04role\x18\x06 \x01(\t\x12#\n\x0b\x65lection_id\x18\x03 \x01(\x0b\x32\x0e.p4.v1.Uint128\x12@\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x30.p4.v1.SetForwardingPipelineConfigRequest.Action\x12/\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x1f.p4.v1.ForwardingPipelineConfig\"w\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06VERIFY\x10\x01\x12\x13\n\x0fVERIFY_AND_SAVE\x10\x02\x12\x15\n\x11VERIFY_AND_COMMIT\x10\x03\x12\n\n\x06\x43OMMIT\x10\x04\x12\x18\n\x14RECONCILE_AND_COMMIT\x10\x05\"%\n#SetForwardingPipelineConfigResponse\"\xac\x01\n\x18\x46orwardingPipelineConfig\x12$\n\x06p4info\x18\x01 \x01(\x0b\x32\x14.p4.config.v1.P4Info\x12\x18\n\x10p4_device_config\x18\x02 \x01(\x0c\x12\x36\n\x06\x63ookie\x18\x03 \x01(\x0b\x32&.p4.v1.ForwardingPipelineConfig.Cookie\x1a\x18\n\x06\x43ookie\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x04\"\xe5\x01\n\"GetForwardingPipelineConfigRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12M\n\rresponse_type\x18\x02 \x01(\x0e\x32\x36.p4.v1.GetForwardingPipelineConfigRequest.ResponseType\"]\n\x0cResponseType\x12\x07\n\x03\x41LL\x10\x00\x12\x0f\n\x0b\x43OOKIE_ONLY\x10\x01\x12\x15\n\x11P4INFO_AND_COOKIE\x10\x02\x12\x1c\n\x18\x44\x45VICE_CONFIG_AND_COOKIE\x10\x03\"V\n#GetForwardingPipelineConfigResponse\x12/\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x1f.p4.v1.ForwardingPipelineConfig\"t\n\x05\x45rror\x12\x16\n\x0e\x63\x61nonical_code\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\r\n\x05space\x18\x03 \x01(\t\x12\x0c\n\x04\x63ode\x18\x04 \x01(\x05\x12%\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x14.google.protobuf.Any\"\x15\n\x13\x43\x61pabilitiesRequest\"5\n\x14\x43\x61pabilitiesResponse\x12\x1d\n\x15p4runtime_api_version\x18\x01 \x01(\t*\x8a\x01\n\x07SdnPort\x12\x14\n\x10SDN_PORT_UNKNOWN\x10\x00\x12\x10\n\x0cSDN_PORT_MIN\x10\x01\x12\x19\n\x0cSDN_PORT_MAX\x10\xff\xfd\xff\xff\xff\xff\xff\xff\xff\x01\x12!\n\x14SDN_PORT_RECIRCULATE\x10\xfa\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x19\n\x0cSDN_PORT_CPU\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x32\x83\x04\n\tP4Runtime\x12\x34\n\x05Write\x12\x13.p4.v1.WriteRequest\x1a\x14.p4.v1.WriteResponse\"\x00\x12\x33\n\x04Read\x12\x12.p4.v1.ReadRequest\x1a\x13.p4.v1.ReadResponse\"\x00\x30\x01\x12v\n\x1bSetForwardingPipelineConfig\x12).p4.v1.SetForwardingPipelineConfigRequest\x1a*.p4.v1.SetForwardingPipelineConfigResponse\"\x00\x12v\n\x1bGetForwardingPipelineConfig\x12).p4.v1.GetForwardingPipelineConfigRequest\x1a*.p4.v1.GetForwardingPipelineConfigResponse\"\x00\x12P\n\rStreamChannel\x12\x1b.p4.v1.StreamMessageRequest\x1a\x1c.p4.v1.StreamMessageResponse\"\x00(\x01\x30\x01\x12I\n\x0c\x43\x61pabilities\x12\x1a.p4.v1.CapabilitiesRequest\x1a\x1b.p4.v1.CapabilitiesResponse\"\x00\x42)Z$github.com/p4lang/p4runtime/go/p4/v1\xf8\x01\x01\x62\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'p4.v1.p4runtime_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z$github.com/p4lang/p4runtime/go/p4/v1\370\001\001' + _WRITEREQUEST.fields_by_name['role_id']._options = None + _WRITEREQUEST.fields_by_name['role_id']._serialized_options = b'\030\001' + _TABLEENTRY.fields_by_name['controller_metadata']._options = None + _TABLEENTRY.fields_by_name['controller_metadata']._serialized_options = b'\030\001' + _ACTIONPROFILEACTION.fields_by_name['watch']._options = None + _ACTIONPROFILEACTION.fields_by_name['watch']._serialized_options = b'\030\001' + _ACTIONPROFILEGROUP_MEMBER.fields_by_name['watch']._options = None + _ACTIONPROFILEGROUP_MEMBER.fields_by_name['watch']._serialized_options = b'\030\001' + _REPLICA.fields_by_name['egress_port']._options = None + _REPLICA.fields_by_name['egress_port']._serialized_options = b'\030\001' + _ROLE.fields_by_name['id']._options = None + _ROLE.fields_by_name['id']._serialized_options = b'\030\001' + _SETFORWARDINGPIPELINECONFIGREQUEST.fields_by_name['role_id']._options = None + _SETFORWARDINGPIPELINECONFIGREQUEST.fields_by_name['role_id']._serialized_options = b'\030\001' + _SDNPORT._serialized_start=7913 + _SDNPORT._serialized_end=8051 + _WRITEREQUEST._serialized_start=132 + _WRITEREQUEST._serialized_end=400 + _WRITEREQUEST_ATOMICITY._serialized_start=321 + _WRITEREQUEST_ATOMICITY._serialized_end=400 + _WRITERESPONSE._serialized_start=402 + _WRITERESPONSE._serialized_end=417 + _READREQUEST._serialized_start=419 + _READREQUEST._serialized_end=498 + _READRESPONSE._serialized_start=500 + _READRESPONSE._serialized_end=547 + _UPDATE._serialized_start=550 + _UPDATE._serialized_end=684 + _UPDATE_TYPE._serialized_start=625 + _UPDATE_TYPE._serialized_end=684 + _ENTITY._serialized_start=687 + _ENTITY._serialized_end=1334 + _EXTERNENTRY._serialized_start=1336 + _EXTERNENTRY._serialized_end=1429 + _TABLEENTRY._serialized_start=1432 + _TABLEENTRY._serialized_end=1903 + _TABLEENTRY_IDLETIMEOUT._serialized_start=1870 + _TABLEENTRY_IDLETIMEOUT._serialized_end=1903 + _FIELDMATCH._serialized_start=1906 + _FIELDMATCH._serialized_end=2380 + _FIELDMATCH_EXACT._serialized_start=2193 + _FIELDMATCH_EXACT._serialized_end=2215 + _FIELDMATCH_TERNARY._serialized_start=2217 + _FIELDMATCH_TERNARY._serialized_end=2255 + _FIELDMATCH_LPM._serialized_start=2257 + _FIELDMATCH_LPM._serialized_end=2297 + _FIELDMATCH_RANGE._serialized_start=2299 + _FIELDMATCH_RANGE._serialized_end=2333 + _FIELDMATCH_OPTIONAL._serialized_start=2335 + _FIELDMATCH_OPTIONAL._serialized_end=2360 + _TABLEACTION._serialized_start=2383 + _TABLEACTION._serialized_end=2576 + _ACTION._serialized_start=2578 + _ACTION._serialized_end=2684 + _ACTION_PARAM._serialized_start=2644 + _ACTION_PARAM._serialized_end=2684 + _ACTIONPROFILEACTIONSET._serialized_start=2686 + _ACTIONPROFILEACTIONSET._serialized_end=2770 + _ACTIONPROFILEACTION._serialized_start=2772 + _ACTIONPROFILEACTION._serialized_end=2897 + _ACTIONPROFILEMEMBER._serialized_start=2899 + _ACTIONPROFILEMEMBER._serialized_end=2997 + _ACTIONPROFILEGROUP._serialized_start=3000 + _ACTIONPROFILEGROUP._serialized_end=3236 + _ACTIONPROFILEGROUP_MEMBER._serialized_start=3136 + _ACTIONPROFILEGROUP_MEMBER._serialized_end=3236 + _INDEX._serialized_start=3238 + _INDEX._serialized_end=3260 + _METERENTRY._serialized_start=3263 + _METERENTRY._serialized_end=3405 + _DIRECTMETERENTRY._serialized_start=3408 + _DIRECTMETERENTRY._serialized_end=3549 + _METERCONFIG._serialized_start=3552 + _METERCONFIG._serialized_end=3680 + _POLICERMETERCONFIG._serialized_start=3683 + _POLICERMETERCONFIG._serialized_end=3962 + _COUNTERENTRY._serialized_start=3964 + _COUNTERENTRY._serialized_end=4061 + _DIRECTCOUNTERENTRY._serialized_start=4063 + _DIRECTCOUNTERENTRY._serialized_end=4157 + _COUNTERDATA._serialized_start=4159 + _COUNTERDATA._serialized_end=4214 + _METERCOUNTERDATA._serialized_start=4216 + _METERCOUNTERDATA._serialized_end=4338 + _PACKETREPLICATIONENGINEENTRY._serialized_start=4341 + _PACKETREPLICATIONENGINEENTRY._serialized_end=4497 + _REPLICA._serialized_start=4499 + _REPLICA._serialized_end=4582 + _MULTICASTGROUPENTRY._serialized_start=4584 + _MULTICASTGROUPENTRY._serialized_end=4667 + _CLONESESSIONENTRY._serialized_start=4670 + _CLONESESSIONENTRY._serialized_end=4798 + _VALUESETMEMBER._serialized_start=4800 + _VALUESETMEMBER._serialized_end=4850 + _VALUESETENTRY._serialized_start=4852 + _VALUESETENTRY._serialized_end=4929 + _REGISTERENTRY._serialized_start=4931 + _REGISTERENTRY._serialized_end=5025 + _DIGESTENTRY._serialized_start=5028 + _DIGESTENTRY._serialized_end=5184 + _DIGESTENTRY_CONFIG._serialized_start=5105 + _DIGESTENTRY_CONFIG._serialized_end=5184 + _STREAMMESSAGEREQUEST._serialized_start=5187 + _STREAMMESSAGEREQUEST._serialized_end=5393 + _PACKETOUT._serialized_start=5395 + _PACKETOUT._serialized_end=5464 + _DIGESTLISTACK._serialized_start=5466 + _DIGESTLISTACK._serialized_end=5517 + _STREAMMESSAGERESPONSE._serialized_start=5520 + _STREAMMESSAGERESPONSE._serialized_end=5825 + _PACKETIN._serialized_start=5827 + _PACKETIN._serialized_end=5895 + _DIGESTLIST._serialized_start=5897 + _DIGESTLIST._serialized_end=5993 + _PACKETMETADATA._serialized_start=5995 + _PACKETMETADATA._serialized_end=6047 + _MASTERARBITRATIONUPDATE._serialized_start=6050 + _MASTERARBITRATIONUPDATE._serialized_end=6194 + _ROLE._serialized_start=6196 + _ROLE._serialized_end=6270 + _IDLETIMEOUTNOTIFICATION._serialized_start=6272 + _IDLETIMEOUTNOTIFICATION._serialized_end=6356 + _STREAMERROR._serialized_start=6359 + _STREAMERROR._serialized_end=6594 + _PACKETOUTERROR._serialized_start=6596 + _PACKETOUTERROR._serialized_end=6650 + _DIGESTLISTACKERROR._serialized_start=6652 + _DIGESTLISTACKERROR._serialized_end=6719 + _STREAMOTHERERROR._serialized_start=6721 + _STREAMOTHERERROR._serialized_end=6776 + _UINT128._serialized_start=6778 + _UINT128._serialized_end=6814 + _SETFORWARDINGPIPELINECONFIGREQUEST._serialized_start=6817 + _SETFORWARDINGPIPELINECONFIGREQUEST._serialized_end=7180 + _SETFORWARDINGPIPELINECONFIGREQUEST_ACTION._serialized_start=7061 + _SETFORWARDINGPIPELINECONFIGREQUEST_ACTION._serialized_end=7180 + _SETFORWARDINGPIPELINECONFIGRESPONSE._serialized_start=7182 + _SETFORWARDINGPIPELINECONFIGRESPONSE._serialized_end=7219 + _FORWARDINGPIPELINECONFIG._serialized_start=7222 + _FORWARDINGPIPELINECONFIG._serialized_end=7394 + _FORWARDINGPIPELINECONFIG_COOKIE._serialized_start=7370 + _FORWARDINGPIPELINECONFIG_COOKIE._serialized_end=7394 + _GETFORWARDINGPIPELINECONFIGREQUEST._serialized_start=7397 + _GETFORWARDINGPIPELINECONFIGREQUEST._serialized_end=7626 + _GETFORWARDINGPIPELINECONFIGREQUEST_RESPONSETYPE._serialized_start=7533 + _GETFORWARDINGPIPELINECONFIGREQUEST_RESPONSETYPE._serialized_end=7626 + _GETFORWARDINGPIPELINECONFIGRESPONSE._serialized_start=7628 + _GETFORWARDINGPIPELINECONFIGRESPONSE._serialized_end=7714 + _ERROR._serialized_start=7716 + _ERROR._serialized_end=7832 + _CAPABILITIESREQUEST._serialized_start=7834 + _CAPABILITIESREQUEST._serialized_end=7855 + _CAPABILITIESRESPONSE._serialized_start=7857 + _CAPABILITIESRESPONSE._serialized_end=7910 + _P4RUNTIME._serialized_start=8054 + _P4RUNTIME._serialized_end=8569 +# @@protoc_insertion_point(module_scope) diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4runtime_pb2_grpc.py b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4runtime_pb2_grpc.py new file mode 100644 index 000000000..4a1b97b62 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4/v1/p4runtime_pb2_grpc.py @@ -0,0 +1,245 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from p4.v1 import p4runtime_pb2 as p4_dot_v1_dot_p4runtime__pb2 + + +class P4RuntimeStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Write = channel.unary_unary( + '/p4.v1.P4Runtime/Write', + request_serializer=p4_dot_v1_dot_p4runtime__pb2.WriteRequest.SerializeToString, + response_deserializer=p4_dot_v1_dot_p4runtime__pb2.WriteResponse.FromString, + ) + self.Read = channel.unary_stream( + '/p4.v1.P4Runtime/Read', + request_serializer=p4_dot_v1_dot_p4runtime__pb2.ReadRequest.SerializeToString, + response_deserializer=p4_dot_v1_dot_p4runtime__pb2.ReadResponse.FromString, + ) + self.SetForwardingPipelineConfig = channel.unary_unary( + '/p4.v1.P4Runtime/SetForwardingPipelineConfig', + request_serializer=p4_dot_v1_dot_p4runtime__pb2.SetForwardingPipelineConfigRequest.SerializeToString, + response_deserializer=p4_dot_v1_dot_p4runtime__pb2.SetForwardingPipelineConfigResponse.FromString, + ) + self.GetForwardingPipelineConfig = channel.unary_unary( + '/p4.v1.P4Runtime/GetForwardingPipelineConfig', + request_serializer=p4_dot_v1_dot_p4runtime__pb2.GetForwardingPipelineConfigRequest.SerializeToString, + response_deserializer=p4_dot_v1_dot_p4runtime__pb2.GetForwardingPipelineConfigResponse.FromString, + ) + self.StreamChannel = channel.stream_stream( + '/p4.v1.P4Runtime/StreamChannel', + request_serializer=p4_dot_v1_dot_p4runtime__pb2.StreamMessageRequest.SerializeToString, + response_deserializer=p4_dot_v1_dot_p4runtime__pb2.StreamMessageResponse.FromString, + ) + self.Capabilities = channel.unary_unary( + '/p4.v1.P4Runtime/Capabilities', + request_serializer=p4_dot_v1_dot_p4runtime__pb2.CapabilitiesRequest.SerializeToString, + response_deserializer=p4_dot_v1_dot_p4runtime__pb2.CapabilitiesResponse.FromString, + ) + + +class P4RuntimeServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Write(self, request, context): + """Update one or more P4 entities on the target. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Read(self, request, context): + """Read one or more P4 entities from the target. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetForwardingPipelineConfig(self, request, context): + """Sets the P4 forwarding-pipeline config. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetForwardingPipelineConfig(self, request, context): + """Gets the current P4 forwarding-pipeline config. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamChannel(self, request_iterator, context): + """Represents the bidirectional stream between the controller and the + switch (initiated by the controller), and is managed for the following + purposes: + - connection initiation through client arbitration + - indicating switch session liveness: the session is live when switch + sends a positive client arbitration update to the controller, and is + considered dead when either the stream breaks or the switch sends a + negative update for client arbitration + - the controller sending/receiving packets to/from the switch + - streaming of notifications from the switch + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Capabilities(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_P4RuntimeServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Write': grpc.unary_unary_rpc_method_handler( + servicer.Write, + request_deserializer=p4_dot_v1_dot_p4runtime__pb2.WriteRequest.FromString, + response_serializer=p4_dot_v1_dot_p4runtime__pb2.WriteResponse.SerializeToString, + ), + 'Read': grpc.unary_stream_rpc_method_handler( + servicer.Read, + request_deserializer=p4_dot_v1_dot_p4runtime__pb2.ReadRequest.FromString, + response_serializer=p4_dot_v1_dot_p4runtime__pb2.ReadResponse.SerializeToString, + ), + 'SetForwardingPipelineConfig': grpc.unary_unary_rpc_method_handler( + servicer.SetForwardingPipelineConfig, + request_deserializer=p4_dot_v1_dot_p4runtime__pb2.SetForwardingPipelineConfigRequest.FromString, + response_serializer=p4_dot_v1_dot_p4runtime__pb2.SetForwardingPipelineConfigResponse.SerializeToString, + ), + 'GetForwardingPipelineConfig': grpc.unary_unary_rpc_method_handler( + servicer.GetForwardingPipelineConfig, + request_deserializer=p4_dot_v1_dot_p4runtime__pb2.GetForwardingPipelineConfigRequest.FromString, + response_serializer=p4_dot_v1_dot_p4runtime__pb2.GetForwardingPipelineConfigResponse.SerializeToString, + ), + 'StreamChannel': grpc.stream_stream_rpc_method_handler( + servicer.StreamChannel, + request_deserializer=p4_dot_v1_dot_p4runtime__pb2.StreamMessageRequest.FromString, + response_serializer=p4_dot_v1_dot_p4runtime__pb2.StreamMessageResponse.SerializeToString, + ), + 'Capabilities': grpc.unary_unary_rpc_method_handler( + servicer.Capabilities, + request_deserializer=p4_dot_v1_dot_p4runtime__pb2.CapabilitiesRequest.FromString, + response_serializer=p4_dot_v1_dot_p4runtime__pb2.CapabilitiesResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'p4.v1.P4Runtime', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class P4Runtime(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Write(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/p4.v1.P4Runtime/Write', + p4_dot_v1_dot_p4runtime__pb2.WriteRequest.SerializeToString, + p4_dot_v1_dot_p4runtime__pb2.WriteResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Read(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/p4.v1.P4Runtime/Read', + p4_dot_v1_dot_p4runtime__pb2.ReadRequest.SerializeToString, + p4_dot_v1_dot_p4runtime__pb2.ReadResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetForwardingPipelineConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/p4.v1.P4Runtime/SetForwardingPipelineConfig', + p4_dot_v1_dot_p4runtime__pb2.SetForwardingPipelineConfigRequest.SerializeToString, + p4_dot_v1_dot_p4runtime__pb2.SetForwardingPipelineConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetForwardingPipelineConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/p4.v1.P4Runtime/GetForwardingPipelineConfig', + p4_dot_v1_dot_p4runtime__pb2.GetForwardingPipelineConfigRequest.SerializeToString, + p4_dot_v1_dot_p4runtime__pb2.GetForwardingPipelineConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def StreamChannel(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/p4.v1.P4Runtime/StreamChannel', + p4_dot_v1_dot_p4runtime__pb2.StreamMessageRequest.SerializeToString, + p4_dot_v1_dot_p4runtime__pb2.StreamMessageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Capabilities(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/p4.v1.P4Runtime/Capabilities', + p4_dot_v1_dot_p4runtime__pb2.CapabilitiesRequest.SerializeToString, + p4_dot_v1_dot_p4runtime__pb2.CapabilitiesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/LICENSE b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/METADATA b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/METADATA new file mode 100644 index 000000000..f77ca7a58 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/METADATA @@ -0,0 +1,26 @@ +Metadata-Version: 2.1 +Name: p4runtime +Version: 2023.11.0 +Summary: Python bindings for P4Runtime protocol +Home-page: https://github.com/p4lang/p4runtime +Author: P4 API Working Group +Author-email: p4-api@lists.p4.org +License: Apache-2.0 +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Requires-Python: >=3.8 +Description-Content-Type: text/markdown; charset=UTF-8 +License-File: LICENSE +Requires-Dist: protobuf >=4.25.0 +Requires-Dist: grpcio >=1.59.2 +Requires-Dist: googleapis-common-protos >=1.61.0 + +# P4Runtime + +This directory contains Python protobuf files for the custom version of P4Runtime +used by `infrap4d` in P4 Control Plane. + +See the +[P4Runtime Specification](https://github.com/ipdk-io/p4runtime-dev/blob/meters/README.md) +for more information. diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/RECORD b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/RECORD new file mode 100644 index 000000000..6058df0a3 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/RECORD @@ -0,0 +1,17 @@ +p4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +p4/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +p4/config/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +p4/config/v1/p4info_pb2.py,sha256=r8cIVMC7RnqbctQHVn0YAx3PAsqeDIiYTBc4eBjljb4,13341 +p4/config/v1/p4info_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159 +p4/config/v1/p4types_pb2.py,sha256=63ay_E1hB3U7Zm7dp2cVtKfucGgE569vFLZ4h5sDcu0,13219 +p4/config/v1/p4types_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159 +p4/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +p4/v1/p4data_pb2.py,sha256=Fzkm7VdGzzzOFlD69PUaJEEIcSsOlcBn7aBjOcSVxv4,2799 +p4/v1/p4data_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159 +p4/v1/p4runtime_pb2.py,sha256=HH6c_sXFU4GRYA_onvrwTQOMCE9xLAWKG-Mi1F0wAJY,23106 +p4/v1/p4runtime_pb2_grpc.py,sha256=nE0FhRWhbSzw87PpE4WdQKJb-ryE-53Lqx1qXPqIWYs,11550 +p4runtime-2023.11.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357 +p4runtime-2023.11.0.dist-info/METADATA,sha256=4U6aS92YjVUNm7PMDxWTcEy6rHcm7gJfzGbEcC_K6zE,859 +p4runtime-2023.11.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92 +p4runtime-2023.11.0.dist-info/top_level.txt,sha256=Ss3wGkEQfZVqh-rkoB2gGKZMgisjExjnfKmLYchnGLo,3 +p4runtime-2023.11.0.dist-info/RECORD,, diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/WHEEL b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/WHEEL new file mode 100644 index 000000000..98c0d20b7 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.42.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/top_level.txt b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/top_level.txt new file mode 100644 index 000000000..13f390d2f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/bin/p4runtime-2023.11.0/p4runtime-2023.11.0.dist-info/top_level.txt @@ -0,0 +1 @@ +p4 diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.context.json b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.context.json new file mode 100644 index 000000000..de2831494 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.context.json @@ -0,0 +1,13877 @@ +{ + "program_name": "fxp-net_linux-networking", + "build_date": "Mon Nov 4 22:13:20 2024", + "compile_command": "/opt/p4-tools/p4c/bin/p4c-pna-xxp -I /opt/p4-tools/p4c/share/p4c/p4c_src/../idpf-lib --Wdisable --no-pedantic --top4 LiveVariableAnalysis --context fxp-net_linux-networking.context.json --tdi fxp-net_linux-networking.tdi.json -I /opt/p4-tools/p4c/share/p4c/p4include -I /opt/p4-tools/p4c/bin/../lib -I /opt/p4-tools/p4c/bin/../share/p4c/p4include -I /opt/p4-tools/p4c/bin/../share/p4c/idpf-lib --p4v=16 --p4runtime-files fxp-net_linux-networking.p4info.txt --pkg-name linux_networking --pkg-version 1.0.73.29 -v -o ./fxp-net_linux-networking_da46405215bc427e884de0ff497c6e7b.s fxp-net_linux-networking.p4", + "compiler_version": "3.0.70.124", + "schema_version": "1.0.0", + "run_id": "124114221011", + "target": "MEV", + "global_configs": { + "hardware_blocks": [ + { + "name": "RC", + "rc_entry_space_cfg": { + "rc_num_banks": 8, + "rc_num_entries": 8192 + } + }, + { + "name": "CXP_LEM", + "hash_space_cfg": [ + { + "hash_space_id": 0, + "base_address": 0 + }, + { + "hash_space_id": 1, + "base_address": 147456 + } + ] + }, + { + "name": "LEM", + "hash_space_cfg": [ + { + "hash_space_id": 0, + "base_address": 0 + }, + { + "hash_space_id": 1, + "base_address": 0 + } + ] + }, + { + "name": "MOD", + "hash_space_cfg": { + "base_128_entries": 0, + "base_256_entries": 4194304 + } + }, + { + "name": "SEM", + "obj_cache": [ + { + "object_id": 0, + "base_address": 0, + "entry_size": 32 + }, + { + "object_id": 1, + "base_address": 10424320, + "entry_size": 64 + }, + { + "object_id": 2, + "base_address": 31272960, + "entry_size": 64 + } + ] + } + ], + "count_mode": 60 + }, + "tables": [ + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 48773578, + "name": "MainControlDecrypt.lem_exception", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "CXP_LEM", + "id": 12, + "hw_interface": "ConfigQueue", + "profile": [ + 0 + ], + "hash_size": 12, + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 38116127, + "name": "MainControlDecrypt.lem_clear", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "CXP_LEM", + "id": 12, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "hash_size": 12, + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 45068641, + "name": "MainControlDecrypt.ipsec_rx_sa_classification_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.esp.spi", + "instance_name": "hdrs.esp", + "field_name": "spi", + "match_type": "exact", + "bit_width": 32, + "index": 2, + "position": 8 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 30285547, + "actions": [ + { + "name": "MainControlDecrypt.ipsec_decrypt", + "handle": 33177492, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "saidx", + "bit_width": 24 + } + ] + }, + { + "name": "MainControlDecrypt.ipsec_bypass", + "handle": 30285547, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "CXP_LEM", + "id": 12, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "MainControlDecrypt.ipsec_decrypt", + "action_handle": 33177492, + "immediate_fields": [ + { + "param_name": "saidx", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 0, + "offset": 15 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 8, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 0, + "offset": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 3, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + }, + { + "action_name": "MainControlDecrypt.ipsec_bypass", + "action_handle": 30285547, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "MainControlDecrypt.ipsec_bypass", + "action_handle": 30285547, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 42605135, + "name": "linux_networking_control.rif_mod_table_start", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id0", + "instance_name": "rif_mod_map_id0", + "field_name": "rif_mod_map_id0", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_start", + "handle": 23093409, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3, + 16, + 18 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_start", + "action_handle": 23093409, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 0, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 43970557, + "name": "linux_networking_control.rif_mod_table_mid", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id1", + "instance_name": "rif_mod_map_id1", + "field_name": "rif_mod_map_id1", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_mid", + "handle": 30315892, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3, + 16, + 18 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_mid", + "action_handle": 30315892, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 1, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 47499906, + "name": "linux_networking_control.rif_mod_table_last", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id2", + "instance_name": "rif_mod_map_id2", + "field_name": "rif_mod_map_id2", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_last", + "handle": 32740970, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3, + 16, + 18 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_last", + "action_handle": 32740970, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 2, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 48081556, + "name": "linux_networking_control.always_trap_arp_table", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 19361592, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.do_trap_enable", + "handle": 19361592, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 16 + ], + "sub_profile": 1, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.do_trap_enable", + "action_handle": 19361592, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_trap_enable", + "action_handle": 19361592, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 47372228, + "name": "linux_networking_control.always_recirculate_table", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 15 + ], + "sub_profile": 1, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40312237, + "name": "linux_networking_control.vlan_push_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vlan_push", + "handle": 24137163, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 4 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vlan_push", + "action_handle": 24137163, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 4, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 38884256, + "name": "linux_networking_control.vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vlan_pop", + "handle": 25667542, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vlan_pop", + "action_handle": 25667542, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 5, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40763773, + "name": "linux_networking_control.vxlan_encap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap", + "handle": 20733968, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 1 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap", + "action_handle": 20733968, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 1, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 28, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 39675860, + "name": "linux_networking_control.vxlan_encap_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap_vlan_pop", + "handle": 26114242, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 8 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap_vlan_pop", + "action_handle": 26114242, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 8, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 28, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 46225003, + "name": "linux_networking_control.vxlan_encap_v6_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap_v6", + "handle": 30345128, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 6 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap_v6", + "action_handle": 30345128, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 6, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 20, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 34318005, + "name": "linux_networking_control.vxlan_encap_v6_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap_v6_vlan_pop", + "handle": 28284062, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 9 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap_v6_vlan_pop", + "action_handle": 28284062, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 9, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 20, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40980035, + "name": "linux_networking_control.vxlan_decap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_decap_outer_hdr", + "handle": 28308555, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 2 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_decap_outer_hdr", + "action_handle": 28308555, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 2, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 37624107, + "name": "linux_networking_control.vxlan_decap_and_push_vlan_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_decap_and_push_vlan", + "handle": 31953264, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 7 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_decap_and_push_vlan", + "action_handle": 31953264, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 7, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 41319073, + "name": "linux_networking_control.geneve_encap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap", + "handle": 25818889, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 10 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap", + "action_handle": 25818889, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 10, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 28, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 44, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 30, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 31, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 47977422, + "name": "linux_networking_control.geneve_encap_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap_vlan_pop", + "handle": 26665268, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 12 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap_vlan_pop", + "action_handle": 26665268, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 12, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 28, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 44, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 30, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 31, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 42283616, + "name": "linux_networking_control.geneve_encap_v6_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap_v6", + "handle": 29610186, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 11 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap_v6", + "action_handle": 29610186, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 11, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 20, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 64, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 22, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 47370391, + "name": "linux_networking_control.geneve_encap_v6_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap_v6_vlan_pop", + "handle": 27347188, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 13 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap_v6_vlan_pop", + "action_handle": 27347188, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 13, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 20, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 64, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 22, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 34173274, + "name": "linux_networking_control.geneve_decap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_decap_outer_hdr", + "handle": 27842378, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 14 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_decap_outer_hdr", + "action_handle": 27842378, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 14, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 34525815, + "name": "linux_networking_control.geneve_decap_and_push_vlan_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_decap_and_push_vlan", + "handle": 25073902, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 15 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_decap_and_push_vlan", + "action_handle": 25073902, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 15, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 47484925, + "name": "linux_networking_control.ipv4_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21790705, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "handle": 31163719, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "handle": 25342798, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_hdr", + "handle": 26749366, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "handle": 31208923, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.trap_enable", + "handle": 21790705, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "sub_profile": 1, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_handle": 31163719, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 2, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28308555, + "p4_ref_table_handle": 40980035 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_handle": 25342798, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 7, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 31953264, + "p4_ref_table_handle": 37624107 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_hdr", + "action_handle": 26749366, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 14, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 27842378, + "p4_ref_table_handle": 34173274 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_handle": 31208923, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 15, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25073902, + "p4_ref_table_handle": 34525815 + } + ] + }, + { + "action_name": "linux_networking_control.trap_enable", + "action_handle": 21790705, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.trap_enable", + "action_handle": 21790705, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 34601307, + "name": "linux_networking_control.ipv6_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_src", + "instance_name": "ipv6_src", + "field_name": "ipv6_src", + "match_type": "exact", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 16 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "handle": 31163719, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "handle": 25342798, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_hdr", + "handle": 26749366, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "handle": 31208923, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "sub_profile": 2, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_handle": 31163719, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 2, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28308555, + "p4_ref_table_handle": 40980035 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_handle": 25342798, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 7, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 31953264, + "p4_ref_table_handle": 37624107 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_hdr", + "action_handle": 26749366, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 14, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 27842378, + "p4_ref_table_handle": 34173274 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_handle": 31208923, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 15, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25073902, + "p4_ref_table_handle": 34525815 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 44842501, + "name": "linux_networking_control.l2_fwd_rx_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.pmeta.bridge_id", + "instance_name": "user_meta.pmeta.bridge_id", + "field_name": "user_meta.pmeta.bridge_id", + "match_type": "exact", + "bit_width": 8, + "index": 0, + "position": 0 + }, + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 21283156, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.l2_fwd_lag_and_recirculate", + "handle": 21862855, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "lag_group_id", + "bit_width": 8 + } + ] + }, + { + "name": "linux_networking_control.fwd_to_cp", + "handle": 21283156, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 3, + "setmd_type": "QUEUE", + "setmd_action_code": "SET_16b", + "value": 0, + "type_id": 0, + "offset": 9 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "setmd_type": "QUEUE", + "setmd_action_code": "SET_8b_AUX", + "value": 0, + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "type_id": 0, + "offset": 20 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 1, + "setmd_type": "FUNCTION", + "setmd_action_code": "SET_8b_AUX", + "value": 0, + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 1, + "type_id": 0, + "offset": 21 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 0, + "setmd_type": "FUNCTION", + "setmd_action_code": "SET_16b", + "value": 0, + "type_id": 0, + "offset": 11 + } + ] + }, + { + "action_name": "linux_networking_control.l2_fwd_lag_and_recirculate", + "action_handle": 21862855, + "immediate_fields": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 40240205, + "name": "linux_networking_control.l2_fwd_tx_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.pmeta.bridge_id", + "instance_name": "user_meta.pmeta.bridge_id", + "field_name": "user_meta.pmeta.bridge_id", + "match_type": "exact", + "bit_width": 8, + "index": 0, + "position": 0 + }, + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 20441854, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.l2_fwd_lag", + "handle": 24440746, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "lag_group_id", + "bit_width": 8 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_underlay_v4", + "handle": 26412051, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_underlay_v6", + "handle": 19193142, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v4", + "handle": 31983357, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v6", + "handle": 23849990, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_underlay_v4", + "handle": 23736116, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_underlay_v6", + "handle": 17483375, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_geneve_underlay_v4", + "handle": 24842266, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_geneve_underlay_v6", + "handle": 33478945, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.add_vlan_and_fwd", + "handle": 24108243, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vlan_ptr", + "bit_width": 24 + }, + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.remove_vlan_and_fwd", + "handle": 25690116, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vlan_ptr", + "bit_width": 24 + }, + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.fwd_to_cp_tx", + "handle": 20441854, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 2, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 2, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 2, + "encoding_port": "VSI", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 3, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.l2_fwd_lag", + "action_handle": 24440746, + "immediate_fields": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_underlay_v4", + "action_handle": 26412051, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 1, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 20733968, + "p4_ref_table_handle": 40763773 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_underlay_v6", + "action_handle": 19193142, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 6, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 30345128, + "p4_ref_table_handle": 46225003 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v4", + "action_handle": 31983357, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 8, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 26114242, + "p4_ref_table_handle": 39675860 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v6", + "action_handle": 23849990, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 9, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28284062, + "p4_ref_table_handle": 34318005 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_underlay_v4", + "action_handle": 23736116, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 10, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25818889, + "p4_ref_table_handle": 41319073 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_underlay_v6", + "action_handle": 17483375, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 11, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 29610186, + "p4_ref_table_handle": 42283616 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_geneve_underlay_v4", + "action_handle": 24842266, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 12, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 26665268, + "p4_ref_table_handle": 47977422 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_geneve_underlay_v6", + "action_handle": 33478945, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 13, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 27347188, + "p4_ref_table_handle": 47370391 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.add_vlan_and_fwd", + "action_handle": 24108243, + "immediate_fields": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "port_id", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 4, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 24137163, + "p4_ref_table_handle": 40312237 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 4, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 4, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 4, + "encoding_port": "VSI", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 5, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.remove_vlan_and_fwd", + "action_handle": 25690116, + "immediate_fields": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "port_id", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 5, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25667542, + "p4_ref_table_handle": 38884256 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 6, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 6, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 6, + "encoding_port": "VSI", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 7, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.fwd_to_cp_tx", + "action_handle": 20441854, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_cp_tx", + "action_handle": 20441854, + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 37894008, + "name": "linux_networking_control.nexthop_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.nexthop_id", + "instance_name": "user_meta.cmeta.nexthop_id", + "field_name": "user_meta.cmeta.nexthop_id", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "bit16_zeros", + "instance_name": "bit16_zeros", + "field_name": "bit16_zeros", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_nexthop_info_dmac", + "handle": 16795029, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "router_interface_id", + "bit_width": 16 + }, + { + "name": "egress_port", + "bit_width": 32 + }, + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_nexthop_lag", + "handle": 25951413, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "lag_group_id", + "bit_width": 8 + }, + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 14 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_nexthop_info_dmac", + "action_handle": 16795029, + "immediate_fields": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "egress_port", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dmac_high", + "param_handle": 2, + "dest_start": 6, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 3, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 5, + "pool_id": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 4, + "mask": 7, + "type_id": 5, + "offset": 5 + } + ] + }, + { + "action_name": "linux_networking_control.set_nexthop_lag", + "action_handle": 25951413, + "immediate_fields": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "dmac_high", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 2, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 4, + "offset": 1 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 47712712, + "name": "linux_networking_control.ecmp_nexthop_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.nexthop_id", + "instance_name": "user_meta.cmeta.nexthop_id", + "field_name": "user_meta.cmeta.nexthop_id", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "actions": [ + { + "name": "linux_networking_control.ecmp_set_nexthop_info_dmac", + "handle": 27181644, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "router_interface_id", + "bit_width": 16 + }, + { + "name": "egress_port", + "bit_width": 32 + }, + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "wcm_params": { + "wcm_group": 1, + "slice_start_idx": 1, + "table_width": 16, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 2, + 3, + 4, + 5, + 6 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.ecmp_set_nexthop_info_dmac", + "action_handle": 27181644, + "immediate_fields": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "egress_port", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dmac_high", + "param_handle": 2, + "dest_start": 6, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 3, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 9, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "mask": 7, + "type_id": 5, + "offset": 5 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 40757978, + "name": "linux_networking_control.tx_lag_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.lag_group_id", + "instance_name": "user_meta.cmeta.lag_group_id", + "field_name": "user_meta.cmeta.lag_group_id", + "match_type": "ternary", + "bit_width": 8, + "index": 0, + "position": 0 + }, + { + "name": "hash", + "instance_name": "hash", + "field_name": "hash", + "match_type": "ternary", + "bit_width": 3, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 1, + "start_bit_offset": 0, + "bit_width": 8 + } + ], + "default_action_handle": 29238102, + "actions": [ + { + "name": "linux_networking_control.set_egress_port", + "handle": 27998997, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "router_interface_id", + "bit_width": 16 + }, + { + "name": "egress_port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.bypass", + "handle": 24954025, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "wcm_params": { + "wcm_group": 0, + "slice_start_idx": 5, + "table_width": 32, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 9, + 10, + 11, + 12 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_egress_port", + "action_handle": 27998997, + "immediate_fields": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "egress_port", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 10, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 10, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 10, + "encoding_port": "VSI", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 11, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "mask": 7, + "type_id": 5, + "offset": 5 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b_AUX", + "value": 192, + "mask": 192 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 0, + "offset": 27 + } + ] + }, + { + "action_name": "linux_networking_control.bypass", + "action_handle": 24954025, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b_AUX", + "value": 192, + "mask": 192 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 0, + "offset": 27 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 44444143, + "name": "linux_networking_control.rx_lag_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.port_id", + "instance_name": "vmeta.common.port_id", + "field_name": "vmeta.common.port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.lag_group_id", + "instance_name": "user_meta.cmeta.lag_group_id", + "field_name": "user_meta.cmeta.lag_group_id", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 5 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 12, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 37566509, + "name": "linux_networking_control.ipv4_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_table_lpm_root", + "instance_name": "ipv4_table_lpm_root", + "field_name": "ipv4_table_lpm_root", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv4_dst_match", + "instance_name": "ipv4_dst_match", + "field_name": "ipv4_dst_match", + "match_type": "lpm", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipv4_set_nexthop_id", + "handle": 22009623, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.ecmp_hash_action", + "handle": 16874810, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ecmp_group_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "def_action_ptr": 1, + "max_prefix_len": 32, + "action_format": [ + { + "action_name": "linux_networking_control.ipv4_set_nexthop_id", + "action_handle": 22009623, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 32, + "mask": 32, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.ecmp_hash_action", + "action_handle": 16874810, + "immediate_fields": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 3 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 8, + "mask": 8, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 49661222, + "name": "linux_networking_control.ecmp_hash_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "flex", + "instance_name": "flex", + "field_name": "flex", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hash", + "instance_name": "hash", + "field_name": "hash", + "match_type": "ternary", + "bit_width": 3, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 8 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_nexthop_id", + "handle": 29883644, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 3 + ], + "wcm_params": { + "wcm_group": 0, + "slice_start_idx": 6, + "table_width": 32, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 13, + 14 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_nexthop_id", + "action_handle": 29883644, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 32, + "mask": 32, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 46496254, + "name": "linux_networking_control.ipv6_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_table_lpm_root", + "instance_name": "ipv6_table_lpm_root", + "field_name": "ipv6_table_lpm_root", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv6_dst_match", + "instance_name": "ipv6_dst_match", + "field_name": "ipv6_dst_match", + "match_type": "lpm", + "bit_width": 128, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 128 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipv6_set_nexthop_id", + "handle": 21321477, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.ecmp_v6_hash_action", + "handle": 27000185, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ecmp_group_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "def_action_ptr": 2, + "max_prefix_len": 128, + "action_format": [ + { + "action_name": "linux_networking_control.ipv6_set_nexthop_id", + "action_handle": 21321477, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 32, + "mask": 32, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.ecmp_v6_hash_action", + "action_handle": 27000185, + "immediate_fields": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 3 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 8, + "mask": 8, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 40351839, + "name": "linux_networking_control.rx_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.port_id", + "instance_name": "vmeta.common.port_id", + "field_name": "vmeta.common.port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 32890467, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 3 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "value": 1, + "type_id": 4, + "offset": 4 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 49097500, + "name": "linux_networking_control.rx_ipv4_tunnel_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 40981078, + "name": "linux_networking_control.rx_ipv6_tunnel_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_src", + "instance_name": "ipv6_src", + "field_name": "ipv6_src", + "match_type": "exact", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 16 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 33606489, + "name": "linux_networking_control.source_port_to_bridge_map", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.source_port", + "instance_name": "user_meta.cmeta.source_port", + "field_name": "user_meta.cmeta.source_port", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "instance_name": "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "field_name": "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "match_type": "ternary", + "bit_width": 12, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 31939992, + "actions": [ + { + "name": "linux_networking_control.set_bridge_id", + "handle": 31939992, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "bridge_id", + "bit_width": 8 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "wcm_params": { + "wcm_group": 1, + "slice_start_idx": 0, + "table_width": 32, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 0, + 1 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_bridge_id", + "action_handle": 31939992, + "immediate_fields": [ + { + "param_name": "bridge_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "bridge_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 5, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.set_bridge_id", + "action_handle": 31939992, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 77, + "mask": 255, + "type_id": 5, + "offset": 4 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 46342225, + "name": "linux_networking_control.l2_fwd_smac_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].sa", + "instance_name": "hdrs.mac[vmeta.common.depth].sa", + "field_name": "hdrs.mac[vmeta.common.depth].sa", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.pmeta.bridge_id", + "instance_name": "user_meta.pmeta.bridge_id", + "field_name": "user_meta.pmeta.bridge_id", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21283156, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.fwd_to_cp", + "handle": 21283156, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 9 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 42508227, + "name": "linux_networking_control.tx_acc_vsi", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 31624713, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.l2_fwd_and_bypass_bridge", + "handle": 31624713, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd_and_bypass_bridge", + "action_handle": 31624713, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 5, + "offset": 3 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.l2_fwd_and_bypass_bridge", + "action_handle": 31624713, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "value": 1, + "type": "SINGLETON_PORT" + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 5, + "offset": 3 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 39041593, + "name": "linux_networking_control.tx_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "ternary", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "wcm_params": { + "wcm_group": 0, + "slice_start_idx": 4, + "table_width": 16, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 8 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 43337754, + "name": "linux_networking_control.l2_to_tunnel_v4", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].da", + "instance_name": "hdrs.mac[vmeta.common.depth].da", + "field_name": "hdrs.mac[vmeta.common.depth].da", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_tunnel_v4", + "handle": 23805991, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 8 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_tunnel_v4", + "action_handle": 23805991, + "immediate_fields": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 4, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 7, + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + }, + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 36796227, + "name": "linux_networking_control.l2_to_tunnel_v6", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].da", + "instance_name": "hdrs.mac[vmeta.common.depth].da", + "field_name": "hdrs.mac[vmeta.common.depth].da", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_tunnel_v6", + "handle": 23953453, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ipv6_1", + "bit_width": 32 + }, + { + "name": "ipv6_2", + "bit_width": 32 + }, + { + "name": "ipv6_3", + "bit_width": 32 + }, + { + "name": "ipv6_4", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 9 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_tunnel_v6", + "action_handle": 23953453, + "immediate_fields": [ + { + "param_name": "ipv6_1", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_2", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_3", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_4", + "param_handle": 3, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_4", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_3", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 24 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_2", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 20 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_1", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 16 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 38721082, + "name": "linux_networking_control.rx_phy_port_to_pr_map", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.port_id", + "instance_name": "vmeta.common.port_id", + "field_name": "vmeta.common.port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 26092385, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 11 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 13, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 16, + "encoding_port": "VSI", + "index": 2, + "value": 28, + "type": "SINGLETON_VSI" + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 35934350, + "name": "linux_networking_control.source_port_to_pr_map", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.source_port", + "instance_name": "user_meta.cmeta.source_port", + "field_name": "user_meta.cmeta.source_port", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 26092385, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 6 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 14, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 17, + "encoding_port": "VSI", + "index": 2, + "value": 28, + "type": "SINGLETON_VSI" + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 45509113, + "name": "linux_networking_control.vsi_to_vsi_loopback", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "target_vsi", + "instance_name": "target_vsi", + "field_name": "target_vsi", + "match_type": "exact", + "bit_width": 11, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 1, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 15, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 44641644, + "name": "linux_networking_control.hash_ipv4_tcp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46678878, + "name": "linux_networking_control.hash_ipv4_udp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 45972289, + "name": "linux_networking_control.hash_ipv4", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 33896331, + "name": "linux_networking_control.hash_l2", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].sa", + "instance_name": "hdrs.mac[vmeta.common.depth].sa", + "field_name": "hdrs.mac[vmeta.common.depth].sa", + "match_type": "selector", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.mac[vmeta.common.depth].da", + "instance_name": "hdrs.mac[vmeta.common.depth].da", + "field_name": "hdrs.mac[vmeta.common.depth].da", + "match_type": "selector", + "bit_width": 48, + "index": 1, + "position": 6 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 10 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46852435, + "name": "linux_networking_control.hash_ipv6_tcp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 4 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46359163, + "name": "linux_networking_control.hash_ipv6_udp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 34506208, + "name": "linux_networking_control.hash_ipv6", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 6 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 49349790, + "name": "linux_networking_control.ipsec_tunnel_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.saidx", + "instance_name": "vmeta.common.saidx", + "field_name": "vmeta.common.saidx", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + }, + { + "name": "bit16_zeros", + "instance_name": "bit16_zeros", + "field_name": "bit16_zeros", + "match_type": "exact", + "bit_width": 13, + "index": 1, + "position": 3 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 4, + "start_bit_offset": 3, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_ipsec_tunnel", + "handle": 26423957, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 11 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_ipsec_tunnel", + "action_handle": 26423957, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 16, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 30081157, + "p4_ref_table_handle": 37326952 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 47756035, + "name": "linux_networking_control.ipsec_spd", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].protocol", + "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipsec_protect_set_metadata", + "handle": 20682322, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "saidx", + "bit_width": 24 + } + ] + }, + { + "name": "linux_networking_control.ipsec_bypass", + "handle": 19192368, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.ipsec_protect_set_metadata", + "action_handle": 20682322, + "immediate_fields": [ + { + "param_name": "saidx", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "hw_actions_list": [ + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 7, + "pool_id": 3 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 0, + "offset": 15 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 8, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 0, + "offset": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 3, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + }, + { + "action_name": "linux_networking_control.ipsec_bypass", + "action_handle": 19192368, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 45022218, + "name": "linux_networking_control.ipsec_tx_sa_classification_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].protocol", + "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 4 + }, + { + "name": "user_meta.cmeta.is_tunnel", + "instance_name": "user_meta.cmeta.is_tunnel", + "field_name": "user_meta.cmeta.is_tunnel", + "match_type": "exact", + "bit_width": 1, + "index": 2, + "position": 5 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 2, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 1, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.tx_ipsec_transport", + "handle": 24935652, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.tx_ipsec_transport_with_underlay", + "handle": 17885953, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.tx_ipsec_tunnel", + "handle": 30154712, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.tx_ipsec_tunnel_v6", + "handle": 29527637, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr_1", + "bit_width": 32 + }, + { + "name": "dst_addr_2", + "bit_width": 32 + }, + { + "name": "dst_addr_3", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 14 + ], + "sub_profile": 2, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.tx_ipsec_transport", + "action_handle": 24935652, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 17, + "prefetch": 0 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 64, + "mask": 64, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_transport_with_underlay", + "action_handle": 17885953, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 18, + "prefetch": 0 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 64, + "mask": 64, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_tunnel", + "action_handle": 30154712, + "immediate_fields": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 7, + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_tunnel_v6", + "action_handle": 29527637, + "immediate_fields": [ + { + "param_name": "dst_addr_1", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr_2", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr_3", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr_1", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr_2", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 24 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dst_addr_3", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ], + "type_id": 4, + "offset": 11 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 37326952, + "name": "linux_networking_control.ipsec_tunnel_encap_mod_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipsec_tunnel_encap_mod", + "handle": 30081157, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ipsec_src_addr", + "bit_width": 32 + }, + { + "name": "ipsec_dst_addr", + "bit_width": 32 + }, + { + "name": "proto", + "bit_width": 8 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 16 + ], + "action_format": [ + { + "action_name": "linux_networking_control.ipsec_tunnel_encap_mod", + "action_handle": 30081157, + "immediate_fields": [ + { + "param_name": "ipsec_src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipsec_dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "proto", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "mod_content_format": { + "mod_profile": 16, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "version", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 1, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 1, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 7, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 7, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "proto", + "handle": 13, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 9, + "start_bit_offset": 0, + "bit_width": 8, + "value": [] + }, + { + "name": "csum", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 1 + ] + }, + { + "name": "ipsec_src_addr", + "handle": 15, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "ipsec_dst_addr", + "handle": 16, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 43475471, + "name": "linux_networking_control.ipv4_ipsec_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv4_dst", + "instance_name": "ipv4_dst", + "field_name": "ipv4_dst", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.decap_ipsec_tunnel_hdr", + "handle": 25138331, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 13 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.decap_ipsec_tunnel_hdr", + "action_handle": 25138331, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 19, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 37403444, + "name": "linux_networking_control.vm_src_ip4_mac_map_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vm_src_ip4_mac_map_action", + "handle": 28718673, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "smac_high", + "bit_width": 16 + }, + { + "name": "smac_mid", + "bit_width": 16 + }, + { + "name": "smac_low", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 7 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.vm_src_ip4_mac_map_action", + "action_handle": 28718673, + "immediate_fields": [ + { + "param_name": "smac_high", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "smac_mid", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "smac_low", + "param_handle": 2, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_high", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_mid", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 6 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 5 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 50085764, + "name": "linux_networking_control.vm_dst_ip4_mac_map_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_dst", + "instance_name": "ipv4_dst", + "field_name": "ipv4_dst", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vm_dst_ip4_mac_map_action", + "handle": 25018769, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_mid", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 8 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.vm_dst_ip4_mac_map_action", + "action_handle": 25018769, + "immediate_fields": [ + { + "param_name": "dmac_high", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_mid", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 2, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_mid", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 9 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 8 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454144, + "name": "linux_networking_control.ecmp_hash_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[xxpmeta.depth].src_ip", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[xxpmeta.depth].dst_ip", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.ipv4[xxpmeta.depth].protocol", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "protocol", + "match_type": "selector", + "bit_width": 8, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.udp[xxpmeta.depth].sport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 9 + }, + { + "name": "hdrs.udp[xxpmeta.depth].dport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 4, + "position": 11 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 9, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 4, + "byte_order": "NETWORK", + "byte_array_index": 11, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 7 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454145, + "name": "linux_networking_control.ecmp_hash_v6_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[xxpmeta.depth].src_ip", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[xxpmeta.depth].dst_ip", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.ipv6[xxpmeta.depth].next_header", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "next_header", + "match_type": "selector", + "bit_width": 8, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.udp[xxpmeta.depth].sport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 33 + }, + { + "name": "hdrs.udp[xxpmeta.depth].dport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 4, + "position": 35 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 33, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 4, + "byte_order": "NETWORK", + "byte_array_index": 35, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 8 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454146, + "name": "linux_networking_control.lag_hash_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[xxpmeta.depth].da", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "da", + "match_type": "selector", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.mac[xxpmeta.depth].sa", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "sa", + "match_type": "selector", + "bit_width": 48, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 9 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454147, + "name": "linux_networking_control.src_port_hash_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[xxpmeta.depth].da", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "da", + "match_type": "selector", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.mac[xxpmeta.depth].sa", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "sa", + "match_type": "selector", + "bit_width": 48, + "index": 1, + "position": 6 + }, + { + "name": "hdrs.etype[xxpmeta.depth].type", + "instance_name": "hdrs.etype[xxpmeta.depth]", + "field_name": "type", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 12 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 11 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match_value_lookup_table", + "handle": 41667918, + "name": "linux_networking_control.ipv4_lpm_root_lut", + "size": 1, + "p4_hidden": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.bit16_zeros", + "instance_name": "user_meta.cmeta.bit16_zeros", + "field_name": "user_meta.cmeta.bit16_zeros", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "hw_resource": "lpm_table", + "hw_resource_id": 4, + "immediate_fields": [ + { + "param_name": "ipv4_table_lpm_root", + "param_handle": 0, + "dest_start": 0, + "dest_width": 32 + } + ], + "p4_ref_table_handles": [ + 37566509 + ] + } + ] + } + }, + { + "table_type": "match_value_lookup_table", + "handle": 43524029, + "name": "linux_networking_control.ipv6_lpm_root_lut", + "size": 1, + "p4_hidden": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.bit16_zeros", + "instance_name": "user_meta.cmeta.bit16_zeros", + "field_name": "user_meta.cmeta.bit16_zeros", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "hw_resource": "lpm_table", + "hw_resource_id": 4, + "immediate_fields": [ + { + "param_name": "ipv6_table_lpm_root", + "param_handle": 0, + "dest_start": 0, + "dest_width": 32 + } + ], + "p4_ref_table_handles": [ + 46496254 + ] + } + ] + } + } + ], + "counter_with_modify_flag": [ + { + "name": "ddcounter_pool_tx2", + "pool_id": 0, + "pool_type": 0, + "size": 1024 + }, + { + "name": "ddcounter_pool_tx3", + "pool_id": 1, + "pool_type": 0, + "size": 1024 + }, + { + "name": "ddcounter_pool_tx4", + "pool_id": 2, + "pool_type": 0, + "size": 1024 + }, + { + "name": "ddcounter_pool_tx5", + "pool_id": 3, + "pool_type": 0, + "size": 1024 + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt new file mode 100644 index 000000000..da7d6e68b --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt @@ -0,0 +1,2790 @@ +pkg_info { + arch: "pna" +} +tables { + preamble { + id: 48773578 + name: "MainControlDecrypt.lem_exception" + alias: "lem_exception" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 38116127 + name: "MainControlDecrypt.lem_clear" + alias: "lem_clear" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 45068641 + name: "MainControlDecrypt.ipsec_rx_sa_classification_table" + alias: "ipsec_rx_sa_classification_table" + } + match_fields { + id: 1 + name: "hdrs.ipv4[vmeta.common.depth].src_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.ipv4[vmeta.common.depth].dst_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 3 + name: "hdrs.esp.spi" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 33177492 + } + action_refs { + id: 30285547 + } + const_default_action_id: 30285547 + size: 1024 +} +tables { + preamble { + id: 41667918 + name: "linux_networking_control.ipv4_lpm_root_lut" + alias: "ipv4_lpm_root_lut" + annotations: "@intel_lut_type(\"lpm_table\")" + } + match_fields { + id: 1 + name: "user_meta.cmeta.bit16_zeros" + bitwidth: 16 + match_type: TERNARY + } + action_refs { + id: 17061464 + } + size: 1 +} +tables { + preamble { + id: 43524029 + name: "linux_networking_control.ipv6_lpm_root_lut" + alias: "ipv6_lpm_root_lut" + annotations: "@intel_lut_type(\"lpm_table\")" + } + match_fields { + id: 1 + name: "user_meta.cmeta.bit16_zeros" + bitwidth: 16 + match_type: TERNARY + } + action_refs { + id: 25701894 + } + size: 1 +} +tables { + preamble { + id: 42605135 + name: "linux_networking_control.rif_mod_table_start" + alias: "rif_mod_table_start" + } + match_fields { + id: 1 + name: "rif_mod_map_id0" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 23093409 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 43970557 + name: "linux_networking_control.rif_mod_table_mid" + alias: "rif_mod_table_mid" + } + match_fields { + id: 1 + name: "rif_mod_map_id1" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 30315892 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 47499906 + name: "linux_networking_control.rif_mod_table_last" + alias: "rif_mod_table_last" + } + match_fields { + id: 1 + name: "rif_mod_map_id2" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 32740970 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 48081556 + name: "linux_networking_control.always_trap_arp_table" + alias: "always_trap_arp_table" + } + match_fields { + id: 1 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 19361592 + } + const_default_action_id: 19361592 + size: 1024 +} +tables { + preamble { + id: 47372228 + name: "linux_networking_control.always_recirculate_table" + alias: "always_recirculate_table" + } + match_fields { + id: 1 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 33275382 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 40312237 + name: "linux_networking_control.vlan_push_mod_table" + alias: "vlan_push_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 24137163 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 38884256 + name: "linux_networking_control.vlan_pop_mod_table" + alias: "vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 25667542 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 40763773 + name: "linux_networking_control.vxlan_encap_mod_table" + alias: "vxlan_encap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 20733968 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 39675860 + name: "linux_networking_control.vxlan_encap_vlan_pop_mod_table" + alias: "vxlan_encap_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 26114242 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 46225003 + name: "linux_networking_control.vxlan_encap_v6_mod_table" + alias: "vxlan_encap_v6_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 30345128 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 34318005 + name: "linux_networking_control.vxlan_encap_v6_vlan_pop_mod_table" + alias: "vxlan_encap_v6_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 28284062 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 40980035 + name: "linux_networking_control.vxlan_decap_mod_table" + alias: "vxlan_decap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 28308555 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 37624107 + name: "linux_networking_control.vxlan_decap_and_push_vlan_mod_table" + alias: "vxlan_decap_and_push_vlan_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 31953264 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 41319073 + name: "linux_networking_control.geneve_encap_mod_table" + alias: "geneve_encap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 25818889 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 47977422 + name: "linux_networking_control.geneve_encap_vlan_pop_mod_table" + alias: "geneve_encap_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 26665268 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 42283616 + name: "linux_networking_control.geneve_encap_v6_mod_table" + alias: "geneve_encap_v6_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 29610186 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 47370391 + name: "linux_networking_control.geneve_encap_v6_vlan_pop_mod_table" + alias: "geneve_encap_v6_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 27347188 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 34173274 + name: "linux_networking_control.geneve_decap_mod_table" + alias: "geneve_decap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 27842378 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 34525815 + name: "linux_networking_control.geneve_decap_and_push_vlan_mod_table" + alias: "geneve_decap_and_push_vlan_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 25073902 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 47484925 + name: "linux_networking_control.ipv4_tunnel_term_table" + alias: "ipv4_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 31163719 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 25342798 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 26749366 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 31208923 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21790705 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21790705 + size: 1024 +} +tables { + preamble { + id: 34601307 + name: "linux_networking_control.ipv6_tunnel_term_table" + alias: "ipv6_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv6_src" + bitwidth: 128 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 31163719 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 25342798 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 26749366 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 31208923 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 44842501 + name: "linux_networking_control.l2_fwd_rx_table" + alias: "l2_fwd_rx_table" + } + match_fields { + id: 2 + name: "user_meta.pmeta.bridge_id" + bitwidth: 8 + match_type: EXACT + } + match_fields { + id: 1 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 21862855 + } + action_refs { + id: 21283156 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21283156 + size: 1024 +} +tables { + preamble { + id: 40240205 + name: "linux_networking_control.l2_fwd_tx_table" + alias: "l2_fwd_tx_table" + } + match_fields { + id: 1 + name: "user_meta.pmeta.bridge_id" + bitwidth: 8 + match_type: EXACT + } + match_fields { + id: 2 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 24440746 + } + action_refs { + id: 26412051 + } + action_refs { + id: 19193142 + } + action_refs { + id: 31983357 + } + action_refs { + id: 23849990 + } + action_refs { + id: 23736116 + } + action_refs { + id: 17483375 + } + action_refs { + id: 24842266 + } + action_refs { + id: 33478945 + } + action_refs { + id: 24108243 + } + action_refs { + id: 25690116 + } + action_refs { + id: 20441854 + } + direct_resource_ids: 333810446 + size: 1024 +} +tables { + preamble { + id: 37894008 + name: "linux_networking_control.nexthop_table" + alias: "nexthop_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.nexthop_id" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit16_zeros" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 16795029 + } + action_refs { + id: 25951413 + } + action_refs { + id: 29238102 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + direct_resource_ids: 323002307 + size: 1024 +} +tables { + preamble { + id: 47712712 + name: "linux_networking_control.ecmp_nexthop_table" + alias: "ecmp_nexthop_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.nexthop_id" + bitwidth: 16 + match_type: TERNARY + } + action_refs { + id: 27181644 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 40757978 + name: "linux_networking_control.tx_lag_table" + alias: "tx_lag_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.lag_group_id" + bitwidth: 8 + match_type: TERNARY + } + match_fields { + id: 2 + name: "hash" + bitwidth: 3 + match_type: TERNARY + } + action_refs { + id: 27998997 + } + action_refs { + id: 24954025 + } + action_refs { + id: 29238102 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 44444143 + name: "linux_networking_control.rx_lag_table" + alias: "rx_lag_table" + } + match_fields { + id: 1 + name: "vmeta.common.port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.lag_group_id" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 37566509 + name: "linux_networking_control.ipv4_table" + alias: "ipv4_table" + } + match_fields { + id: 1 + name: "ipv4_table_lpm_root" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv4_dst_match" + annotations: "@intel_byte_order(\"NETWORK\")" + bitwidth: 32 + match_type: LPM + } + action_refs { + id: 22009623 + } + action_refs { + id: 16874810 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 49661222 + name: "linux_networking_control.ecmp_hash_table" + alias: "ecmp_hash_table" + } + match_fields { + id: 1 + name: "flex" + bitwidth: 16 + match_type: TERNARY + } + match_fields { + id: 2 + name: "hash" + bitwidth: 3 + match_type: TERNARY + } + action_refs { + id: 29883644 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 46496254 + name: "linux_networking_control.ipv6_table" + alias: "ipv6_table" + } + match_fields { + id: 1 + name: "ipv6_table_lpm_root" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv6_dst_match" + annotations: "@intel_byte_order(\"NETWORK\")" + bitwidth: 128 + match_type: LPM + } + action_refs { + id: 21321477 + } + action_refs { + id: 27000185 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 40351839 + name: "linux_networking_control.rx_source_port" + alias: "rx_source_port" + } + match_fields { + id: 1 + name: "vmeta.common.port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 32890467 + size: 1024 +} +tables { + preamble { + id: 49097500 + name: "linux_networking_control.rx_ipv4_tunnel_source_port" + alias: "rx_ipv4_tunnel_source_port" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 40981078 + name: "linux_networking_control.rx_ipv6_tunnel_source_port" + alias: "rx_ipv6_tunnel_source_port" + } + match_fields { + id: 1 + name: "ipv6_src" + bitwidth: 128 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 33606489 + name: "linux_networking_control.source_port_to_bridge_map" + alias: "source_port_to_bridge_map" + } + match_fields { + id: 1 + name: "user_meta.cmeta.source_port" + bitwidth: 16 + match_type: TERNARY + } + match_fields { + id: 2 + name: "hdrs.vlan_ext[vmeta.common.depth].hdr.vid" + bitwidth: 12 + match_type: TERNARY + } + action_refs { + id: 31939992 + } + action_refs { + id: 29238102 + } + const_default_action_id: 31939992 + size: 1024 +} +tables { + preamble { + id: 46342225 + name: "linux_networking_control.l2_fwd_smac_table" + alias: "l2_fwd_smac_table" + } + match_fields { + id: 1 + name: "hdrs.mac[vmeta.common.depth].sa" + bitwidth: 48 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.pmeta.bridge_id" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 21257015 + } + action_refs { + id: 21283156 + } + const_default_action_id: 21283156 + size: 1024 +} +tables { + preamble { + id: 42508227 + name: "linux_networking_control.tx_acc_vsi" + alias: "tx_acc_vsi" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 31624713 + } + action_refs { + id: 29238102 + } + const_default_action_id: 31624713 + size: 1024 +} +tables { + preamble { + id: 39041593 + name: "linux_networking_control.tx_source_port" + alias: "tx_source_port" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: TERNARY + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 43337754 + name: "linux_networking_control.l2_to_tunnel_v4" + alias: "l2_to_tunnel_v4" + } + match_fields { + id: 1 + name: "hdrs.mac[vmeta.common.depth].da" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 23805991 + } + action_refs { + id: 29238102 + } + action_refs { + id: 33275382 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 36796227 + name: "linux_networking_control.l2_to_tunnel_v6" + alias: "l2_to_tunnel_v6" + } + match_fields { + id: 1 + name: "hdrs.mac[vmeta.common.depth].da" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 23953453 + } + action_refs { + id: 33275382 + } + action_refs { + id: 29238102 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 38721082 + name: "linux_networking_control.rx_phy_port_to_pr_map" + alias: "rx_phy_port_to_pr_map" + } + match_fields { + id: 1 + name: "vmeta.common.port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 26092385 + size: 1024 +} +tables { + preamble { + id: 35934350 + name: "linux_networking_control.source_port_to_pr_map" + alias: "source_port_to_pr_map" + } + match_fields { + id: 1 + name: "user_meta.cmeta.source_port" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 26092385 + size: 1024 +} +tables { + preamble { + id: 45509113 + name: "linux_networking_control.vsi_to_vsi_loopback" + alias: "vsi_to_vsi_loopback" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "target_vsi" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 44641644 + name: "linux_networking_control.hash_ipv4_tcp" + alias: "hash_ipv4_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46678878 + name: "linux_networking_control.hash_ipv4_udp" + alias: "hash_ipv4_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 45972289 + name: "linux_networking_control.hash_ipv4" + alias: "hash_ipv4" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 33896331 + name: "linux_networking_control.hash_l2" + alias: "hash_l2" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46852435 + name: "linux_networking_control.hash_ipv6_tcp" + alias: "hash_ipv6_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46359163 + name: "linux_networking_control.hash_ipv6_udp" + alias: "hash_ipv6_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 34506208 + name: "linux_networking_control.hash_ipv6" + alias: "hash_ipv6" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 49349790 + name: "linux_networking_control.ipsec_tunnel_table" + alias: "ipsec_tunnel_table" + } + match_fields { + id: 1 + name: "vmeta.common.saidx" + bitwidth: 24 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit16_zeros" + bitwidth: 13 + match_type: EXACT + } + action_refs { + id: 26423957 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 47756035 + name: "linux_networking_control.ipsec_spd" + alias: "ipsec_spd" + } + match_fields { + id: 1 + name: "hdrs.ipv4[vmeta.common.depth].dst_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.ipv4[vmeta.common.depth].protocol" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 20682322 + } + action_refs { + id: 19192368 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + direct_resource_ids: 330899638 + size: 1024 +} +tables { + preamble { + id: 45022218 + name: "linux_networking_control.ipsec_tx_sa_classification_table" + alias: "ipsec_tx_sa_classification_table" + } + match_fields { + id: 1 + name: "hdrs.ipv4[vmeta.common.depth].dst_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.ipv4[vmeta.common.depth].protocol" + bitwidth: 8 + match_type: EXACT + } + match_fields { + id: 3 + name: "user_meta.cmeta.is_tunnel" + bitwidth: 1 + match_type: EXACT + } + action_refs { + id: 24935652 + } + action_refs { + id: 17885953 + } + action_refs { + id: 30154712 + } + action_refs { + id: 29527637 + } + action_refs { + id: 29238102 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + direct_resource_ids: 327348295 + size: 1024 +} +tables { + preamble { + id: 37326952 + name: "linux_networking_control.ipsec_tunnel_encap_mod_table" + alias: "ipsec_tunnel_encap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 30081157 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 43475471 + name: "linux_networking_control.ipv4_ipsec_tunnel_term_table" + alias: "ipv4_ipsec_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv4_dst" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 25138331 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 33275382 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 37403444 + name: "linux_networking_control.vm_src_ip4_mac_map_table" + alias: "vm_src_ip4_mac_map_table" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 28718673 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 50085764 + name: "linux_networking_control.vm_dst_ip4_mac_map_table" + alias: "vm_dst_ip4_mac_map_table" + } + match_fields { + id: 1 + name: "ipv4_dst" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 25018769 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +actions { + preamble { + id: 21257015 + name: "NoAction" + alias: "NoAction" + } +} +actions { + preamble { + id: 30285547 + name: "MainControlDecrypt.ipsec_bypass" + alias: "MainControlDecrypt.ipsec_bypass" + } +} +actions { + preamble { + id: 33177492 + name: "MainControlDecrypt.ipsec_decrypt" + alias: "ipsec_decrypt" + } + params { + id: 1 + name: "saidx" + bitwidth: 24 + } +} +actions { + preamble { + id: 19173135 + name: "linux_networking_control.no_modify" + alias: "no_modify" + } +} +actions { + preamble { + id: 31851898 + name: "linux_networking_control.dummycall" + alias: "dummycall" + } +} +actions { + preamble { + id: 33275382 + name: "linux_networking_control.do_recirculate" + alias: "do_recirculate" + } +} +actions { + preamble { + id: 19169916 + name: "linux_networking_control.l2_fwd" + alias: "l2_fwd" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 31624713 + name: "linux_networking_control.l2_fwd_and_bypass_bridge" + alias: "l2_fwd_and_bypass_bridge" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 24440746 + name: "linux_networking_control.l2_fwd_lag" + alias: "l2_fwd_lag" + } + params { + id: 1 + name: "lag_group_id" + bitwidth: 8 + } +} +actions { + preamble { + id: 21862855 + name: "linux_networking_control.l2_fwd_lag_and_recirculate" + alias: "l2_fwd_lag_and_recirculate" + } + params { + id: 1 + name: "lag_group_id" + bitwidth: 8 + } +} +actions { + preamble { + id: 24954025 + name: "linux_networking_control.bypass" + alias: "bypass" + } +} +actions { + preamble { + id: 29238102 + name: "linux_networking_control.drop" + alias: "drop" + } +} +actions { + preamble { + id: 24137163 + name: "linux_networking_control.vlan_push" + alias: "vlan_push" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 25667542 + name: "linux_networking_control.vlan_pop" + alias: "vlan_pop" + } +} +actions { + preamble { + id: 20733968 + name: "linux_networking_control.vxlan_encap" + alias: "vxlan_encap" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 26114242 + name: "linux_networking_control.vxlan_encap_vlan_pop" + alias: "vxlan_encap_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 30345128 + name: "linux_networking_control.vxlan_encap_v6" + alias: "vxlan_encap_v6" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 28284062 + name: "linux_networking_control.vxlan_encap_v6_vlan_pop" + alias: "vxlan_encap_v6_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 25818889 + name: "linux_networking_control.geneve_encap" + alias: "geneve_encap" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 26665268 + name: "linux_networking_control.geneve_encap_vlan_pop" + alias: "geneve_encap_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 29610186 + name: "linux_networking_control.geneve_encap_v6" + alias: "geneve_encap_v6" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 27347188 + name: "linux_networking_control.geneve_encap_v6_vlan_pop" + alias: "geneve_encap_v6_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 28308555 + name: "linux_networking_control.vxlan_decap_outer_hdr" + alias: "vxlan_decap_outer_hdr" + } +} +actions { + preamble { + id: 27842378 + name: "linux_networking_control.geneve_decap_outer_hdr" + alias: "geneve_decap_outer_hdr" + } +} +actions { + preamble { + id: 31953264 + name: "linux_networking_control.vxlan_decap_and_push_vlan" + alias: "vxlan_decap_and_push_vlan" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 25073902 + name: "linux_networking_control.geneve_decap_and_push_vlan" + alias: "geneve_decap_and_push_vlan" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 23093409 + name: "linux_networking_control.set_src_mac_start" + alias: "set_src_mac_start" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 30315892 + name: "linux_networking_control.set_src_mac_mid" + alias: "set_src_mac_mid" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 32740970 + name: "linux_networking_control.set_src_mac_last" + alias: "set_src_mac_last" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 31671750 + name: "linux_networking_control.set_outer_mac" + alias: "set_outer_mac" + } +} +actions { + preamble { + id: 31163719 + name: "linux_networking_control.set_vxlan_decap_outer_hdr" + alias: "set_vxlan_decap_outer_hdr" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 25342798 + name: "linux_networking_control.set_vxlan_decap_outer_and_push_vlan" + alias: "set_vxlan_decap_outer_and_push_vlan" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 26412051 + name: "linux_networking_control.set_vxlan_underlay_v4" + alias: "set_vxlan_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 19193142 + name: "linux_networking_control.set_vxlan_underlay_v6" + alias: "set_vxlan_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 31983357 + name: "linux_networking_control.pop_vlan_set_vxlan_underlay_v4" + alias: "pop_vlan_set_vxlan_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 23849990 + name: "linux_networking_control.pop_vlan_set_vxlan_underlay_v6" + alias: "pop_vlan_set_vxlan_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 26749366 + name: "linux_networking_control.set_geneve_decap_outer_hdr" + alias: "set_geneve_decap_outer_hdr" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 31208923 + name: "linux_networking_control.set_geneve_decap_outer_and_push_vlan" + alias: "set_geneve_decap_outer_and_push_vlan" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 23736116 + name: "linux_networking_control.set_geneve_underlay_v4" + alias: "set_geneve_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 17483375 + name: "linux_networking_control.set_geneve_underlay_v6" + alias: "set_geneve_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 24842266 + name: "linux_networking_control.pop_vlan_set_geneve_underlay_v4" + alias: "pop_vlan_set_geneve_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 33478945 + name: "linux_networking_control.pop_vlan_set_geneve_underlay_v6" + alias: "pop_vlan_set_geneve_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 27998997 + name: "linux_networking_control.set_egress_port" + alias: "set_egress_port" + } + params { + id: 1 + name: "router_interface_id" + bitwidth: 16 + } + params { + id: 2 + name: "egress_port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 16795029 + name: "linux_networking_control.set_nexthop_info_dmac" + alias: "set_nexthop_info_dmac" + } + params { + id: 1 + name: "router_interface_id" + bitwidth: 16 + } + params { + id: 2 + name: "egress_port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } + params { + id: 3 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 4 + name: "dmac_low" + bitwidth: 32 + } +} +actions { + preamble { + id: 25951413 + name: "linux_networking_control.set_nexthop_lag" + alias: "set_nexthop_lag" + } + params { + id: 1 + name: "lag_group_id" + bitwidth: 8 + } + params { + id: 2 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 3 + name: "dmac_low" + bitwidth: 32 + } +} +actions { + preamble { + id: 27181644 + name: "linux_networking_control.ecmp_set_nexthop_info_dmac" + alias: "ecmp_set_nexthop_info_dmac" + } + params { + id: 1 + name: "router_interface_id" + bitwidth: 16 + } + params { + id: 2 + name: "egress_port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } + params { + id: 3 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 4 + name: "dmac_low" + bitwidth: 32 + } +} +actions { + preamble { + id: 29883644 + name: "linux_networking_control.set_nexthop_id" + alias: "set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 16874810 + name: "linux_networking_control.ecmp_hash_action" + alias: "ecmp_hash_action" + } + params { + id: 1 + name: "ecmp_group_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 22009623 + name: "linux_networking_control.ipv4_set_nexthop_id" + alias: "ipv4_set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 21321477 + name: "linux_networking_control.ipv6_set_nexthop_id" + alias: "ipv6_set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 27000185 + name: "linux_networking_control.ecmp_v6_hash_action" + alias: "ecmp_v6_hash_action" + } + params { + id: 1 + name: "ecmp_group_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 24108243 + name: "linux_networking_control.add_vlan_and_fwd" + alias: "add_vlan_and_fwd" + } + params { + id: 1 + name: "vlan_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "port_id" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 25690116 + name: "linux_networking_control.remove_vlan_and_fwd" + alias: "remove_vlan_and_fwd" + } + params { + id: 1 + name: "vlan_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "port_id" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 32890467 + name: "linux_networking_control.set_source_port" + alias: "set_source_port" + } + params { + id: 1 + name: "source_port" + bitwidth: 16 + } +} +actions { + preamble { + id: 31939992 + name: "linux_networking_control.set_bridge_id" + alias: "set_bridge_id" + } + params { + id: 1 + name: "bridge_id" + bitwidth: 8 + } +} +actions { + preamble { + id: 23805991 + name: "linux_networking_control.set_tunnel_v4" + alias: "set_tunnel_v4" + } + params { + id: 1 + name: "dst_addr" + bitwidth: 32 + } +} +actions { + preamble { + id: 23953453 + name: "linux_networking_control.set_tunnel_v6" + alias: "set_tunnel_v6" + } + params { + id: 1 + name: "ipv6_1" + bitwidth: 32 + } + params { + id: 2 + name: "ipv6_2" + bitwidth: 32 + } + params { + id: 3 + name: "ipv6_3" + bitwidth: 32 + } + params { + id: 4 + name: "ipv6_4" + bitwidth: 32 + } +} +actions { + preamble { + id: 26092385 + name: "linux_networking_control.fwd_to_vsi" + alias: "fwd_to_vsi" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 21790705 + name: "linux_networking_control.trap_enable" + alias: "trap_enable" + } +} +actions { + preamble { + id: 19361592 + name: "linux_networking_control.do_trap_enable" + alias: "do_trap_enable" + } +} +actions { + preamble { + id: 20441854 + name: "linux_networking_control.fwd_to_cp_tx" + alias: "fwd_to_cp_tx" + } +} +actions { + preamble { + id: 21283156 + name: "linux_networking_control.fwd_to_cp" + alias: "fwd_to_cp" + } +} +actions { + preamble { + id: 26423957 + name: "linux_networking_control.set_ipsec_tunnel" + alias: "set_ipsec_tunnel" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 24 + } +} +actions { + preamble { + id: 19192368 + name: "linux_networking_control.ipsec_bypass" + alias: "linux_networking_control.ipsec_bypass" + } +} +actions { + preamble { + id: 29527637 + name: "linux_networking_control.tx_ipsec_tunnel_v6" + alias: "tx_ipsec_tunnel_v6" + } + params { + id: 1 + name: "dst_addr_1" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr_2" + bitwidth: 32 + } + params { + id: 3 + name: "dst_addr_3" + bitwidth: 16 + } +} +actions { + preamble { + id: 30154712 + name: "linux_networking_control.tx_ipsec_tunnel" + alias: "tx_ipsec_tunnel" + } + params { + id: 1 + name: "dst_addr" + bitwidth: 32 + } +} +actions { + preamble { + id: 24935652 + name: "linux_networking_control.tx_ipsec_transport" + alias: "tx_ipsec_transport" + } +} +actions { + preamble { + id: 17885953 + name: "linux_networking_control.tx_ipsec_transport_with_underlay" + alias: "tx_ipsec_transport_with_underlay" + } +} +actions { + preamble { + id: 25138331 + name: "linux_networking_control.decap_ipsec_tunnel_hdr" + alias: "decap_ipsec_tunnel_hdr" + } +} +actions { + preamble { + id: 20682322 + name: "linux_networking_control.ipsec_protect_set_metadata" + alias: "ipsec_protect_set_metadata" + } + params { + id: 1 + name: "saidx" + bitwidth: 24 + } +} +actions { + preamble { + id: 30081157 + name: "linux_networking_control.ipsec_tunnel_encap_mod" + alias: "ipsec_tunnel_encap_mod" + } + params { + id: 1 + name: "ipsec_src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "ipsec_dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "proto" + bitwidth: 8 + } +} +actions { + preamble { + id: 33290754 + name: "linux_networking_control.ipsec_transport_mod_action" + alias: "ipsec_transport_mod_action" + } +} +actions { + preamble { + id: 24657351 + name: "linux_networking_control.ipsec_transport_with_underlay_mod_action" + alias: "ipsec_transport_with_underlay_mod_action" + } +} +actions { + preamble { + id: 28758942 + name: "linux_networking_control.ipsec_tunnel_decap" + alias: "ipsec_tunnel_decap" + } +} +actions { + preamble { + id: 28718673 + name: "linux_networking_control.vm_src_ip4_mac_map_action" + alias: "vm_src_ip4_mac_map_action" + } + params { + id: 1 + name: "smac_high" + bitwidth: 16 + } + params { + id: 2 + name: "smac_mid" + bitwidth: 16 + } + params { + id: 3 + name: "smac_low" + bitwidth: 16 + } +} +actions { + preamble { + id: 25018769 + name: "linux_networking_control.vm_dst_ip4_mac_map_action" + alias: "vm_dst_ip4_mac_map_action" + } + params { + id: 1 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 2 + name: "dmac_mid" + bitwidth: 16 + } + params { + id: 3 + name: "dmac_low" + bitwidth: 16 + } +} +actions { + preamble { + id: 17061464 + name: "linux_networking_control.ipv4_lpm_root_lut_action" + alias: "ipv4_lpm_root_lut_action" + } + params { + id: 1 + name: "ipv4_table_lpm_root" + bitwidth: 32 + } +} +actions { + preamble { + id: 25701894 + name: "linux_networking_control.ipv6_lpm_root_lut_action" + alias: "ipv6_lpm_root_lut_action" + } + params { + id: 1 + name: "ipv6_table_lpm_root" + bitwidth: 32 + } +} +direct_counters { + preamble { + id: 333810446 + name: "linux_networking_control.ddcounter_pool_tx2" + alias: "ddcounter_pool_tx2" + } + spec { + unit: BOTH + } +} +direct_counters { + preamble { + id: 323002307 + name: "linux_networking_control.ddcounter_pool_tx3" + alias: "ddcounter_pool_tx3" + } + spec { + unit: BOTH + } +} +direct_counters { + preamble { + id: 327348295 + name: "linux_networking_control.ddcounter_pool_tx4" + alias: "ddcounter_pool_tx4" + } + spec { + unit: BOTH + } +} +direct_counters { + preamble { + id: 330899638 + name: "linux_networking_control.ddcounter_pool_tx5" + alias: "ddcounter_pool_tx5" + } + spec { + unit: BOTH + } +} +type_info { + new_types { + key: "PortId_t" + value { + translated_type { + uri: "p4.org/pna/v1/PortId_t" + sdn_bitwidth: 32 + } + } + } +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.pkg b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.pkg new file mode 100644 index 000000000..fa02ee481 Binary files /dev/null and b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.pkg differ diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.s b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.s new file mode 100644 index 000000000..4633038cd --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.s @@ -0,0 +1,53017 @@ +/* p4c-pna-xxp version: 3.0.70.124 */ + +name "linux_networking"; +version 1.0.73.29; + +segment IDPF_FXP { + label REG 0 PMD_COMMON; + label REG 2 PMD_HOST_INFO_TX_BASE; + label REG 3 PMD_HOST_INFO_RX; + label REG 4 PMD_GENERIC_32; + label REG 5 PMD_FXP_INTERNAL; + label REG 6 PMD_MISC_INTERNAL; + label REG 7 PMD_HOST_INFO_TX_EXTENDED; + label REG 8 PMD_PARSE_PTRS_SHORT; + label REG 10 PMD_RDMARX; + label REG 12 PMD_PARSE_PTRS; + label REG 13 PMD_CONFIG; + label REG 16 PMD_DROP_INFO; + + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 49 TCP; + + block EVMIN { + + set %AUTO_ADD_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_ADD_RX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_RX_TYPE3 %PMD_GENERIC_32; + + set %MD_SEL_RX_TYPE0 %PMD_COMMON; + set %MD_SEL_RX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_RX_TYPE2 %PMD_HOST_INFO_RX; + set %MD_SEL_RX_TYPE3 %PMD_MISC_INTERNAL; + set %MD_SEL_RX_TYPE4 %PMD_GENERIC_32; + + set %AUTO_ADD_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_TX_TYPE1 %PMD_DROP_INFO; + set %AUTO_ADD_TX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_TX_TYPE3 %PMD_MISC_INTERNAL; + set %AUTO_ADD_TX_TYPE4 %PMD_GENERIC_32; + set %AUTO_ADD_TX_TYPE5 %PMD_HOST_INFO_TX_BASE; + set %AUTO_ADD_TX_TYPE6 %PMD_HOST_INFO_TX_EXTENDED; + + set %MD_SEL_TX_TYPE0 %PMD_COMMON; + set %MD_SEL_TX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_TX_TYPE2 %PMD_HOST_INFO_TX_BASE; + set %MD_SEL_TX_TYPE3 %PMD_HOST_INFO_TX_EXTENDED; + set %MD_SEL_TX_TYPE4 %PMD_MISC_INTERNAL; + set %MD_SEL_TX_TYPE5 %PMD_GENERIC_32; + + set %AUTO_ADD_CFG_TYPE0 %PMD_FXP_INTERNAL; + set %MD_SEL_CFG_TYPE0 %PMD_COMMON; + set %MD_SEL_CFG_TYPE1 %PMD_CONFIG; + set %MD_SEL_CFG_TYPE2 %PMD_FXP_INTERNAL; + } + + block EVMOUT { + set %AUTO_DEL_LAN_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LAN_RX_TYPE1 %PMD_RDMARX; + set %AUTO_DEL_LAN_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_LANP2P_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LANP2P_RX_TYPE1 %PMD_RDMARX; + + set %AUTO_DEL_RDMA_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_RECIRC_RX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_RX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_RECIRC_TX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_TX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_TX_TYPE1 %PMD_HOST_INFO_TX_EXTENDED; + + set %AUTO_DEL_CFG_TYPE0 %PMD_FXP_INTERNAL; + } + + block SEM { + set %PAGE_SIZE 2MB; + } + + block LEM { + set %PAGE_SIZE 2MB; + } + + block LPM { + set %PAGE_SIZE 2MB; + } + + block MOD { + set %PAGE_SIZE 2MB; + } + +} + + +segment IDPF_CXP { + block CHP_MISC { + set %AUTO_ADD_RX_TYPE0 %MD3; //HostInfoRX + set %AUTO_ADD_RX_TYPE1 %MD5; //FXPInternal + set %MD_SEL_RX_TYPE0 %MD0; //Common + set %MD_SEL_RX_TYPE1 %MD3; //HostInfoRx + set %MD_SEL_RX_TYPE2 %MD5; //FXPInternal + set %MD_SEL_CFG_TYPE0 %MD0; //Common + set %MD_SEL_CFG_TYPE1 %MD13; //Config + set %MD_DEL_RX_TYPE0 %MD5; //FXPInternal + } + + block LEM { + set %FETCH_MODE 1; + set %EXCEPTION_PROF 0; + set %CLEAR_PKT_PROF 1; + set %PAGE_SIZE 2MB; + } +} + + +segment IDPF_CXP { + + name "linux_networking"; + version 1.0.73.29; + label PROTOCOL_ID 255 PROTO_ID_INVALID; + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 4 reserved4; + label PROTOCOL_ID 9 ETYPE_IN0; + label PROTOCOL_ID 10 ETYPE_IN1; + label PROTOCOL_ID 11 ETYPE_IN2; + label PROTOCOL_ID 15 PAY; + label PROTOCOL_ID 16 VLAN_EXT_IN0; + label PROTOCOL_ID 17 VLAN_EXT_IN1; + label PROTOCOL_ID 18 VLAN_EXT_IN2; + label PROTOCOL_ID 19 VLAN_INT_IN0; + label PROTOCOL_ID 20 VLAN_INT_IN1; + label PROTOCOL_ID 21 VLAN_INT_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 36 IP_NEXT_HDR_LAST_IN0; + label PROTOCOL_ID 37 IP_NEXT_HDR_LAST_IN1; + label PROTOCOL_ID 38 IP_NEXT_HDR_LAST_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 49 TCP; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 118 ARP; + label PROTOCOL_ID 121 CRYPTO_START; + label PROTOCOL_ID 124 L4_IN0; + label PROTOCOL_ID 125 VXLAN_IN1; + label PROTOCOL_ID 126 VXLAN_IN2; + label PROTOCOL_ID 127 L4_IN1; + label PROTOCOL_ID 128 GENEVE_IN0; + label PROTOCOL_ID 131 GENTUN_IN0; + label PROTOCOL_ID 200 VLAN_ETYPE_START_IN0; + label PROTOCOL_ID 201 VLAN_ETYPE_START_IN1; + label PROTOCOL_ID 202 VLAN_ETYPE_START_IN2; + + label REG STATE[68:68] MARKER0; + label REG STATE[69:69] MARKER1; + + label PTYPE 1 CXP_PTYPE_PAY; + label PTYPE 2 CXP_PTYPE_IPV4_ESP; + label PTYPE 3 CXP_PTYPE_TUN_IPV4_ESP; + label PTYPE 62 PTYPE_REJECT; + + label REG STATE[7:0] S0; + label REG STATE[15:8] S1; + label REG STATE[23:16] S2; + label REG STATE[31:24] S3; + label REG STATE[39:32] S4; + label REG STATE[47:40] S5; + label REG STATE[55:48] S6; + label REG STATE[63:56] S7; + label REG STATE[67:64] NODEID; + label REG STATE[77:68] MARKERS; + label REG STATE[79:78] WAY_SEL; + label REG 31[7:0] NULL; + + +block PARSER { + + + set %LEM_PROFILE 0; + set %DEFAULT_PTYPE 63; + set %CSUM_CONFIG_IPV4_0 32; + set %CSUM_CONFIG_IPV4_1 33; + set %CSUM_CONFIG_IPV4_2 34; + set %PROTO_STACK_SIZE 28; + + tcam PTYPE(%ERROR, %MARKER1, %MARKER0, %NODEID, %STATE[79:70]) { + 'b0, 'b1, 'b0, 8, 'b??_0000_0000 : PTYPE(4), LEMPROF(0); + 'b0, 'b0, 'b0, 8, 'b??_0000_0000 : PTYPE(CXP_PTYPE_PAY), LEMPROF(1); + 'b0, 'b0, 'b1, 7, 'b??_0000_0000 : PTYPE(CXP_PTYPE_IPV4_ESP), LEMPROF(10); + 'b0, 'b1, 'b1, 7, 'b??_0000_0000 : PTYPE(CXP_PTYPE_TUN_IPV4_ESP), LEMPROF(10); + 'b0, 'b0, 'b0, 15, 'b??_0000_0000 : PTYPE(PTYPE_REJECT), LEMPROF(0); + } + + stage 0 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: start */ + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 0; + set %S6 1; + set %S5 127; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 1 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 1, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CXP_ETYPE_Depth0 */ + set %PROTO_SLOT_NEXT 0, ETYPE_IN0, ETYPE_IN1, ETYPE_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 14; + set %S5 126; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 2 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 14, 'h7E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_Depth0 */ + set %MARKER0 1; + set %W0_OFFSET 0; + set %S6 3; + set %S5 124; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 3 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 3, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_NextProto_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W1_OFFSET 6; + set %W2_OFFSET 0; + set %S6 13; + set %S5 123; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 4 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??32, 'b0000_0000_??00_0000, 'h??, 13, 'h7B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ESP_PAY_delay */ + set %S6 5; + set %S5 111; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??11, 'b0000_0000_??00_0000, 'h??, 13, 'h7B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_UDP_Depth0_delay */ + set %S6 6; + set %S5 110; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 5 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 6, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 14; + set %S5 119; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 6 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hB512, 'h????, 'h??, 14, 'h77, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_VXLAN_Depth0 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VXLAN_IN1, VXLAN_IN2, PROTO_ID_INVALID; + set %S6 8; + set %S5 118; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 7 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 8, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_MAC_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 14; + set %S5 117; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 8 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 14, 'h75, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_CTag_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_EXT_IN0, VLAN_EXT_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %WAY_SEL 1; + set %S6 14; + set %S5 116; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @1 { 'h0008, 'h????, 'h??, 14, 'h75, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 14; + set %S5 115; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 9 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 14, 'h74, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 14; + set %S5 115; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 10 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 14, 'h73, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_Depth1 */ + set %MARKER1 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 12; + set %S5 122; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 11 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 12, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_NextProto_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W1_OFFSET 6; + set %W2_OFFSET 0; + set %S6 13; + set %S5 121; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 12 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??32, 'b0000_0000_??00_0000, 'h??, 13, 'h79, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ESP_PAY_delay */ + set %S6 5; + set %S5 111; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 13, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_CXP_delay */ + set %S6 14; + set %S5 112; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 13 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 5, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ESP_PAY */ + set %NODEID 7; + set %PROTO_SLOT_NEXT 0, CRYPTO_START, CRYPTO_START, CRYPTO_START, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 32, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 15; + set %S5 120; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 14, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_CXP */ + set %NODEID 8; + set %MARKER0 0; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 16; + set %S5 125; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: reject */ + set %NODEID 15; + set %MARKERS 0; + set %FLAG_DONE 1; + set %S5 113; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 14 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 15 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 16 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 17 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 18 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 19 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 20 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 21 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 22 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 23 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } +} + + +block LEM { + table PROFILE_CFG(%PROFILE) { + 0 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + AUX_PREC(0), + PROFILE_GROUP(0), + LUT { + NUM_ACTIONS(0), + OBJECT_ID(0) + }; + 1 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + AUX_PREC(0), + PROFILE_GROUP(1), + LUT { + NUM_ACTIONS(0), + OBJECT_ID(0) + }; + 10 : + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(10), + LUT { + NUM_ACTIONS(4), + OBJECT_ID(0), + MISS_ACTION0(3892380416), + MISS_ACTION1(3909288964), + EXTRACT { + WORD0(32, 12, 'hFFFF), + WORD1(32, 14, 'hFFFF), + WORD2(32, 16, 'hFFFF), + WORD3(32, 18, 'hFFFF), + WORD4(121, 0, 'hFFFF), + WORD5(121, 2, 'hFFFF) + } + }; + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + 1 : + BASE('h24000); + + } + table HASH_SPACE_MAP(%OBJECT_ID) { + 0 : + HASH_SPACE_ID('h0); + 1 : + HASH_SPACE_ID('h1); + + } +} + + +block ICE_MISC { + direction RX { + set %IP_0 32, IS_V4; + set %IP_1 33, IS_V4; + set %IP_2 34, IS_V4; + set %UDP_0 52; + set %UDP_1 53; + set %UDP_2 54; + set %NEXT_HDR_0 36; + set %NEXT_HDR_1 37; + set %NEXT_HDR_2 38; + set %CRYPTO_START 121; + } +} +} + + +segment IDPF_FXP { + + domain 0 { + name "linux_networking"; + } + domain 0 { + version 1.0.73.29; + external_version 0 1.0.73.29; + } + label PROTOCOL_ID 255 PROTO_ID_INVALID; + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 4 reserved4; + label PROTOCOL_ID 9 ETYPE_IN0; + label PROTOCOL_ID 10 ETYPE_IN1; + label PROTOCOL_ID 11 ETYPE_IN2; + label PROTOCOL_ID 15 PAY; + label PROTOCOL_ID 16 VLAN_EXT_IN0; + label PROTOCOL_ID 17 VLAN_EXT_IN1; + label PROTOCOL_ID 18 VLAN_EXT_IN2; + label PROTOCOL_ID 19 VLAN_INT_IN0; + label PROTOCOL_ID 20 VLAN_INT_IN1; + label PROTOCOL_ID 21 VLAN_INT_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 36 IP_NEXT_HDR_LAST_IN0; + label PROTOCOL_ID 37 IP_NEXT_HDR_LAST_IN1; + label PROTOCOL_ID 38 IP_NEXT_HDR_LAST_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 49 TCP; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 118 ARP; + label PROTOCOL_ID 121 CRYPTO_START; + label PROTOCOL_ID 124 L4_IN0; + label PROTOCOL_ID 125 VXLAN_IN1; + label PROTOCOL_ID 126 VXLAN_IN2; + label PROTOCOL_ID 127 L4_IN1; + label PROTOCOL_ID 128 GENEVE_IN0; + label PROTOCOL_ID 131 GENTUN_IN0; + label PROTOCOL_ID 200 VLAN_ETYPE_START_IN0; + label PROTOCOL_ID 201 VLAN_ETYPE_START_IN1; + label PROTOCOL_ID 202 VLAN_ETYPE_START_IN2; + + label FLAG 14 PACKET_FLAG_14; + label FLAG 15 PACKET_FLAG_15; + label FLAG 16 PACKET_FLAG_16; + label FLAG 17 PACKET_FLAG_17; + label FLAG 18 PACKET_FLAG_18; + label FLAG 19 PACKET_FLAG_19; + label FLAG 20 PACKET_FLAG_20; + label FLAG 21 PACKET_FLAG_21; + label FLAG 22 PACKET_FLAG_22; + label FLAG 23 PACKET_FLAG_23; + label FLAG 24 PACKET_FLAG_24; + label FLAG 25 PACKET_FLAG_25; + label FLAG 26 PACKET_FLAG_26; + label FLAG 27 PACKET_FLAG_27; + label REG STATE[60:60] MARKER0; + label REG STATE[61:61] MARKER1; + label REG STATE[62:62] MARKER2; + label REG STATE[63:63] MARKER3; + label REG STATE[64:64] MARKER4; + label REG STATE[65:65] MARKER5; + label REG STATE[66:66] MARKER6; + label REG STATE[67:67] MARKER7; + + label PTYPE 1 PTYPE_MAC_PAY; + label PTYPE 11 PTYPE_MAC_ARP; + label PTYPE 23 PTYPE_MAC_IPV4_PAY; + label PTYPE 24 PTYPE_MAC_IPV4_UDP; + label PTYPE 26 PTYPE_MAC_IPV4_TCP; + label PTYPE 33 PTYPE_MAC_IPV6_PAY; + label PTYPE 34 PTYPE_MAC_IPV6_UDP; + label PTYPE 35 PTYPE_MAC_IPV6_TCP; + label PTYPE 58 PTYPE_MAC_IPV4_TUN_MAC_PAY; + label PTYPE 59 PTYPE_MAC_IPV6_TUN_MAC_PAY; + label PTYPE 60 PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY; + label PTYPE 61 PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP; + label PTYPE 63 PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP; + label PTYPE 70 PTYPE_MAC_IPV4_TUN_MAC_IPV6_PAY; + label PTYPE 71 PTYPE_MAC_IPV4_TUN_MAC_IPV6_UDP; + label PTYPE 72 PTYPE_MAC_IPV4_TUN_MAC_IPV6_TCP; + label PTYPE 80 PTYPE_MAC_IPV6_TUN_MAC_IPV4_PAY; + label PTYPE 81 PTYPE_MAC_IPV6_TUN_MAC_IPV4_UDP; + label PTYPE 82 PTYPE_MAC_IPV6_TUN_MAC_IPV4_TCP; + label PTYPE 90 PTYPE_MAC_IPV6_TUN_MAC_IPV6_PAY; + label PTYPE 91 PTYPE_MAC_IPV6_TUN_MAC_IPV6_UDP; + label PTYPE 92 PTYPE_MAC_IPV6_TUN_MAC_IPV6_TCP; + label PTYPE 100 PTYPE_MAC_IPV4_GENEVE_IPV4_PAY; + label PTYPE 101 PTYPE_MAC_IPV4_GENEVE_IPV4_UDP; + label PTYPE 102 PTYPE_MAC_IPV4_GENEVE_IPV4_TCP; + label PTYPE 103 PTYPE_MAC_IPV4_GENEVE_IPV4_ICMP; + label PTYPE 110 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_PAY; + label PTYPE 111 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_UDP; + label PTYPE 112 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_TCP; + label PTYPE 113 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_ICMP; + label PTYPE 114 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_PAY; + label PTYPE 115 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_UDP; + label PTYPE 116 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_TCP; + label PTYPE 117 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_ICMP6; + label PTYPE 118 PTYPE_MAC_IPV4_GENEVE_MAC_PAY; + label PTYPE 119 PTYPE_MAC_IPV4_GENEVE_MAC_ARP; + label PTYPE 120 PTYPE_MAC_IPV6_GENEVE_IPV4_PAY; + label PTYPE 121 PTYPE_MAC_IPV6_GENEVE_IPV4_UDP; + label PTYPE 122 PTYPE_MAC_IPV6_GENEVE_IPV4_TCP; + label PTYPE 123 PTYPE_MAC_IPV6_GENEVE_IPV4_ICMP; + label PTYPE 124 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_PAY; + label PTYPE 125 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_UDP; + label PTYPE 126 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_TCP; + label PTYPE 127 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_ICMP; + label PTYPE 128 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_PAY; + label PTYPE 129 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_UDP; + label PTYPE 130 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_TCP; + label PTYPE 131 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_ICMP6; + label PTYPE 132 PTYPE_MAC_IPV6_GENEVE_MAC_PAY; + label PTYPE 140 PTYPE_MAC_IPV4_IPV4_PAY; + label PTYPE 141 PTYPE_MAC_IPV4_IPV4_UDP; + label PTYPE 142 PTYPE_MAC_IPV4_IPV4_TCP; + label PTYPE 150 PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_PAY; + label PTYPE 151 PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_UDP; + label PTYPE 152 PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_TCP; + label PTYPE 153 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_PAY; + label PTYPE 154 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_UDP; + label PTYPE 155 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_TCP; + label PTYPE 287 PTYPE_MAC_IPV4_TUN_MAC_ARP; + label PTYPE 288 PTYPE_MAC_IPV6_TUN_MAC_ARP; + label PTYPE 1022 PTYPE_REJECT; + + label REG STATE[7:0] S0; + label REG STATE[15:8] S1; + label REG STATE[23:16] S2; + label REG STATE[31:24] S3; + label REG STATE[39:32] S4; + label REG STATE[47:40] S5; + label REG STATE[55:48] S6; + label REG STATE[63:56] S7; + label REG STATE[59:56] NODEID; + label REG STATE[77:60] MARKERS; + label REG STATE[79:78] WAY_SEL; + label REG 31[7:0] NULL; + + label REG 31[7:0] UNUSED_INIT_KEY; + +block PARSER { + + + direction RX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + direction TX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + set %DEFAULT_PTYPE 255; + set %CSUM_CONFIG_IPV4_0 32; + set %CSUM_CONFIG_IPV4_1 33; + set %CSUM_CONFIG_IPV4_2 34; + set %CSUM_CONFIG_IPV6_0 40; + set %CSUM_CONFIG_IPV6_1 41; + set %CSUM_CONFIG_IPV6_2 42; + set %CSUM_CONFIG_UDP_0 52; + set %CSUM_CONFIG_UDP_1 53; + set %CSUM_CONFIG_UDP_2 54; + set %CSUM_CONFIG_TCP_0 49; + set %PROTO_STACK_SIZE 26; + + tcam INIT_ID(%INIT_KEY0){ + 'h?? : 0; + } + + table METADATA_INIT(%INIT_ID){ + + 0 : FLAGS('b0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000), + STATE0(0), + STATE1(0), + STATE2(0), + STATE3(0), + STATE4(0), + STATE5(0), + STATE6(0), + STATE7(0), + STATE8(0), + STATE9(0), + HO(0), + W0(0), + W1(0), + W2(0); + } + + + tcam PTYPE(%ERROR, %MARKER7, %MARKER6, %MARKER5, %MARKER4, %MARKER3, %MARKER2, %MARKER1, %MARKER0, %NODEID, %STATE[79:68]) { + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 1, 'b??00_0000_0000 : PTYPE(29), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(17), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(18), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(19), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(20), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(21), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(22), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(25), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(27), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(28), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 6, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_ICMP6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 6, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_ICMP6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(9), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(10), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(12), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(13), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(14), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(15), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(16), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(2), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(3), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(4), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(5), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(7), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(8), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 15, 'b??00_0000_0000 : PTYPE(PTYPE_REJECT), + L3_IN0_CSUM(DISABLE), + L3_IN1_CSUM(DISABLE), + L3_IN2_CSUM(DISABLE), + L4_IN0_ASSOC(DISABLE), + L4_IN1_ASSOC(DISABLE), + L4_IN2_ASSOC(DISABLE); + } + + stage 0 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: start */ + set %W0_OFFSET 0; + set %W1_OFFSET 2; + set %WAY_SEL 0; + set %S6 18; + set %S5 109; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 1 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'hFFFF, 'h??, 18, 'h6D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Maybe_BC_Depth0 */ + set %W0_OFFSET 4; + set %S6 18; + set %S5 108; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_????_???1, 'h????, 'h??, 18, 'h6D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_MC_Depth0 */ + set %PACKET_FLAG_16 1; + set %S6 18; + set %S5 106; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 2 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'h????, 'h??, 18, 'h6C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_BC_Depth0 */ + set %PACKET_FLAG_15 1; + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 22; + set %S5 107; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 18, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Done_Depth0 */ + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 22; + set %S5 107; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 3 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 22, 'h6B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_Depth0 */ + set %PACKET_FLAG_14 1; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN1, VLAN_EXT_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 22; + set %S5 104; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @1 { 'hA888, 'h????, 'h??, 22, 'h6B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_STag_Depth0 */ + set %PACKET_FLAG_14 1; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN1, VLAN_EXT_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 22; + set %S5 104; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 4 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 22, 'h68, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_DoubleVLAN_Depth0 */ + set %PROTO_SLOT_NEXT 0, VLAN_INT_IN0, VLAN_INT_IN1, VLAN_INT_IN2, PROTO_ID_INVALID; + set %S6 22; + set %S5 102; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 5 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 22, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth0 */ + set %PROTO_SLOT_NEXT 0, ETYPE_IN0, ETYPE_IN1, ETYPE_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 27; + set %S5 101; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 6 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 27, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth0 */ + set %MARKER1 1; + set %W0_OFFSET 0; + set %S6 24; + set %S5 95; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'hDD86, 'h????, 'h??, 27, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth0 */ + set %MARKER4 1; + set %PROTO_SLOT_NEXT 0, IPV6_IN0, IPV6_IN1, IPV6_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %S6 27; + set %S5 93; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @2 { 'h0608, 'h????, 'h??, 27, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 26; + set %S5 100; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 7 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 24, 'h5F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 24, 'h5F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??11, 'h????, 'h??, 27, 'h5D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, L4_IN0, L4_IN1, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 60; + set %S5 66; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @3 { 'h??06, 'h????, 'h??, 27, 'h5D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h??3A, 'h????, 'h??, 27, 'h5D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6 */ + set %NODEID 6; + set %W0_OFFSET 0; + set %S6 27; + set %S5 85; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 24, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth0 */ + set %W0_OFFSET 6; + set %S6 33; + set %S5 91; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 8 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 33, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 55; + set %S5 88; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 33, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth0 */ + set %PACKET_FLAG_18 1; + set %S6 33; + set %S5 82; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 9 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 55, 'h58, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0_delay */ + set %S6 34; + set %S5 51; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 55, 'h58, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??04, 'h????, 'h??, 55, 'h58, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPV4_In_IPV4_Depth1 */ + set %PACKET_FLAG_20 1; + set %PACKET_FLAG_21 0; + set %S6 35; + set %S5 97; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 33, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 59; + set %S5 79; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 10 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 34, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, L4_IN0, L4_IN1, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 60; + set %S5 66; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 35, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 37; + set %S5 94; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 11 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hB512, 'h????, 'h??, 60, 'h42, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_VXLAN_Depth0 */ + set %PACKET_FLAG_20 0; + set %PACKET_FLAG_21 1; + set %MARKER6 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VXLAN_IN1, VXLAN_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 4, GENTUN_IN0, GENTUN_IN0, GENTUN_IN0, PROTO_ID_INVALID; + set %S6 38; + set %S5 62; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @1 { 'hC117, 'h????, 'h??, 60, 'h42, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GENEVE_Depth0 */ + set %MARKER7 1; + set %PROTO_SLOT_NEXT 0, GENEVE_IN0, GENEVE_IN0, GENEVE_IN0, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 4, GENTUN_IN0, GENTUN_IN0, GENTUN_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 27; + set %S5 61; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 12 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h5865, 'h????, 'h??, 27, 'h3D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Depth1 */ + set %MARKER0 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 43; + set %S5 60; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + @1 { 'h0008, 'h????, 'h??, 27, 'h3D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 37; + set %S5 94; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'hDD86, 'h????, 'h??, 27, 'h3D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth1 */ + set %MARKER5 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV6_IN0, IPV6_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %WAY_SEL 1; + set %S6 27; + set %S5 92; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 38, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Depth1 */ + set %MARKER0 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 43; + set %S5 60; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 13 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 43, 'h3C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_EXT_IN0, VLAN_EXT_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 43; + set %S5 59; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @1 { 'hA888, 'h????, 'h??, 43, 'h3C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_STag_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_EXT_IN0, VLAN_EXT_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 43; + set %S5 59; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 14 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 43, 'h3B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_DoubleVLAN_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_INT_IN0, VLAN_INT_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_26 4, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %S6 43; + set %S5 57; + alu 0 { ADD %HO, 6; } + alu 1 { NOP; } + } + + } + + } + } + stage 15 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 43, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_26 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 27; + set %S5 56; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 16 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 27, 'h38, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 37; + set %S5 94; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'hDD86, 'h????, 'h??, 27, 'h38, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth1 */ + set %MARKER5 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV6_IN0, IPV6_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %WAY_SEL 1; + set %S6 27; + set %S5 92; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @2 { 'h0608, 'h????, 'h??, 27, 'h38, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 26; + set %S5 100; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 17 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 37, 'h5E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 37, 'h5E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??11, 'h????, 'h??, 27, 'h5C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, UDP_IN0, UDP_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, PROTO_ID_INVALID, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %S6 60; + set %S5 65; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @3 { 'h??06, 'h????, 'h??, 27, 'h5C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h??3A, 'h????, 'h??, 27, 'h5C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6 */ + set %NODEID 6; + set %W0_OFFSET 0; + set %S6 27; + set %S5 85; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 37, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth1 */ + set %W0_OFFSET 6; + set %S6 48; + set %S5 90; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 18 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 48, 'h5A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 55; + set %S5 87; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 48, 'h5A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth1 */ + set %PACKET_FLAG_18 1; + set %S6 48; + set %S5 81; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??87, 'h????, 'h??, 27, 'h55, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6_ns */ + set %PACKET_FLAG_26 1; + set %S6 27; + set %S5 84; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h??88, 'h????, 'h??, 27, 'h55, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6_na */ + set %PACKET_FLAG_27 1; + set %S6 27; + set %S5 83; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 19 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 55, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1_delay */ + set %S6 51; + set %S5 50; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 55, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??04, 'h????, 'h??, 55, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPV4_In_IPV4_Depth2 */ + set %PACKET_FLAG_20 1; + set %PACKET_FLAG_21 1; + set %MARKER3 1; + set %W0_OFFSET 0; + set %WAY_SEL 2; + set %S6 52; + set %S5 96; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 48, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 59; + set %S5 78; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 20 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 52, 'h60, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 52, 'h60, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 52, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth2 */ + set %W0_OFFSET 6; + set %S6 56; + set %S5 89; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 51, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, UDP_IN0, UDP_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, PROTO_ID_INVALID, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %S6 60; + set %S5 65; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 21 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 56, 'h59, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth2 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, PROTO_ID_INVALID, IPV4_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 55; + set %S5 86; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 56, 'h59, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth2 */ + set %PACKET_FLAG_18 1; + set %S6 56; + set %S5 80; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 22 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 55, 'h56, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth2_delay */ + set %S6 57; + set %S5 49; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 55, 'h56, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 55, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_delay */ + set %S6 27; + set %S5 53; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 56, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth2 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, PROTO_ID_INVALID, IPV4_IN0, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 59; + set %S5 77; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 23 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_00??_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??4?, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_??01_????_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN */ + set %PACKET_FLAG_23 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'b????_??10_????_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_SYN */ + set %PACKET_FLAG_22 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'b????_??11_????_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN_SYN */ + set %PACKET_FLAG_23 1; + set %PACKET_FLAG_22 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 30, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_No_FIN_SYN */ + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h????, 'h????, 'h??, 59, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IP_Frag */ + set %PACKET_FLAG_19 1; + set %S6 27; + set %S5 76; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @7 { 'h????, 'h????, 'h??, 57, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth2 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, PROTO_ID_INVALID, UDP_IN0, PROTO_ID_INVALID; + set %S6 60; + set %S5 64; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 24 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_???0_?1??, 'h????, 'h??, 61, 'h4A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST */ + set %PACKET_FLAG_24 1; + set %S6 64; + set %S5 70; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_???1_?0??, 'h????, 'h??, 61, 'h4A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_ACK */ + set %PACKET_FLAG_25 1; + set %S6 64; + set %S5 69; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_????_???1_?1??, 'h????, 'h??, 61, 'h4A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST_ACK */ + set %PACKET_FLAG_24 1; + set %PACKET_FLAG_25 1; + set %S6 64; + set %S5 68; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 61, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay_delay */ + set %S6 64; + set %S5 52; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h????, 'h????, 'h??, 27, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY */ + set %NODEID 4; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 68; + set %S5 98; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 60, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_PAY */ + set %NODEID 3; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 63; + set %S5 63; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 25 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 64, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay */ + set %NODEID 2; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 69; + set %S5 67; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: reject */ + set %NODEID 15; + set %MARKERS 0; + set %FLAG_DONE 1; + set %S5 54; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 26 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 27 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 28 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 29 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 30 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 31 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 32 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 33 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 34 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 35 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 36 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 37 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 38 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 39 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 40 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 41 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 42 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 43 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 44 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 45 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 46 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 47 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } +} + + +block SEM { + + domain 0 { + + owner PROFILE_CFG 1..1023 0; + owner PROFILE 12..1023 0; + owner OBJECT_CACHE_CFG 0..4 0; + owner CACHE_BANK 0..5 0; + owner PROFILE 4095..4095 0; + owner PROFILE_CFG 0 0; + + tcam MD_PRE_EXTRACT(%TX, %PTYPE) { + + 1, 'b??_????_???? : %MD4[7:0], %NULL, %NULL, %NULL; + 0, 'b??_????_???? : %MD4[7:0], %NULL, %NULL, %NULL; + } + + + tcam SEM_MD2(%MD_PRE_EXTRACT, %FLAGS[15:0], %PARSER_FLAGS[39:8]) { + 'h????_????, 16'b????_????_????_???1, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(53), KEY(50), KEY(49), KEY(51), KEY(34), KEY(52), KEY(48), KEY(45), KEY(44), KEY(33), KEY(32); + 'h????_????, 16'b????_????_????_???0, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(34), KEY(52), KEY(48), KEY(45), KEY(44), KEY(33), KEY(32); + + } + + table PTYPE_GROUP(%PTYPE) { + + 255 : 255, DROP(0); + 1 : 1, DROP(0); + 11 : 11, DROP(0); + 23 : 23, DROP(0); + 24 : 24, DROP(0); + 26 : 26, DROP(0); + 33 : 33, DROP(0); + 34 : 34, DROP(0); + 35 : 35, DROP(0); + 58 : 58, DROP(0); + 287 : 287, DROP(0); + 59 : 59, DROP(0); + 288 : 288, DROP(0); + 60 : 60, DROP(0); + 61 : 61, DROP(0); + 63 : 63, DROP(0); + 70 : 70, DROP(0); + 71 : 71, DROP(0); + 72 : 72, DROP(0); + 80 : 80, DROP(0); + 81 : 81, DROP(0); + 82 : 82, DROP(0); + 90 : 90, DROP(0); + 91 : 91, DROP(0); + 92 : 92, DROP(0); + 150 : 150, DROP(0); + 152 : 152, DROP(0); + 151 : 151, DROP(0); + 153 : 153, DROP(0); + 154 : 154, DROP(0); + 155 : 155, DROP(0); + 140 : 140, DROP(0); + 141 : 141, DROP(0); + 142 : 142, DROP(0); + 100 : 100, DROP(0); + 101 : 101, DROP(0); + 102 : 102, DROP(0); + 103 : 103, DROP(0); + 118 : 118, DROP(0); + 119 : 119, DROP(0); + 110 : 110, DROP(0); + 111 : 111, DROP(0); + 112 : 112, DROP(0); + 113 : 113, DROP(0); + 114 : 114, DROP(0); + 115 : 115, DROP(0); + 116 : 116, DROP(0); + 117 : 117, DROP(0); + 132 : 132, DROP(0); + 120 : 120, DROP(0); + 121 : 121, DROP(0); + 122 : 122, DROP(0); + 123 : 123, DROP(0); + 124 : 124, DROP(0); + 125 : 125, DROP(0); + 126 : 126, DROP(0); + 127 : 127, DROP(0); + 128 : 128, DROP(0); + 129 : 129, DROP(0); + 130 : 130, DROP(0); + 131 : 131, DROP(0); + } + + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %SEM_MD2, %PORT) { + + @12 { 11, 'b???_????_????, 'h???0, 'b?? : 11; } + @13 { 119, 'b???_????_????, 'h???0, 'b?? : 11; } + @14 { 287, 'b???_????_????, 'h???0, 'b?? : 11; } + @15 { 288, 'b???_????_????, 'h???0, 'b?? : 11; } + @16 { 58, 'b???_????_????, 'h???0, 'b?? : 13; } + @17 { 60, 'b???_????_????, 'h???0, 'b?? : 13; } + @18 { 61, 'b???_????_????, 'h???0, 'b?? : 13; } + @19 { 63, 'b???_????_????, 'h???0, 'b?? : 13; } + @20 { 70, 'b???_????_????, 'h???0, 'b?? : 13; } + @21 { 71, 'b???_????_????, 'h???0, 'b?? : 13; } + @22 { 72, 'b???_????_????, 'h???0, 'b?? : 13; } + @23 { 100, 'b???_????_????, 'h???0, 'b?? : 13; } + @24 { 101, 'b???_????_????, 'h???0, 'b?? : 13; } + @25 { 102, 'b???_????_????, 'h???0, 'b?? : 13; } + @26 { 110, 'b???_????_????, 'h???0, 'b?? : 13; } + @27 { 111, 'b???_????_????, 'h???0, 'b?? : 13; } + @28 { 112, 'b???_????_????, 'h???0, 'b?? : 13; } + @29 { 114, 'b???_????_????, 'h???0, 'b?? : 13; } + @30 { 115, 'b???_????_????, 'h???0, 'b?? : 13; } + @31 { 116, 'b???_????_????, 'h???0, 'b?? : 13; } + @32 { 118, 'b???_????_????, 'h???0, 'b?? : 13; } + @33 { 140, 'b???_????_????, 'h???0, 'b?? : 13; } + @34 { 141, 'b???_????_????, 'h???0, 'b?? : 13; } + @35 { 142, 'b???_????_????, 'h???0, 'b?? : 13; } + @36 { 150, 'b???_????_????, 'h???0, 'b?? : 13; } + @37 { 151, 'b???_????_????, 'h???0, 'b?? : 13; } + @38 { 152, 'b???_????_????, 'h???0, 'b?? : 13; } + @39 { 153, 'b???_????_????, 'h???0, 'b?? : 13; } + @40 { 154, 'b???_????_????, 'h???0, 'b?? : 13; } + @41 { 155, 'b???_????_????, 'h???0, 'b?? : 13; } + @42 { 1, 'b???_????_????, 'h???0, 'b?? : 15; } + @43 { 23, 'b???_????_????, 'h???0, 'b?? : 15; } + @44 { 24, 'b???_????_????, 'h???0, 'b?? : 15; } + @45 { 26, 'b???_????_????, 'h???0, 'b?? : 15; } + @46 { 33, 'b???_????_????, 'h???0, 'b?? : 15; } + @47 { 34, 'b???_????_????, 'h???0, 'b?? : 15; } + @48 { 35, 'b???_????_????, 'h???0, 'b?? : 15; } + @49 { 59, 'b???_????_????, 'h???0, 'b?? : 15; } + @50 { 80, 'b???_????_????, 'h???0, 'b?? : 15; } + @51 { 81, 'b???_????_????, 'h???0, 'b?? : 15; } + @52 { 82, 'b???_????_????, 'h???0, 'b?? : 15; } + @53 { 90, 'b???_????_????, 'h???0, 'b?? : 15; } + @54 { 91, 'b???_????_????, 'h???0, 'b?? : 15; } + @55 { 92, 'b???_????_????, 'h???0, 'b?? : 15; } + @56 { 120, 'b???_????_????, 'h???0, 'b?? : 15; } + @57 { 121, 'b???_????_????, 'h???0, 'b?? : 15; } + @58 { 122, 'b???_????_????, 'h???0, 'b?? : 15; } + @59 { 124, 'b???_????_????, 'h???0, 'b?? : 15; } + @60 { 125, 'b???_????_????, 'h???0, 'b?? : 15; } + @61 { 126, 'b???_????_????, 'h???0, 'b?? : 15; } + @62 { 128, 'b???_????_????, 'h???0, 'b?? : 15; } + @63 { 129, 'b???_????_????, 'h???0, 'b?? : 15; } + @64 { 130, 'b???_????_????, 'h???0, 'b?? : 15; } + @65 { 132, 'b???_????_????, 'h???0, 'b?? : 15; } + @66 { 58, 'b???_????_????, 'h???4, 'b?? : 1; } + @67 { 60, 'b???_????_????, 'h???4, 'b?? : 1; } + @68 { 61, 'b???_????_????, 'h???4, 'b?? : 1; } + @69 { 63, 'b???_????_????, 'h???4, 'b?? : 1; } + @70 { 70, 'b???_????_????, 'h???4, 'b?? : 1; } + @71 { 71, 'b???_????_????, 'h???4, 'b?? : 1; } + @72 { 72, 'b???_????_????, 'h???4, 'b?? : 1; } + @73 { 100, 'b???_????_????, 'h???4, 'b?? : 1; } + @74 { 101, 'b???_????_????, 'h???4, 'b?? : 1; } + @75 { 102, 'b???_????_????, 'h???4, 'b?? : 1; } + @76 { 110, 'b???_????_????, 'h???4, 'b?? : 1; } + @77 { 111, 'b???_????_????, 'h???4, 'b?? : 1; } + @78 { 112, 'b???_????_????, 'h???4, 'b?? : 1; } + @79 { 114, 'b???_????_????, 'h???4, 'b?? : 1; } + @80 { 115, 'b???_????_????, 'h???4, 'b?? : 1; } + @81 { 116, 'b???_????_????, 'h???4, 'b?? : 1; } + @82 { 118, 'b???_????_????, 'h???4, 'b?? : 1; } + @83 { 119, 'b???_????_????, 'h???4, 'b?? : 1; } + @84 { 140, 'b???_????_????, 'h???4, 'b?? : 1; } + @85 { 141, 'b???_????_????, 'h???4, 'b?? : 1; } + @86 { 142, 'b???_????_????, 'h???4, 'b?? : 1; } + @87 { 150, 'b???_????_????, 'h???4, 'b?? : 1; } + @88 { 151, 'b???_????_????, 'h???4, 'b?? : 1; } + @89 { 152, 'b???_????_????, 'h???4, 'b?? : 1; } + @90 { 153, 'b???_????_????, 'h???4, 'b?? : 1; } + @91 { 154, 'b???_????_????, 'h???4, 'b?? : 1; } + @92 { 155, 'b???_????_????, 'h???4, 'b?? : 1; } + @93 { 287, 'b???_????_????, 'h???4, 'b?? : 1; } + @94 { 59, 'b???_????_????, 'h???4, 'b?? : 2; } + @95 { 80, 'b???_????_????, 'h???4, 'b?? : 2; } + @96 { 81, 'b???_????_????, 'h???4, 'b?? : 2; } + @97 { 82, 'b???_????_????, 'h???4, 'b?? : 2; } + @98 { 90, 'b???_????_????, 'h???4, 'b?? : 2; } + @99 { 91, 'b???_????_????, 'h???4, 'b?? : 2; } + @100 { 92, 'b???_????_????, 'h???4, 'b?? : 2; } + @101 { 120, 'b???_????_????, 'h???4, 'b?? : 2; } + @102 { 121, 'b???_????_????, 'h???4, 'b?? : 2; } + @103 { 122, 'b???_????_????, 'h???4, 'b?? : 2; } + @104 { 124, 'b???_????_????, 'h???4, 'b?? : 2; } + @105 { 125, 'b???_????_????, 'h???4, 'b?? : 2; } + @106 { 126, 'b???_????_????, 'h???4, 'b?? : 2; } + @107 { 128, 'b???_????_????, 'h???4, 'b?? : 2; } + @108 { 129, 'b???_????_????, 'h???4, 'b?? : 2; } + @109 { 130, 'b???_????_????, 'h???4, 'b?? : 2; } + @110 { 132, 'b???_????_????, 'h???4, 'b?? : 2; } + @111 { 288, 'b???_????_????, 'h???4, 'b?? : 2; } + @112 { 'b??_????_????, 'b???_????_????, 'h???4, 'b?? : 3; } + @113 { 'b??_????_????, 'b???_????_????, 'b????_????_???1_??00, 'b?? : 11; } + @114 { 'b??_????_????, 'b???_????_????, 'b????_????_???1_????, 'b?? : 6; } + @115 { 'b??_????_????, 'b???_????_????, 'b????_????_??1?_????, 'b?? : 5; } + @116 { 'b??_????_????, 'b???_????_????, 'h???2, 'b?? : 4; } + @117 { 11, 2, 'b????_????_????_00?1, 'b?? : 16; } + @118 { 119, 2, 'b????_????_????_00?1, 'b?? : 16; } + @119 { 287, 2, 'b????_????_????_00?1, 'b?? : 16; } + @120 { 288, 2, 'b????_????_????_00?1, 'b?? : 16; } + @121 { 'b??_????_????, 1, 'b????_????_????_00?1, 'b?? : 10; } + @122 { 1, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @123 { 11, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @124 { 23, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @125 { 24, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @126 { 26, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @127 { 33, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 9; } + @128 { 34, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 9; } + @129 { 35, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 9; } + @130 { 58, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @131 { 59, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @132 { 60, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @133 { 61, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @134 { 63, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @135 { 70, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @136 { 71, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @137 { 72, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @138 { 80, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @139 { 81, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @140 { 82, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @141 { 90, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @142 { 91, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @143 { 92, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @144 { 100, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @145 { 101, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @146 { 102, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @147 { 110, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @148 { 111, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @149 { 112, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @150 { 114, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @151 { 115, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @152 { 116, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @153 { 118, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @154 { 119, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @155 { 120, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @156 { 121, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @157 { 122, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @158 { 124, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @159 { 125, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @160 { 126, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @161 { 128, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @162 { 129, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @163 { 130, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @164 { 132, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @165 { 140, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @166 { 141, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @167 { 142, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @168 { 150, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @169 { 151, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @170 { 152, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @171 { 153, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @172 { 154, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @173 { 155, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @174 { 287, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @175 { 288, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @176 { 1, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @177 { 11, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @178 { 23, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @179 { 24, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @180 { 26, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @181 { 33, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @182 { 34, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @183 { 35, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @184 { 58, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @185 { 59, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @186 { 60, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @187 { 61, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @188 { 63, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @189 { 70, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @190 { 71, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @191 { 72, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @192 { 80, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @193 { 81, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @194 { 82, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @195 { 90, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @196 { 91, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @197 { 92, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @198 { 110, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @199 { 111, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @200 { 112, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @201 { 114, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @202 { 115, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @203 { 116, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @204 { 118, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @205 { 119, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @206 { 124, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @207 { 125, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @208 { 126, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @209 { 128, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @210 { 129, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @211 { 130, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @212 { 132, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @213 { 287, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @214 { 288, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @215 { 1, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @216 { 11, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @217 { 23, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @218 { 24, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @219 { 26, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @220 { 33, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @221 { 34, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @222 { 35, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @223 { 58, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @224 { 59, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @225 { 60, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @226 { 61, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @227 { 63, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @228 { 70, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @229 { 71, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @230 { 72, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @231 { 80, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @232 { 81, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @233 { 82, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @234 { 90, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @235 { 91, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @236 { 92, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @237 { 110, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @238 { 111, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @239 { 112, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @240 { 114, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @241 { 115, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @242 { 116, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @243 { 118, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @244 { 119, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @245 { 124, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @246 { 125, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @247 { 126, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @248 { 128, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @249 { 129, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @250 { 130, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @251 { 132, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @252 { 287, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @253 { 288, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @4095 { 'b??_????_????, 'b???_????_????, 'h????, 'b?? : 0; } + } + + table OBJECT_CACHE_CFG(%OBJECT_ID) { + + 0 : BASE(0), ENTRY_SIZE(32), START_BANK(0), NUM_BANKS(2); + 1 : BASE(10424320), ENTRY_SIZE(64), START_BANK(2), NUM_BANKS(2); + 2 : BASE(31272960), ENTRY_SIZE(64), START_BANK(4), NUM_BANKS(2); + } + + table PROFILE_CFG(%PROFILE) { + + 11 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_phy_port_to_pr_map + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3825336332), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 13 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // ipv4_ipsec_tunnel_term_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(8), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (33, 12, 'hFFFF), + WORD1 (33, 14, 'hFFFF), + WORD2 (33, 16, 'hFFFF), + WORD3 (33, 18, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 15 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // always_recirculate_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (4, 0, 'hFFFF), + WORD1 (4, 0, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 1 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_ipv4_tunnel_source_port + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (33, 12, 'hFFFF), + WORD1 (33, 14, 'hFFFF), + WORD2 (131, 0, 'hFFFF), + WORD3 (131, 2, 'hFF) + } + + } +, + // ipv4_tunnel_term_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774988352), + MISS_ACTION1(3896508673), + EXTRACT { + WORD0 (33, 12, 'hFFFF), + WORD1 (33, 14, 'hFFFF), + WORD2 (131, 0, 'hFFFF), + WORD3 (131, 2, 'hFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 2 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_ipv6_tunnel_source_port + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (41, 8, 'hFFFF), + WORD1 (41, 10, 'hFFFF), + WORD2 (41, 12, 'hFFFF), + WORD3 (41, 14, 'hFFFF), + WORD4 (41, 16, 'hFFFF), + WORD5 (41, 18, 'hFFFF), + WORD6 (41, 20, 'hFFFF), + WORD7 (41, 22, 'hFFFF), + WORD8 (131, 0, 'hFFFF), + WORD9 (131, 2, 'hFF) + } + + } +, + // ipv6_tunnel_term_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (41, 8, 'hFFFF), + WORD1 (41, 10, 'hFFFF), + WORD2 (41, 12, 'hFFFF), + WORD3 (41, 14, 'hFFFF), + WORD4 (41, 16, 'hFFFF), + WORD5 (41, 18, 'hFFFF), + WORD6 (41, 20, 'hFFFF), + WORD7 (41, 22, 'hFFFF), + WORD8 (131, 0, 'hFFFF), + WORD9 (131, 2, 'hFF) + } + + } +; + 3 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_source_port + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3921936385), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 6 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // source_port_to_pr_map + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3825336332), + EXTRACT { + WORD0 (228, 8, 'hFFFF), + WORD1 (228, 5, 'hFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 5 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_lag_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (228, 1, 'hFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 4 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // vsi_to_vsi_loopback + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (230, 2, 'hFFE) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 16 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // always_trap_arp_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774988352), + MISS_ACTION1(3896508673), + EXTRACT { + WORD0 (4, 0, 'hFFFF), + WORD1 (4, 0, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 10 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // tx_acc_vsi + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3825369089), + MISS_ACTION1(3897757712), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 8 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_to_tunnel_v4 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 9 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_to_tunnel_v6 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 14 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // nexthop_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + EXTRACT { + WORD0 (228, 2, 'hFFFF), + WORD1 (228, 5, 'hFF) + } + + } +, + // ipsec_tx_sa_classification_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + EXTRACT { + WORD0 (32, 16, 'hFFFF), + WORD1 (32, 18, 'hFFFF), + WORD2 (32, 9, 'hFF), + WORD3 (228, 0, 'h2) + } + + } +; + 0 : SWID_SRC(0), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(1), HASH_SIZE1(1), HASH_SIZE2(1), HASH_SIZE3(1), HASH_SIZE4(1), HASH_SIZE5(1), PINNED_LOOKUP(0), AGING_MODE(NONE), + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + } + + } +} + +block LEM { + + domain 0 { + + owner PROFILE_CFG 1..100 0; + owner OBJECT_CACHE_CFG 0..3 0; + owner HASH_SPACE_CFG 0 0; + owner HASH_SPACE_CFG 1 0; + owner CACHE_BANK 0..5 0; + owner PROFILE_CFG 0 0; + table OBJECT_CACHE_CFG(%OBJECT_ID) { + 0 : + ENTRY_SIZE(64), + START_BANK(0), + NUM_BANKS(2); + 1 : + ENTRY_SIZE(64), + START_BANK(2), + NUM_BANKS(2); + + } + table PROFILE_CFG(%PROFILE) { + 7 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(7), + LUT { + NUM_ACTIONS(4), + OBJECT_ID(0), + EXTRACT { + WORD0(32, 12, 'hFFFF), + WORD1(32, 14, 'hFFFF) + } + }; + 8 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(8), + LUT { + NUM_ACTIONS(4), + OBJECT_ID(0), + EXTRACT { + WORD0(32, 16, 'hFFFF), + WORD1(32, 18, 'hFFFF) + } + }; + 1 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(1), + LUT { + NUM_ACTIONS(8), + OBJECT_ID(0), + MISS_ACTION0(964689920), + MISS_ACTION1(3774988352), + MISS_ACTION2(3896508673), + EXTRACT { + WORD0(229, 4, 'hFF), + WORD1(1, 0, 'hFFFF), + WORD2(1, 2, 'hFFFF), + WORD3(1, 4, 'hFFFF) + } + }; + 9 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(9), + LUT { + NUM_ACTIONS(8), + OBJECT_ID(0), + MISS_ACTION0(964689920), + MISS_ACTION1(3774988352), + MISS_ACTION2(3896508673), + EXTRACT { + WORD0(1, 6, 'hFFFF), + WORD1(1, 8, 'hFFFF), + WORD2(1, 10, 'hFFFF), + WORD3(229, 4, 'hFF) + } + }; + 4 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(4), + LUT { + NUM_ACTIONS(8), + OBJECT_ID(0), + MISS_ACTION0(964689920), + MISS_ACTION1(3774988352), + MISS_ACTION2(1656437820), + MISS_ACTION3(1946157057), + MISS_ACTION4(3896508673), + EXTRACT { + WORD0(229, 4, 'hFF), + WORD1(1, 0, 'hFFFF), + WORD2(1, 2, 'hFFFF), + WORD3(1, 4, 'hFFFF) + } + }; + 10 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(10), + LUT { + NUM_ACTIONS(12), + OBJECT_ID(0), + EXTRACT { + WORD0(32, 16, 'hFFFF), + WORD1(32, 18, 'hFFFF), + WORD2(32, 9, 'hFF) + } + }; + 11 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(11), + LUT { + NUM_ACTIONS(12), + OBJECT_ID(0), + EXTRACT { + WORD0(224, 15, 'hFFFF), + WORD1(224, 17, 'hFF), + WORD2(228, 4, 'hFFF8) + } + }; + 0 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + LUT { + NUM_ACTIONS(0), + KEY_SIZE(0) + }; + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + 1 : + BASE('h0); + + } + + } +} + +block HASH { + + domain 0 { + + owner PROFILE 0..127 0; + owner PROFILE_LUT_CFG 1..15 0; + owner KEY_EXTRACT 1..15 0; + owner SYMMETRICIZE 1..15 0; + owner KEY_MASK 1..15 0; + owner PROFILE 4095..4095 0; + owner PROFILE_LUT_CFG 0 0; + owner KEY_EXTRACT 0 0; + owner KEY_MASK 0 0; + tcam MD_EXTRACT(%PTYPE, %MD_DIGEST, %FLAGS[15:0]) { + 'b????_????_??, 'h??, 'b????_????_????_???1 : %MD4[7:0], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + 'b????_????_??, 'h??, 'b????_????_????_???0 : %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + + } + tcam MD_KEY(%PTYPE, %MD_EXTRACT, %FLAGS[15:0], %PARSER_FLAGS[39:8]) { + 'b????_????_??, 'h????_????, 'b????_????_????_???1, 'h????_???? : + MASK('hFFFF), + KEY(52), + KEY(51), + KEY(45), + KEY(44), + KEY(33), + KEY(32); + 'b????_????_??, 'h????_????, 'b????_????_????_???0, 'h????_???? : + MASK('hFFFF), + KEY(45), + KEY(44), + KEY(33), + KEY(32); + + } + table PTYPE_GROUP(%PTYPE) { + 26 : 1; + 63 : 1; + 82 : 1; + 102 : 1; + 112 : 1; + 142 : 1; + 152 : 1; + 155 : 1; + 122 : 1; + 126 : 1; + 24 : 2; + 61 : 2; + 81 : 2; + 101 : 2; + 111 : 2; + 141 : 2; + 151 : 2; + 154 : 2; + 121 : 2; + 125 : 2; + 23 : 3; + 60 : 3; + 80 : 3; + 100 : 3; + 110 : 3; + 140 : 3; + 150 : 3; + 153 : 3; + 120 : 3; + 124 : 3; + 35 : 4; + 72 : 4; + 92 : 4; + 116 : 4; + 130 : 4; + 34 : 5; + 71 : 5; + 91 : 5; + 115 : 5; + 129 : 5; + 33 : 6; + 70 : 6; + 90 : 6; + 114 : 6; + 128 : 6; + 1 : 10; + 11 : 10; + 12 : 10; + 58 : 10; + 59 : 10; + 287 : 10; + 288 : 10; + 118 : 10; + 119 : 10; + 132 : 10; + + } + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %MD_KEY) { + @0 { 10, 'b????_?, 'b????_????_????_???0 : 1; } + @1 { 1, 'b????_?, 'b????_????_????_???0 : 1; } + @2 { 2, 'b????_?, 'b????_????_????_???0 : 2; } + @3 { 3, 'b????_?, 'b????_????_????_???0 : 3; } + @4 { 6, 'b????_?, 'b????_????_????_???0 : 1; } + @5 { 4, 'b????_?, 'b????_????_????_???0 : 4; } + @6 { 5, 'b????_?, 'b????_????_????_???0 : 5; } + @7 { 10, 'b????_?, 'b????_????_???1_00?1 : 7; } + @8 { 3, 'b????_?, 'b????_????_???1_00?1 : 7; } + @9 { 2, 'b????_?, 'b????_????_???1_00?1 : 7; } + @10 { 1, 'b????_?, 'b????_????_???1_00?1 : 7; } + @11 { 6, 'b????_?, 'b????_????_???1_00?1 : 8; } + @12 { 5, 'b????_?, 'b????_????_???1_00?1 : 8; } + @13 { 4, 'b????_?, 'b????_????_???1_00?1 : 8; } + @14 { 10, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @15 { 3, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @16 { 2, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @17 { 1, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @18 { 6, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @19 { 5, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @20 { 4, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @21 { 10, 'b????_?, 'b????_????_????_00?1 : 11; } + @22 { 3, 'b????_?, 'b????_????_????_00?1 : 11; } + @23 { 2, 'b????_?, 'b????_????_????_00?1 : 11; } + @24 { 1, 'b????_?, 'b????_????_????_00?1 : 11; } + @25 { 6, 'b????_?, 'b????_????_????_00?1 : 11; } + @26 { 5, 'b????_?, 'b????_????_????_00?1 : 11; } + @27 { 4, 'b????_?, 'b????_????_????_00?1 : 11; } + @4095 { 'b????, 'b????_?, 'h???? : 0; } + + } + + define LUT linux_networking_control_hash_ipv4_tcp_lut { + BASE('h0), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv4_udp_lut { + BASE('h80), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv4_lut { + BASE('h100), + SIZE('h80) + } + + define LUT linux_networking_control_hash_l2_lut { + BASE('h180), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_tcp_lut { + BASE('h200), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_udp_lut { + BASE('h280), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_lut { + BASE('h300), + SIZE('h80) + } + table PROFILE_LUT_CFG(%PROFILE) { + 1 : + TYPE(QUEUE), + MASK_SELECT(1), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 2 : + TYPE(QUEUE), + MASK_SELECT(2), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 3 : + TYPE(QUEUE), + MASK_SELECT(3), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 4 : + TYPE(QUEUE), + MASK_SELECT(4), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 5 : + TYPE(QUEUE), + MASK_SELECT(5), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 7 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(6), + VSI_PROFILE_OVR(1); + 8 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(7), + VSI_PROFILE_OVR(1); + 9 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(8), + VSI_PROFILE_OVR(1); + 11 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(9), + VSI_PROFILE_OVR(1); + 0 : + TYPE(QUEUE), + MASK_SELECT(0), + TC_OVR(0), + VSI_PROFILE_OVR(1); + + } + table KEY_EXTRACT(%PROFILE) { + 1 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(49, 0), + BYTE9(49, 1), + BYTE10(49, 2), + BYTE11(49, 3); + 2 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(52, 0), + BYTE9(52, 1), + BYTE10(52, 2), + BYTE11(52, 3); + 3 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19); + 4 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(49, 0), + BYTE33(49, 1), + BYTE34(49, 2), + BYTE35(49, 3); + 5 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(52, 0), + BYTE33(52, 1), + BYTE34(52, 2), + BYTE35(52, 3); + 7 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(32, 9), + BYTE9(52, 0), + BYTE10(52, 1), + BYTE11(52, 2), + BYTE12(52, 3); + 8 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(40, 6), + BYTE33(52, 0), + BYTE34(52, 1), + BYTE35(52, 2), + BYTE36(52, 3); + 9 : + BYTE0(1, 0), + BYTE1(1, 1), + BYTE2(1, 2), + BYTE3(1, 3), + BYTE4(1, 4), + BYTE5(1, 5), + BYTE6(1, 6), + BYTE7(1, 7), + BYTE8(1, 8), + BYTE9(1, 9), + BYTE10(1, 10), + BYTE11(1, 11); + 11 : + BYTE0(1, 0), + BYTE1(1, 1), + BYTE2(1, 2), + BYTE3(1, 3), + BYTE4(1, 4), + BYTE5(1, 5), + BYTE6(1, 6), + BYTE7(1, 7), + BYTE8(1, 8), + BYTE9(1, 9), + BYTE10(1, 10), + BYTE11(1, 11), + BYTE12(9, 0), + BYTE13(9, 1); + 0 : + BYTE0(255, 255), + BYTE1(255, 255); + + } + table KEY_MASK(%MASK_SELECT) { + 1 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 2 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 3 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF); + 4 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF); + 5 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF); + 6 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF); + 7 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF), + BYTE36('hFF); + 8 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 9 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF); + 0 : + BYTE0('hFF), + BYTE1('hFF); + + } + + } +} + +block MOD { + + domain 0 { + + owner PROFILE_CFG 0..31 0; + owner FV_EXTRACT 0..31 0; + owner FIELD_MAP0_CFG 0..2047 0; + owner FIELD_MAP1_CFG 0..2047 0; + owner FIELD_MAP2_CFG 0..2047 0; + owner META_PROFILE_CFG 0..15 0; + table PROFILE_CFG(%PROFILE) { + 4 : /* vlan_push*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(200), INS(0,16,4)}; + 5 : /* vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 1 : /* vxlan_encap*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}; + 8 : /* vxlan_encap_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 6 : /* vxlan_encap_v6*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}; + 9 : /* vxlan_encap_v6_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 10 : /* geneve_encap*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}; + 12 : /* geneve_encap_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 11 : /* geneve_encap_v6*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}; + 13 : /* geneve_encap_v6_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 2 : /* vxlan_decap_outer_hdr*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}; + 14 : /* geneve_decap_outer_hdr*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}; + 7 : /* vxlan_decap_and_push_vlan*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}, + GROUP{PID(201), INS(0,16,4)}; + 15 : /* geneve_decap_and_push_vlan*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}, + GROUP{PID(201), INS(0,16,4)}; + 3 : /* set_outer_mac*/ + EXTRACT(1), + GROUP{0}, + GROUP{PID(2), REP_FLD(6,0,0), REP_FLD_LU_2B(10,0,2,255), REP_FLD_LU_2B(8,0,1,255), REP_FLD_LU_2B(6,0,0,255)}, + GROUP{PID(53), REP_FLD(2,0,0)}; + 16 : /* ipsec_tunnel_encap_mod*/ + EXTRACT(2), + GROUP{0}, + GROUP{PID(1), REP_FLD(6,0,0), REP_FLD_LU_2B(10,0,2,255), REP_FLD_LU_2B(8,0,1,255), REP_FLD_LU_2B(6,0,0,255)}, + GROUP{PID(32), INS(0,34,9), INS(0,38,1), INS(0,255,10), INS_Z(121,0)}; + 17 : /* ipsec_transport_mod_action*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(124), INS_Z(121,0)}; + 18 : /* ipsec_transport_with_underlay_mod_action*/ + EXTRACT(3), + GROUP{0}, + GROUP{PID(2), REP_FLD(6,0,0), REP_FLD_LU_2B(10,0,2,255), REP_FLD_LU_2B(8,0,1,255), REP_FLD_LU_2B(6,0,0,255)}, + GROUP{PID(53), REP_FLD(2,0,0)}, + GROUP{PID(124), INS_Z(121,0)}; + 19 : /* ipsec_tunnel_decap*/ + EXTRACT(4), + GROUP{0}, + GROUP{PID(2), REP_FLD(6,0,0), REP_FLD(6,6,0)}, + GROUP{PID(33), DEL(1)}, + GROUP{PID(32), NOP()}; + + } + table FV_EXTRACT(%EXTRACT) { + 0 : /* Default*/ + BYTE(255, 255); + 1 : /* set_outer_mac*/ + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(224, 27), + BYTE(224, 26); + 2 : /* ipsec_tunnel_encap_mod*/ + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5); + 3 : /* ipsec_transport_with_underlay_mod_action*/ + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(224, 27), + BYTE(224, 26); + 4 : /* ipsec_tunnel_decap*/ + BYTE(228, 21), + BYTE(228, 20), + BYTE(228, 19), + BYTE(228, 18), + BYTE(228, 17), + BYTE(228, 16), + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10); + + } + table FIELD_MAP0_CFG(%PROFILE) { + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 16 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 18 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + table FIELD_MAP1_CFG(%PROFILE) { + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 16 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 18 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + table FIELD_MAP2_CFG(%PROFILE) { + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 16 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 18 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + 1 : + BASE('h400000); + + } + + set %CSUM_CONFIG_IPV4_0 IPV4_IN0; + set %CSUM_CONFIG_IPV4_1 IPV4_IN1; + set %CSUM_CONFIG_IPV4_2 IPV4_IN2; + set %CSUM_CONFIG_IPV6_0 IPV6_IN0; + set %CSUM_CONFIG_IPV6_1 IPV6_IN1; + set %CSUM_CONFIG_IPV6_2 IPV6_IN2; + set %CSUM_CONFIG_UDP_0 UDP_IN0; + set %CSUM_CONFIG_UDP_1 UDP_IN1; + set %CSUM_CONFIG_UDP_2 UDP_IN2; + set %CSUM_CONFIG_TCP_0 TCP; + set %CSUM_CONFIG_RAW_VLAN_EXT_0 VLAN_EXT_IN0; + set %CSUM_CONFIG_RAW_VLAN_EXT_1 VLAN_EXT_IN1; + set %CSUM_CONFIG_RAW_VLAN_EXT_2 VLAN_EXT_IN2; + set %CSUM_CONFIG_RAW_VLAN_INT_0 VLAN_INT_IN0; + set %CSUM_CONFIG_RAW_VLAN_INT_1 VLAN_INT_IN1; + set %CSUM_CONFIG_RAW_VLAN_INT_2 VLAN_INT_IN2; + set %CSUM_CONFIG_RAW_MAC_0 MAC_IN0; + set %CSUM_CONFIG_RAW_MAC_1 MAC_IN1; + set %CSUM_CONFIG_RAW_MAC_2 MAC_IN2; + set %CSUM_CONFIG_CRYPTO_START CRYPTO_START; + } +} + +block WLPG_PROFILES { + + domain 0 { + + owner WLPG_PROFILE 16384 0; + + direction RX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + + direction TX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + table PTYPE_GROUP(%PTYPE) { + 255 : 255; + 1 : 1; + 11 : 11; + 23 : 23; + 24 : 24; + 26 : 26; + 58 : 58; + 287 : 287; + 60 : 60; + 61 : 61; + 63 : 63; + 33 : 33; + 34 : 34; + 35 : 35; + 59 : 59; + 288 : 288; + 70 : 70; + 71 : 71; + 72 : 72; + 80 : 80; + 81 : 81; + 82 : 82; + 90 : 90; + 91 : 91; + 92 : 92; + 150 : 150; + 151 : 151; + 152 : 152; + 153 : 153; + 154 : 154; + 155 : 155; + 140 : 140; + 141 : 141; + 142 : 142; + 100 : 100; + 101 : 101; + 102 : 102; + 103 : 103; + 118 : 118; + 119 : 119; + 110 : 110; + 111 : 111; + 112 : 112; + 113 : 113; + 114 : 114; + 115 : 115; + 116 : 116; + 117 : 117; + 132 : 132; + 120 : 120; + 121 : 121; + 122 : 122; + 123 : 123; + 124 : 124; + 125 : 125; + 126 : 126; + 127 : 127; + 128 : 128; + 129 : 129; + 130 : 130; + 131 : 131; + + } + tcam GEN_MD1(%PTYPE, %FLAGS[15:0], %MD_DIGEST) { + 'b??_????_????, 'b????_????_????_???1, 'h?? : %MD4[7:0], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + 'b??_????_????, 'b????_????_????_???0, 'h?? : %MD4[7:0], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + + } + tcam GEN_MD2(%GEN_MD1, %FLAGS[15:0], %PARSER_FLAGS[39:8], %PTYPE) { + 'h????_????, 'b????_????_????_???1, 'h????_????, 'b??_????_???? : + BASE('h0), + KEY(51), + KEY(20), + KEY(48), + KEY(52), + KEY(34), + KEY(53), + KEY(50), + KEY(49), + KEY(33), + KEY(45), + KEY(44), + KEY(32); + 'h????_????, 'b????_????_????_???0, 'h????_????, 'b??_????_???? : + BASE('h0), + KEY(52), + KEY(34), + KEY(53), + KEY(50), + KEY(49), + KEY(33), + KEY(45), + KEY(44), + KEY(32); + + } + table WLPG_PROFILE(%PTYPE_GROUP, %VSI_GROUP, %GEN_MD2) { + 58, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 11, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + + } + + } +} + +block WCM { + + domain 0 { + + owner PROFILE_CFG0 1..1023 0; + owner KEY_EXTRACT0 1..1023 0; + owner ACTION_MAP0 1..1023 0; + owner PROFILE_CFG1 1..1023 0; + owner KEY_EXTRACT1 1..1023 0; + owner ACTION_MAP1 1..1023 0; + owner GRP0_SLICE0 0..7 0; + owner GRP0_SLICE1 0..7 0; + owner GRP0_SLICE2 0..7 0; + owner GRP0_SLICE3 0..7 0; + owner GRP0_SLICE4 0..7 0; + owner GRP0_SLICE5 0..7 0; + owner GRP0_SLICE6 0..7 0; + owner GRP0_SLICE7 0..7 0; + owner GRP1_SLICE0 0..1023 0; + owner GRP1_SLICE1 0..1023 0; + owner GRP1_SLICE2 0..1023 0; + owner GRP1_SLICE3 0..1023 0; + owner GRP1_SLICE4 0..1023 0; + owner GRP1_SLICE5 0..1023 0; + owner GRP1_SLICE6 0..1023 0; + owner GRP1_SLICE7 0..1023 0; + owner PROFILE_CFG0 0 0; + owner PROFILE_CFG1 0 0; + + define MAT mat2 { + START_SLICE('h4), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h2), + KEY_SEL4('h2) + + } + + define MAT mat4 { + START_SLICE('h6), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h4), + KEY_SEL4('h4) + + } + + define MAT mat3 { + START_SLICE('h5), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h2), + KEY_SEL2('h4), + KEY_SEL3('h4), + KEY_SEL4('h4) + + } + + define MAT mat0 { + START_SLICE('h0), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h3), + KEY_SEL4('h4) + + } + + define MAT mat1 { + START_SLICE('h1), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h2), + KEY_SEL4('h2) + + } + table PROFILE_CFG0(%WCM_PROFILE0) { + 1 : + MAT(mat2); + 3 : + MAT(mat4); + 2 : + MAT(mat3); + 0 : + BYPASS(1); + + } + table PROFILE_CFG1(%WCM_PROFILE1) { + 1 : + MAT(mat0); + 2 : + MAT(mat1); + 0 : + BYPASS(1); + + } + table ACTION_MAP0(%WCM_PROFILE0, %SLICE) { + 1, 4 : 8; + 3, 6 : 13, 14; + 2, 5 : 9, 10, 11, 12; + + } + table ACTION_MAP1(%WCM_PROFILE1, %SLICE) { + 1, 0 : 0, 1; + 2, 1 : 2, 3, 4, 5, 6; + + } + table KEY_EXTRACT0(%WCM_PROFILE0) { + 1 : + WORD0(224, 24); + 3 : + WORD0(228, 6), + WORD1(224, 26); + 2 : + WORD0(228, 1), + WORD1(224, 26); + + } + table KEY_EXTRACT1(%WCM_PROFILE1) { + 1 : + WORD0(228, 8), + WORD1(16, 2); + 2 : + WORD0(228, 2); + + } + + } +} + +block RC { + + domain 0 { + + + } +} + +block LPM { + + domain 0 { + + owner PROFILE_CFG 1..2 0; + owner KEY_EXTRACT 0..1023 0; + owner PROFILE_CFG 0 0; + table PROFILE_CFG(%PROFILE) { + 1 : + KEY_SIZE('h8), + AUX_PREC('h1), + DEF_ACTION_PTR('h1); + 2 : + KEY_SIZE('h14), + AUX_PREC('h1), + DEF_ACTION_PTR('h2); + 0 : + KEY_SIZE('h0); + + } + table KEY_EXTRACT(%PROFILE) { + 1 : + BYTE0(228, 4, 'hFF), + BYTE1(228, 5, 'hFF), + BYTE2(255, 255, 'h0), + BYTE3(255, 255, 'h0), + BYTE4(228, 28, 'hFF), + BYTE5(228, 29, 'hFF), + BYTE6(228, 30, 'hFF), + BYTE7(228, 31, 'hFF); + 2 : + BYTE0(228, 4, 'hFF), + BYTE1(228, 5, 'hFF), + BYTE2(255, 255, 'h0), + BYTE3(255, 255, 'h0), + BYTE4(228, 16, 'hFF), + BYTE5(228, 17, 'hFF), + BYTE6(228, 18, 'hFF), + BYTE7(228, 19, 'hFF), + BYTE8(228, 20, 'hFF), + BYTE9(228, 21, 'hFF), + BYTE10(228, 22, 'hFF), + BYTE11(228, 23, 'hFF), + BYTE12(228, 24, 'hFF), + BYTE13(228, 25, 'hFF), + BYTE14(228, 26, 'hFF), + BYTE15(228, 27, 'hFF), + BYTE16(228, 28, 'hFF), + BYTE17(228, 29, 'hFF), + BYTE18(228, 30, 'hFF), + BYTE19(228, 31, 'hFF); + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + + } + + } +} + +block MNG { + define KEY_EXTRACT { + MAC_DA(1, 0), + VLAN_TAG(16, 2), + ETHERTYPE(9, 0), + ARP_OPER(118, 6), + ARP_TPA(118, 24), + TCP_DPORT(49, 2), + UDP_DPORT(52, 2), + IPV4_DA(32, 16), + IPV6_DA(40, 24), + TCP_SPORT(49, 0), + UDP_SPORT(52, 0) + } +} + + +block PKB_MISC { + domain 0 { + set %IPV4_CSUM_IN0 32; + set %IPV4_CSUM_IN1 33; + set %IPV4_CSUM_IN2 34; + set %IPV6_CSUM_IN0 40; + set %IPV6_CSUM_IN1 41; + set %IPV6_CSUM_IN2 42; + set %UDP_CSUM_IN0 52; + set %UDP_CSUM_IN1 53; + set %UDP_CSUM_IN2 54; + set %TCP_CSUM_IN0 49; + set %IPV4_ICRC_IN0 32; + set %IPV6_ICRC_IN0 40; + set %UDP_ICRC_IN0 52; + set %PAY 15; + } +} + +block RSC_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + set %UDP_IN0 52; + set %UDP_IN1 53; + set %UDP_IN2 54; + set %TCP 49; + set %VLAN_EXT_IN0 16; + set %VLAN_EXT_IN1 17; + set %VLAN_EXT_IN2 18; + set %VLAN_INT_IN0 19; + set %VLAN_INT_IN1 20; + set %VLAN_INT_IN2 21; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %PAY 15; + } +} + +block ICE_MISC { + domain 0 { + direction TX { + set %IP_0 32, IS_V4; + set %IP_1 33, IS_V4; + set %IP_2 34, IS_V4; + set %IP_3 40, IS_V6; + set %IP_4 41, IS_V6; + set %IP_5 42, IS_V6; + set %UDP_0 52; + set %UDP_1 53; + set %UDP_2 54; + set %NEXT_HDR_0 36; + set %NEXT_HDR_1 37; + set %NEXT_HDR_2 38; + set %CRYPTO_START 121; + } + } +} + +block RDMA_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + set %UDP_IN0 52; + set %TCP 49; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %VLAN_INT_IN0 19; + set %VLAN_EXT_IN0 16; + set %VLAN_INT_IN1 20; + set %VLAN_EXT_IN1 17; + set %PAY 15; + } +} + +block EVMOUT { + domain 0 { + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + } +} + +block SCTP_VAL_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + } +} +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json new file mode 100644 index 000000000..ea1fd09f5 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json @@ -0,0 +1,5020 @@ +{ + "schema_version" : "1.0.0", + "tables" : [ + { + "name" : "main.MainControlDecrypt.lem_exception", + "id" : 48773578, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.MainControlDecrypt.lem_clear", + "id" : 38116127, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.MainControlDecrypt.ipsec_rx_sa_classification_table", + "id" : 45068641, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.ipv4[vmeta.common.depth].src_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "hdrs.ipv4[vmeta.common.depth].dst_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "hdrs.esp.spi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 33177492, + "name" : "MainControlDecrypt.ipsec_decrypt", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "saidx", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 30285547, + "name" : "MainControlDecrypt.ipsec_bypass", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_start", + "id" : 42605135, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id0", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 23093409, + "name" : "linux_networking_control.set_src_mac_start", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_mid", + "id" : 43970557, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id1", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 30315892, + "name" : "linux_networking_control.set_src_mac_mid", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_last", + "id" : 47499906, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id2", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 32740970, + "name" : "linux_networking_control.set_src_mac_last", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.always_trap_arp_table", + "id" : 48081556, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 19361592, + "name" : "linux_networking_control.do_trap_enable", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.always_recirculate_table", + "id" : 47372228, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vlan_push_mod_table", + "id" : 40312237, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 24137163, + "name" : "linux_networking_control.vlan_push", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vlan_pop_mod_table", + "id" : 38884256, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 25667542, + "name" : "linux_networking_control.vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_mod_table", + "id" : 40763773, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 20733968, + "name" : "linux_networking_control.vxlan_encap", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_vlan_pop_mod_table", + "id" : 39675860, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 26114242, + "name" : "linux_networking_control.vxlan_encap_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_v6_mod_table", + "id" : 46225003, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 30345128, + "name" : "linux_networking_control.vxlan_encap_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_v6_vlan_pop_mod_table", + "id" : 34318005, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 28284062, + "name" : "linux_networking_control.vxlan_encap_v6_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_decap_mod_table", + "id" : 40980035, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 28308555, + "name" : "linux_networking_control.vxlan_decap_outer_hdr", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_decap_and_push_vlan_mod_table", + "id" : 37624107, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 31953264, + "name" : "linux_networking_control.vxlan_decap_and_push_vlan", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_mod_table", + "id" : 41319073, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 25818889, + "name" : "linux_networking_control.geneve_encap", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_vlan_pop_mod_table", + "id" : 47977422, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 26665268, + "name" : "linux_networking_control.geneve_encap_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_v6_mod_table", + "id" : 42283616, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 29610186, + "name" : "linux_networking_control.geneve_encap_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_v6_vlan_pop_mod_table", + "id" : 47370391, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 27347188, + "name" : "linux_networking_control.geneve_encap_v6_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_decap_mod_table", + "id" : 34173274, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 27842378, + "name" : "linux_networking_control.geneve_decap_outer_hdr", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_decap_and_push_vlan_mod_table", + "id" : 34525815, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 25073902, + "name" : "linux_networking_control.geneve_decap_and_push_vlan", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_tunnel_term_table", + "id" : 47484925, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 31163719, + "name" : "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 25342798, + "name" : "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 26749366, + "name" : "linux_networking_control.set_geneve_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 31208923, + "name" : "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 21790705, + "name" : "linux_networking_control.trap_enable", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv6_tunnel_term_table", + "id" : 34601307, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv6_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 31163719, + "name" : "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 25342798, + "name" : "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 26749366, + "name" : "linux_networking_control.set_geneve_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 31208923, + "name" : "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_rx_table", + "id" : 44842501, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 2, + "name" : "user_meta.pmeta.bridge_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 1, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21862855, + "name" : "linux_networking_control.l2_fwd_lag_and_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "lag_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 21283156, + "name" : "linux_networking_control.fwd_to_cp", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_tx_table", + "id" : 40240205, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.pmeta.bridge_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 2, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 24440746, + "name" : "linux_networking_control.l2_fwd_lag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "lag_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 26412051, + "name" : "linux_networking_control.set_vxlan_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 19193142, + "name" : "linux_networking_control.set_vxlan_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 31983357, + "name" : "linux_networking_control.pop_vlan_set_vxlan_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 23849990, + "name" : "linux_networking_control.pop_vlan_set_vxlan_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 23736116, + "name" : "linux_networking_control.set_geneve_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 17483375, + "name" : "linux_networking_control.set_geneve_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 24842266, + "name" : "linux_networking_control.pop_vlan_set_geneve_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 33478945, + "name" : "linux_networking_control.pop_vlan_set_geneve_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 24108243, + "name" : "linux_networking_control.add_vlan_and_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vlan_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25690116, + "name" : "linux_networking_control.remove_vlan_and_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vlan_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 20441854, + "name" : "linux_networking_control.fwd_to_cp_tx", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.nexthop_table", + "id" : 37894008, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.nexthop_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 16795029, + "name" : "linux_networking_control.set_nexthop_info_dmac", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "router_interface_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "egress_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25951413, + "name" : "linux_networking_control.set_nexthop_lag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "lag_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 2, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 3, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ecmp_nexthop_table", + "id" : 47712712, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.nexthop_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 27181644, + "name" : "linux_networking_control.ecmp_set_nexthop_info_dmac", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "router_interface_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "egress_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.tx_lag_table", + "id" : 40757978, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.lag_group_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 2, + "name" : "hash", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 27998997, + "name" : "linux_networking_control.set_egress_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "router_interface_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "egress_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 24954025, + "name" : "linux_networking_control.bypass", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_lag_table", + "id" : 44444143, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.lag_group_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_table", + "id" : 37566509, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "ipv4_table_lpm_root", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv4_dst_match", + "repeated" : false, + "annotations" : [ + { + "name" : "@intel_byte_order(\"NETWORK\")" + } + ], + "mandatory" : false, + "match_type" : "LPM", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 22009623, + "name" : "linux_networking_control.ipv4_set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 16874810, + "name" : "linux_networking_control.ecmp_hash_action", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ecmp_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ecmp_hash_table", + "id" : 49661222, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "flex", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hash", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 29883644, + "name" : "linux_networking_control.set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv6_table", + "id" : 46496254, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "ipv6_table_lpm_root", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv6_dst_match", + "repeated" : false, + "annotations" : [ + { + "name" : "@intel_byte_order(\"NETWORK\")" + } + ], + "mandatory" : false, + "match_type" : "LPM", + "type" : { + "type" : "bytes", + "width" : 128 + } + } + ], + "action_specs" : [ + { + "id" : 21321477, + "name" : "linux_networking_control.ipv6_set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 27000185, + "name" : "linux_networking_control.ecmp_v6_hash_action", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ecmp_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_source_port", + "id" : 40351839, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_ipv4_tunnel_source_port", + "id" : 49097500, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_ipv6_tunnel_source_port", + "id" : 40981078, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv6_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.source_port_to_bridge_map", + "id" : 33606489, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.source_port", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 12 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 31939992, + "name" : "linux_networking_control.set_bridge_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "bridge_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_smac_table", + "id" : 46342225, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.mac[vmeta.common.depth].sa", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + }, + { + "id" : 2, + "name" : "user_meta.pmeta.bridge_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21283156, + "name" : "linux_networking_control.fwd_to_cp", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.tx_acc_vsi", + "id" : 42508227, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 31624713, + "name" : "linux_networking_control.l2_fwd_and_bypass_bridge", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.tx_source_port", + "id" : 39041593, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_to_tunnel_v4", + "id" : 43337754, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.mac[vmeta.common.depth].da", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 23805991, + "name" : "linux_networking_control.set_tunnel_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_to_tunnel_v6", + "id" : 36796227, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.mac[vmeta.common.depth].da", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 23953453, + "name" : "linux_networking_control.set_tunnel_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ipv6_1", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv6_2", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "ipv6_3", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 4, + "name" : "ipv6_4", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_phy_port_to_pr_map", + "id" : 38721082, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.source_port_to_pr_map", + "id" : 35934350, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.source_port", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vsi_to_vsi_loopback", + "id" : 45509113, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "target_vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4_tcp", + "id" : 44641644, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4_udp", + "id" : 46678878, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4", + "id" : 45972289, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_l2", + "id" : 33896331, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_tcp", + "id" : 46852435, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_udp", + "id" : 46359163, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6", + "id" : 34506208, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_tunnel_table", + "id" : 49349790, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.saidx", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 13 + } + } + ], + "action_specs" : [ + { + "id" : 26423957, + "name" : "linux_networking_control.set_ipsec_tunnel", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_spd", + "id" : 47756035, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.ipv4[vmeta.common.depth].dst_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "hdrs.ipv4[vmeta.common.depth].protocol", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 20682322, + "name" : "linux_networking_control.ipsec_protect_set_metadata", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "saidx", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 19192368, + "name" : "linux_networking_control.ipsec_bypass", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_tx_sa_classification_table", + "id" : 45022218, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.ipv4[vmeta.common.depth].dst_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "hdrs.ipv4[vmeta.common.depth].protocol", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 3, + "name" : "user_meta.cmeta.is_tunnel", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 1 + } + } + ], + "action_specs" : [ + { + "id" : 24935652, + "name" : "linux_networking_control.tx_ipsec_transport", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 17885953, + "name" : "linux_networking_control.tx_ipsec_transport_with_underlay", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30154712, + "name" : "linux_networking_control.tx_ipsec_tunnel", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29527637, + "name" : "linux_networking_control.tx_ipsec_tunnel_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "dst_addr_1", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr_2", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "dst_addr_3", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_tunnel_encap_mod_table", + "id" : 37326952, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 30081157, + "name" : "linux_networking_control.ipsec_tunnel_encap_mod", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ipsec_src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipsec_dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "proto", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_ipsec_tunnel_term_table", + "id" : 43475471, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv4_dst", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 25138331, + "name" : "linux_networking_control.decap_ipsec_tunnel_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [] + }, + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vm_src_ip4_mac_map_table", + "id" : 37403444, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 28718673, + "name" : "linux_networking_control.vm_src_ip4_mac_map_action", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "smac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "smac_mid", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 3, + "name" : "smac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vm_dst_ip4_mac_map_table", + "id" : 50085764, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_dst", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 25018769, + "name" : "linux_networking_control.vm_dst_ip4_mac_map_action", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "dmac_mid", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 3, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_lpm_root_lut", + "id" : 41667918, + "table_type" : "MatchValueLookupTable", + "size" : 1, + "annotations" : [ + { + "name" : "@intel_lut_type(\"lpm_table\")" + } + ], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "data" : [ + { + "id" : 1, + "name" : "ipv4_table_lpm_root", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + }, + "mandatory" : false, + "read_only" : false + } + ] + }, + { + "name" : "main.linux_networking_control.ipv6_lpm_root_lut", + "id" : 43524029, + "table_type" : "MatchValueLookupTable", + "size" : 1, + "annotations" : [ + { + "name" : "@intel_lut_type(\"lpm_table\")" + } + ], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "data" : [ + { + "id" : 1, + "name" : "ipv6_table_lpm_root", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + }, + "mandatory" : false, + "read_only" : false + } + ] + } + ], + "learn_filters" : [] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/README.md b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/README.md new file mode 100644 index 000000000..f9be96c31 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/README.md @@ -0,0 +1,74 @@ +## Bash scripts to program the FXP + +This folder consists of the following bash scripts to program the FXP: + +- [p4-gen-no-nf.sh](p4-gen-no-nf.sh) - Generates the P4 rules to enable point to point communication between VFs created on the host. + +- [p4-gen-no-nf-del.sh](p4-gen-no-nf-del.sh) - Performs the reverse of [p4-gen-no-nf.sh](p4-gen-no-nf.sh) by generating the delete rules to configure the FXP. + +- [p4-gen-with-nf.sh](p4-gen-with-nf.sh) - Generates the P4 rules to configure the FXP with communication through an NF. This script requires two parameters as input: `APF1_VSI` and `APF2_VSI` (e.g., `APF1_VSI="e"` and `APF2_VSI="f"`). These two parameters are the `vsi` of the APFs attached to the NF container. + +- [p4-gen-with-nf-del.sh](p4-gen-with-nf-del.sh) - Performs the reverse of [p4-gen-with-nf.sh](p4-gen-with-nf.sh) by generating the delete rules to configure the FXP. The input parameters (i.e., `APF1_VSI` and `APF2_VSI`) are still required to correctly generate the delete rules. + +- [p4-gen-arp-rules.sh](p4-gen-arp-rules.sh) - Generates the P4 rules to configure dynamic ARP between VFs created on the host. This script requires one input parameter: `APF_VSI` which is the `vsi` of the portmux deployed on the ACC to enable communication between VLAN representors. See [Create VLAN representors](#create-vlan-representors) on how to create these on the ACC. + +- [p4-gen-arp-rules-del.sh](p4-gen-arp-rules-del.sh) - Performs the reverse of [p4-gen-arp-rules.sh](p4-gen-arp-rules.sh) by generating the delete rules to configure the FXP. The input parameter (i.e., `APF_VSI`) is still required to correctly generate the delete rules. + +While each script generates a different type of rules, the common flow of each script is as follow: + +1. Create an SSH connection to the IMC to retrieve the VFs currently initialised on the host. +2. Generate the P4 rules as add or delete entry for each VF retrieved at point 1. + +### Create VLAN representors + +The script below shows an example of how to manually generate VLAN representors for 8 VFs created on the host. + +```bash +ip link add name br0 type bridge +ip link set dev br0 up +ip link add link enp0s1f0d3 name d3.300 type vlan id 300 protocol 802.1ad + +ip link set dev d3.300 up +ip link set dev d3.300 master br0 + +ip link add link d3.300 name d3.300.301 type vlan id 301 +ip link set dev d3.300.301 up +ip link set dev d3.300.301 master br0 + +ip link add link d3.300 name d3.300.302 type vlan id 302 +ip link set dev d3.300.302 up +ip link set dev d3.300.302 master br0 + +ip link add link d3.300 name d3.300.303 type vlan id 303 +ip link set dev d3.300.303 up +ip link set dev d3.300.303 master br0 + +ip link add link d3.300 name d3.300.304 type vlan id 304 +ip link set dev d3.300.304 up +ip link set dev d3.300.304 master br0 + +ip link add link d3.300 name d3.300.305 type vlan id 305 +ip link set dev d3.300.305 up +ip link set dev d3.300.305 master br0 + +ip link add link d3.300 name d3.300.306 type vlan id 306 +ip link set dev d3.300.306 up +ip link set dev d3.300.306 master br0 + +ip link add link d3.300 name d3.300.307 type vlan id 307 +ip link set dev d3.300.307 up +ip link set dev d3.300.307 master br0 + +ip link add link d3.300 name d3.300.308 type vlan id 308 +ip link set dev d3.300.308 up +ip link set dev d3.300.308 master br0 +``` + +In the example above `enp0s1f0d3` is the portmux allocated for enabling dynamic arp. + +```bash +[root@ipu-acc ]# ip -br l +... +enp0s1f0d3 UP 00:0e:00:03:04:19 +... +``` \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/linux_brige_setup b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/linux_brige_setup new file mode 100644 index 000000000..79d101309 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/linux_brige_setup @@ -0,0 +1,48 @@ +#Rules to create Linux bridge and outer/inner vlan tags should be run on ACC. +#This enables Linux bridge(running on ACC) to resolve ARP + +ip link add name br0 type bridge +ip link set dev br0 up +#Here we are using one of the available APF(network interface listed in ip -br l) in ACC->enp0s1f0d3 +ip link add link enp0s1f0d3 name d3.300 type vlan id 300 protocol 802.1ad + +#Note: 300 is the outer vlan used by the P4 script used in demo->p4-gen-arp-rules.sh +#In 1.6.2, learning needs to be turned off for the outer vlan as the ARP responses will +#otherwise get learnt on the outer vlan. This is a difference in behavior from 1.2. + +#And the P4 script assigns inner vlan numbers 301 to 308 that correspond to the 8 VFs(on the host). +ip link set dev d3.300 up +ip link set dev d3.300 master br0 +bridge link set dev d3.300 learning off + +ip link add link d3.300 name d3.300.301 type vlan id 301 +ip link set dev d3.300.301 up +ip link set dev d3.300.301 master br0 + +ip link add link d3.300 name d3.300.302 type vlan id 302 +ip link set dev d3.300.302 up +ip link set dev d3.300.302 master br0 + +ip link add link d3.300 name d3.300.303 type vlan id 303 +ip link set dev d3.300.303 up +ip link set dev d3.300.303 master br0 + +ip link add link d3.300 name d3.300.304 type vlan id 304 +ip link set dev d3.300.304 up +ip link set dev d3.300.304 master br0 + +ip link add link d3.300 name d3.300.305 type vlan id 305 +ip link set dev d3.300.305 up +ip link set dev d3.300.305 master br0 + +ip link add link d3.300 name d3.300.306 type vlan id 306 +ip link set dev d3.300.306 up +ip link set dev d3.300.306 master br0 + +ip link add link d3.300 name d3.300.307 type vlan id 307 +ip link set dev d3.300.307 up +ip link set dev d3.300.307 master br0 + +ip link add link d3.300 name d3.300.308 type vlan id 308 +ip link set dev d3.300.308 up +ip link set dev d3.300.308 master br0 diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-arp-rules-del.sh b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-arp-rules-del.sh new file mode 100755 index 000000000..17e03f60a --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-arp-rules-del.sh @@ -0,0 +1,50 @@ +#!/bin/bash +#Copyright (C) 2023 Intel Corporation +#SPDX-License-Identifier: Apache-2.0 + +# Generate the arp rules rules + +# APF used as portmux +APF_VSI="e" + +# Array of VFs addresses on the host +vf_mac_addresses=( +# "00:15:00:00:04:15" +# "00:16:00:00:04:15" +# "00:13:00:00:04:15" +# "00:14:00:00:04:15" +# "00:17:00:00:04:15" +# "00:18:00:00:04:15" +# "00:19:00:00:04:15" +# "00:1a:00:00:04:15" +) + +# Retrieve VF mac addresses from the IMC +IFS=$'\n' read -r -d '' -a vf_mac_addresses < <(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.0.1 "/usr/bin/cli_client -cq" \ + | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}') + +mod_ptr=1 +ctag=300 + +# Iterate over the array of MAC addresses +for vf_mac in "${vf_mac_addresses[@]}"; do + + vsi=$(echo "$vf_mac" | awk -F: '{print $2}') + mod_ptr=$((mod_ptr + 1)) + ctag=$((ctag + 1)) + dmac=$(echo "$vf_mac" | tr -d ':') + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.vport_arp_egress_table \"vsi=0x$vsi,bit32_zeros=0x0000\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.vlan_push_ctag_stag_mod_table \"meta.common.mod_blob_ptr=$mod_ptr\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.portmux_egress_req_table \"vsi=0x$APF_VSI,vid=$ctag\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.ingress_loopback_table \"vsi=0x$APF_VSI,target_vsi=0x$vsi\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.portmux_egress_resp_dmac_vsi_table \"vsi=0x$APF_VSI,dmac=0x$dmac\"" +done + +echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.portmux_ingress_loopback_table \"bit32_zeros=0x0000\"" + +echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.vlan_pop_ctag_stag_mod_table \"meta.common.mod_blob_ptr=1\"" \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-arp-rules.sh b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-arp-rules.sh new file mode 100755 index 000000000..961d7d627 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-arp-rules.sh @@ -0,0 +1,60 @@ +#!/bin/bash +#Copyright (C) 2023 Intel Corporation +#SPDX-License-Identifier: Apache-2.0 + +# Generate the arp rules rules + +# APF used as portmux +APF_VSI="e" + +# Array of VFs addresses on the host +vf_mac_addresses=( +# "00:15:00:00:04:15" +# "00:16:00:00:04:15" +# "00:13:00:00:04:15" +# "00:14:00:00:04:15" +# "00:17:00:00:04:15" +# "00:18:00:00:04:15" +# "00:19:00:00:04:15" +# "00:1a:00:00:04:15" +) + +# Retrieve VF mac addresses from the IMC +IFS=$'\n' read -r -d '' -a vf_mac_addresses < <(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.0.1 "/usr/bin/cli_client -cq" \ + | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}') + +mod_ptr=1 +apf_port=$((16#$APF_VSI + 16)) +stag=300 +ctag=300 + +# Iterate over the array of MAC addresses +for vf_mac in "${vf_mac_addresses[@]}"; do + + vsi=$(echo "$vf_mac" | awk -F: '{print $2}') + mod_ptr=$((mod_ptr + 1)) + ctag=$((ctag + 1)) + vf_port=$((16#$vsi + 16)) + dmac=$(echo "$vf_mac" | tr -d ':') + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.vport_arp_egress_table \"vsi=0x$vsi,bit32_zeros=0x0000,action=rh_mvp_control.send_to_port_mux($mod_ptr,$apf_port)\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.vlan_push_ctag_stag_mod_table \"meta.common.mod_blob_ptr=$mod_ptr,action=rh_mvp_control.mod_vlan_push_ctag_stag(1,1,$ctag,1,1,$stag)\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.portmux_egress_req_table \"vsi=0x$APF_VSI,vid=$ctag,action=rh_mvp_control.vlan_pop_ctag_stag(1,$vf_port)\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.ingress_loopback_table \"vsi=0x$APF_VSI,target_vsi=0x$vsi,action=rh_mvp_control.fwd_to_port($vf_port)\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.portmux_egress_resp_dmac_vsi_table \"vsi=0x$APF_VSI,dmac=0x$dmac,action=rh_mvp_control.vlan_pop_ctag_stag(1,$vf_port)\"" +done + +echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.portmux_ingress_loopback_table \"bit32_zeros=0x0000,action=rh_mvp_control.fwd_to_port($apf_port)\"" + +echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.vlan_pop_ctag_stag_mod_table \"meta.common.mod_blob_ptr=1,action=rh_mvp_control.mod_vlan_pop_ctag_stag\"" \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-no-nf-del.sh b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-no-nf-del.sh new file mode 100755 index 000000000..60d17af60 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-no-nf-del.sh @@ -0,0 +1,43 @@ +#!/bin/bash +#Copyright (C) 2023 Intel Corporation +#SPDX-License-Identifier: Apache-2.0 + +# Delete the point-to-point rules + +# Array of VFs addresses on the host +vf_mac_addresses=( +#"00:15:00:00:03:14" +#"00:16:00:00:03:14" +#"00:13:00:00:03:14" +#"00:14:00:00:03:14" +#"00:17:00:00:03:14" +#"00:18:00:00:03:14" +#"00:19:00:00:03:14" +#"00:1a:00:00:03:14" +) + +# Retrieve VF mac addresses from the IMC +IFS=$'\n' read -r -d '' -a vf_mac_addresses < <(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.0.1 "/usr/bin/cli_client -cq" \ + | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}') + + +# Iterate over the array of MAC addresses +for src_mac in "${vf_mac_addresses[@]}"; do + + vsi=$(echo "$src_mac" | awk -F: '{print $2}') + + for dst_mac in "${vf_mac_addresses[@]}"; do + + smac=$(echo "$src_mac" | tr -d ':') + dmac=$(echo "$dst_mac" | tr -d ':') + + if [ "$smac" != "$dmac" ]; then + + target_vsi=$(echo "$dst_mac" | awk -F: '{print $2}') + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.ingress_loopback_table \"vsi=0x$vsi,target_vsi=0x$target_vsi\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.vport_egress_dmac_vsi_table \"vsi=0x$vsi,dmac=0x$dmac\"" + fi + done +done \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-no-nf.sh b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-no-nf.sh new file mode 100755 index 000000000..58f02e178 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-no-nf.sh @@ -0,0 +1,46 @@ +#!/bin/bash +#Copyright (C) 2023 Intel Corporation +#SPDX-License-Identifier: Apache-2.0 + +# Generate the point-to-point rules + +# Array of VFs addresses on the host +vf_mac_addresses=( +#"00:15:00:00:03:14" +#"00:16:00:00:03:14" +#"00:13:00:00:03:14" +#"00:14:00:00:03:14" +#"00:17:00:00:03:14" +#"00:18:00:00:03:14" +#"00:19:00:00:03:14" +#"00:1a:00:00:03:14" +) + +# Retrieve VF mac addresses from the IMC +IFS=$'\n' read -r -d '' -a vf_mac_addresses < <(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.0.1 "/usr/bin/cli_client -cq" \ + | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}') + +# Iterate over the array of MAC addresses +for src_mac in "${vf_mac_addresses[@]}"; do + + vsi=$(echo "$src_mac" | awk -F: '{print $2}') + + for dst_mac in "${vf_mac_addresses[@]}"; do + + smac=$(echo "$src_mac" | tr -d ':') + dmac=$(echo "$dst_mac" | tr -d ':') + + if [ "$smac" != "$dmac" ]; then + + target_vsi=$(echo "$dst_mac" | awk -F: '{print $2}') + + vf2_port=$((16#$target_vsi + 16)) + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.ingress_loopback_table \"vsi=0x$vsi,target_vsi=0x$target_vsi,action=rh_mvp_control.fwd_to_port($vf2_port)\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.vport_egress_dmac_vsi_table \"vsi=0x$vsi,dmac=0x$dmac,action=rh_mvp_control.fwd_to_port($vf2_port)\"" + fi + done +done \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-with-nf-del.sh b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-with-nf-del.sh new file mode 100755 index 000000000..71084803c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-with-nf-del.sh @@ -0,0 +1,55 @@ +#!/bin/bash +#Copyright (C) 2023 Intel Corporation +#SPDX-License-Identifier: Apache-2.0 + +# Delete the point-to-point rules + +# APFs attached to the NF's container +# EDIT THE PARAMETERS BELOW +APF1_VSI="e" +APF2_VSI="f" + +# Array of VFs addresses on the host +vf_mac_addresses=( +#"00:15:00:00:03:14" +#"00:16:00:00:03:14" +#"00:13:00:00:03:14" +#"00:14:00:00:03:14" +#"00:17:00:00:03:14" +#"00:18:00:00:03:14" +#"00:19:00:00:03:14" +#"00:1a:00:00:03:14" +) + +# Retrieve VF mac addresses from the IMC +IFS=$'\n' read -r -d '' -a vf_mac_addresses < <(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.0.1 "/usr/bin/cli_client -cq" \ + | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}') + +# Iterate over the array of MAC addresses +for src_mac in "${vf_mac_addresses[@]}"; do + + vsi=$(echo "$src_mac" | awk -F: '{print $2}') + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.vport_egress_vsi_table \"vsi=0x$vsi\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.ingress_loopback_table \"vsi=0x$vsi,target_vsi=0x$APF1_VSI\"" + + for dst_mac in "${vf_mac_addresses[@]}"; do + + smac=$(echo "$src_mac" | tr -d ':') + dmac=$(echo "$dst_mac" | tr -d ':') + + if [ "$smac" != "$dmac" ]; then + + target_vsi=$(echo "$dst_mac" | awk -F: '{print $2}') + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.ingress_loopback_table \"vsi=0x$APF1_VSI,target_vsi=0x$target_vsi\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.vport_egress_dmac_vsi_table \"vsi=0x$APF1_VSI,dmac=0x$dmac\"" + fi + done +done + +echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.vport_egress_vsi_table \"vsi=0x$APF2_VSI,bit32_zeros=0x0000\"" + +echo "\$P4CP_INSTALL/bin/p4rt-ctl del-entry br0 rh_mvp_control.ingress_loopback_table \"vsi=0x$APF2_VSI,target_vsi=0x$APF2_VSI\"" \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-with-nf.sh b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-with-nf.sh new file mode 100755 index 000000000..32dde3823 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/fxp/p4-gen-with-nf.sh @@ -0,0 +1,67 @@ +#!/bin/bash +#Copyright (C) 2023 Intel Corporation +#SPDX-License-Identifier: Apache-2.0 + +# Generate the point-to-point rules + +# APFs attached to the NF's container +# EDIT THE PARAMETERS BELOW +APF1_VSI="e" +APF2_VSI="f" + +# Array of VFs addresses on the host +vf_mac_addresses=( +#"00:15:00:00:03:14" +#"00:16:00:00:03:14" +#"00:13:00:00:03:14" +#"00:14:00:00:03:14" +#"00:17:00:00:03:14" +#"00:18:00:00:03:14" +#"00:19:00:00:03:14" +#"00:1a:00:00:03:14" +) + +# Retrieve VF mac addresses from the IMC +IFS=$'\n' read -r -d '' -a vf_mac_addresses < <(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.0.1 "/usr/bin/cli_client -cq" \ + | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}') + +# Iterate over the array of MAC addresses +for src_mac in "${vf_mac_addresses[@]}"; do + + vsi=$(echo "$src_mac" | awk -F: '{print $2}') + + apf1_port=$((16#$APF1_VSI + 16)) + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.vport_egress_vsi_table \"vsi=0x$vsi,action=rh_mvp_control.fwd_to_port($apf1_port)\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.ingress_loopback_table \"vsi=0x$vsi,target_vsi=0x$APF1_VSI,action=rh_mvp_control.fwd_to_port($apf1_port)\"" + + for dst_mac in "${vf_mac_addresses[@]}"; do + + smac=$(echo "$src_mac" | tr -d ':') + dmac=$(echo "$dst_mac" | tr -d ':') + + if [ "$smac" != "$dmac" ]; then + + target_vsi=$(echo "$dst_mac" | awk -F: '{print $2}') + + vf2_port=$((16#$target_vsi + 16)) + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.ingress_loopback_table \"vsi=0x$APF1_VSI,target_vsi=0x$target_vsi,action=rh_mvp_control.fwd_to_port($vf2_port)\"" + + echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.vport_egress_dmac_vsi_table \"vsi=0x$APF1_VSI,dmac=0x$dmac,action=rh_mvp_control.fwd_to_port($vf2_port)\"" + fi + done +done + +apf2_port=$((16#$APF2_VSI + 16)) + +echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.vport_egress_vsi_table \"vsi=0x$APF2_VSI,bit32_zeros=0x0000,action=rh_mvp_control.fwd_to_port($apf2_port)\"" + +echo "\$P4CP_INSTALL/bin/p4rt-ctl add-entry br0 \ +rh_mvp_control.ingress_loopback_table \"vsi=0x$APF2_VSI,target_vsi=0x$APF2_VSI,action=rh_mvp_control.fwd_to_port($apf2_port)\"" \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/nad.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/nad.yaml new file mode 100644 index 000000000..0a0fb17ff --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/nad.yaml @@ -0,0 +1,12 @@ +apiVersion: "k8s.cni.cncf.io/v1" +kind: NetworkAttachmentDefinition +metadata: + name: nfnet + annotations: + k8s.v1.cni.cncf.io/resourceName: intel.com/ipu +spec: + config: '{ + "type": "nf-cni", + "cniVersion": "0.3.1", + "name": "apf-network" +}' diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/p4sdk-ds.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/p4sdk-ds.yaml new file mode 100644 index 000000000..51c1ce2d0 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/p4sdk-ds.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: p4sdk-daemonset +spec: + selector: + matchLabels: + name: p4sdk + template: + metadata: + labels: + name: p4sdk + spec: + hostNetwork: true + automountServiceAccountToken: false + containers: + - name: p4sdk + image: localhost:5000/intel-ipu-p4-sdk:latest + imagePullPolicy: Always + securityContext: + privileged: true + command: [ "/entrypoint.sh" ] + resources: + limits: + hugepages-2Mi: 1Gi + cpu: "2" + volumeMounts: + - name: host-libmodules + mountPath: /lib/modules + mountPropagation: HostToContainer + - mountPath: /dev/hugepages + name: hugepage + volumes: + - name: host-libmodules + hostPath: + path: /lib/modules + type: Directory + - name: hugepage + emptyDir: + medium: HugePages-2Mi + + diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-nf.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-nf.yaml new file mode 100644 index 000000000..2787d081e --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-nf.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Pod +metadata: + name: nfpod + annotations: + k8s.v1.cni.cncf.io/networks: nfnet, nfnet +spec: + hostNetwork: true + containers: + - name: nf + image: intel-networkfunction:latest + imagePullPolicy: IfNotPresent + securityContext: + privileged: true + command: [ "/app/nf"] + resources: + requests: + intel.com/ipu: '2' + limits: + intel.com/ipu: '2' diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-tc1.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-tc1.yaml new file mode 100644 index 000000000..b956008b9 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-tc1.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Pod +metadata: + name: testpod1 + annotations: + k8s.v1.cni.cncf.io/networks: sriov-net1 +spec: + containers: + - name: appcntr1 + image: praqma/network-multitool:alpine-extra + imagePullPolicy: IfNotPresent + command: [ "/bin/bash", "-c", "--" ] + args: [ "while true; do sleep 300000; done;" ] + resources: + requests: + intel.com/intel_sriov_netdevice: '1' + limits: + intel.com/intel_sriov_netdevice: '1' diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-tc2.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-tc2.yaml new file mode 100644 index 000000000..11f3a0f17 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/pod-tc2.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Pod +metadata: + name: testpod2 + annotations: + k8s.v1.cni.cncf.io/networks: sriov-net1 +spec: + containers: + - name: appcntr2 + image: praqma/network-multitool:alpine-extra + imagePullPolicy: IfNotPresent + command: [ "/bin/bash", "-c", "--" ] + args: [ "while true; do sleep 300000; done;" ] + resources: + requests: + intel.com/intel_sriov_netdevice: '1' + limits: + intel.com/intel_sriov_netdevice: '1' diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/sriov-crd.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/sriov-crd.yaml new file mode 100644 index 000000000..9f63dfcfd --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/sriov-crd.yaml @@ -0,0 +1,16 @@ +apiVersion: "k8s.cni.cncf.io/v1" +kind: NetworkAttachmentDefinition +metadata: + name: sriov-net1 + annotations: + k8s.v1.cni.cncf.io/resourceName: intel.com/intel_sriov_netdevice +spec: + config: '{ + "type": "sriov", + "cniVersion": "0.3.1", + "name": "sriov-network", + "ipam": { + "type": "host-local", + "subnet": "10.56.217.0/24" + } +}' diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/sriov-dp-configMap.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/sriov-dp-configMap.yaml new file mode 100644 index 000000000..a27cf18d1 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/sriov-dp-configMap.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: sriovdp-config + namespace: kube-system +data: + config.json: | + { + "resourceList": [{ + "resourceName": "intel_sriov_netdevice", + "selectors": { + "vendors": ["8086"], + "devices": ["145c"], + "drivers": ["idpf"] + } + } + ] + } diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/vsp-ds.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/vsp-ds.yaml new file mode 100644 index 000000000..80fa4687e --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/vsp-ds.yaml @@ -0,0 +1,55 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: vsp-daemonset +spec: + selector: + matchLabels: + name: vsp + template: + metadata: + labels: + name: vsp + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: DoesNotExist + - key: node-role.kubernetes.io/master + operator: DoesNotExist + hostNetwork: true + automountServiceAccountToken: false + terminationGracePeriodSeconds: 180 + containers: + - name: appcntr1 + image: silpixa00400458:5000/intel-ipuplugin:latest + imagePullPolicy: Always + securityContext: + privileged: true + command: [ "/usr/bin/ipuplugin" ] + args: [ "-v=debug"] + volumeMounts: + - mountPath: /var/run/ + name: vendor-plugin-sock + - mountPath: /opt/p4/p4-cp-nws/var + mountPropagation: Bidirectional + name: host-opt + - mountPath: /proc + mountPropagation: Bidirectional + name: host-proc + volumes: + - hostPath: + path: /proc + type: "" + name: host-proc + - hostPath: + path: /opt/p4/p4-cp-nws/var + type: "" + name: host-opt + - hostPath: + path: /var/run/ + type: "" + name: vendor-plugin-sock diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/vsp.yaml b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/vsp.yaml new file mode 100644 index 000000000..506e69b34 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/k8s/vsp.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Pod +metadata: + name: vsp +spec: + hostNetwork: true + automountServiceAccountToken: false + containers: + - name: appcntr1 + image: :5000/intel-ipuplugin:latest + imagePullPolicy: Always + securityContext: + privileged: true + command: [ "/usr/bin/ipuplugin" ] + args: [ "--bridgeType=linux", "--interface=enp0s1f0d3", "--ovsCliDir=/opt/p4/p4-cp-nws", "-v=debug", "--mode=host" ] + volumeMounts: + - name: vendor-plugin-sock + mountPath: /var/run + volumes: + - name: vendor-plugin-sock + hostPath: + path: /var/run diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/cpt_ver.s b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/cpt_ver.s new file mode 100644 index 000000000..7f3c2c5e0 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/cpt_ver.s @@ -0,0 +1,7 @@ +note "Intel(R) Configurable Pipeline Tool Version 3.8.0.59"; +note "Compatible with A0 and later HW"; +version 0.0.0.255; +name "P4 program FXP Pkg"; +segment IDPF_FXP { domain 0 { version 0.0.0.255; } } +segment IDPF_FXP { domain 0 { external_version 0 0.0.0.255; } } +segment IDPF_CXP { version 0.0.0.255; } diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.bf-rt.json b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.bf-rt.json new file mode 100644 index 000000000..7d34510c1 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.bf-rt.json @@ -0,0 +1,2901 @@ +{ + "schema_version" : "1.0.0", + "tables" : [ + { + "name" : "main.linux_networking_control.vxlan_decap_mod_table", + "id" : 40980035, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 28308555, + "name" : "linux_networking_control.vxlan_decap_outer_hdr", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_start", + "id" : 42605135, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id0", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 23093409, + "name" : "linux_networking_control.set_src_mac_start", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_mid", + "id" : 43970557, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id1", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 30315892, + "name" : "linux_networking_control.set_src_mac_mid", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_last", + "id" : 47499906, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id2", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 32740970, + "name" : "linux_networking_control.set_src_mac_last", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.sem_bypass", + "id" : 47631146, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 17726852, + "name" : "linux_networking_control.set_dest", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.always_recirculate_table1", + "id" : 42774112, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [], + "action_specs" : [ + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.always_recirculate_table2", + "id" : 48644884, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [], + "action_specs" : [ + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vlan_push_mod_table", + "id" : 40312237, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 24137163, + "name" : "linux_networking_control.vlan_push", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vlan_pop_mod_table", + "id" : 38884256, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 25667542, + "name" : "linux_networking_control.vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_mod_table", + "id" : 40763773, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 20733968, + "name" : "linux_networking_control.vxlan_encap", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_v6_mod_table", + "id" : 46225003, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 30345128, + "name" : "linux_networking_control.vxlan_encap_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.neighbor_mod_table", + "id" : 36439154, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 31671750, + "name" : "linux_networking_control.set_outer_mac", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "dst_mac_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_tunnel_term_table", + "id" : 47484925, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv4_dst", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "user_meta.pmeta.tun_flag1_d0", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + } + ], + "action_specs" : [ + { + "id" : 16905340, + "name" : "linux_networking_control.decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv6_tunnel_term_table", + "id" : 34601307, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv6_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "ipv6_dst", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "user_meta.pmeta.tun_flag1_d0", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + } + ], + "action_specs" : [ + { + "id" : 16905340, + "name" : "linux_networking_control.decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_rx_with_tunnel_table", + "id" : 46049425, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_rx_ipv6_with_tunnel_table", + "id" : 48713331, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_rx_table", + "id" : 44842501, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_tx_table", + "id" : 40240205, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 2, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + }, + { + "id" : 3, + "name" : "user_meta.pmeta.tun_flag1_d0", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25831912, + "name" : "linux_networking_control.set_tunnel_underlay_v4_overlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 27674194, + "name" : "linux_networking_control.set_tunnel_underlay_v6_overlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_tx_ipv6_table", + "id" : 48022928, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 2, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + }, + { + "id" : 3, + "name" : "user_meta.pmeta.tun_flag1_d0", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 23441357, + "name" : "linux_networking_control.set_tunnel_underlay_v6_overlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 2, + "name" : "ipv6_1", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "ipv6_2", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 4, + "name" : "ipv6_3", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 5, + "name" : "ipv6_4", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 32666305, + "name" : "linux_networking_control.set_tunnel_underlay_v4_overlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 2, + "name" : "ipv6_1", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "ipv6_2", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 4, + "name" : "ipv6_3", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 5, + "name" : "ipv6_4", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.set_rx_exception_table", + "id" : 47616217, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [], + "action_specs" : [ + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.set_tx_exception_table", + "id" : 47847840, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [], + "action_specs" : [ + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.set_tunnel_exception_table", + "id" : 43924140, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.nexthop_table", + "id" : 37894008, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.nexthop_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 25 + } + } + ], + "action_specs" : [ + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 31297949, + "name" : "linux_networking_control.set_nexthop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "router_interface_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "neighbor_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 3, + "name" : "egress_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_table", + "id" : 37566509, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "ipv4_table_lpm_root", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv4_dst_match", + "repeated" : false, + "annotations" : [ + { + "name" : "@intel_byte_order(\"NETWORK\")" + } + ], + "mandatory" : false, + "match_type" : "LPM", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 22009623, + "name" : "linux_networking_control.ipv4_set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 20811078, + "name" : "linux_networking_control.ipv4_set_nexthop_id_with_mirror", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 16874810, + "name" : "linux_networking_control.ecmp_hash_action", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ecmp_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ecmp_hash_table", + "id" : 49661222, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.flex[15:0]", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "vmeta.common.hash[2:0]", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 3, + "name" : "user_meta.cmeta.bit32_zeros[15:3]", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 13 + } + } + ], + "action_specs" : [ + { + "id" : 29883644, + "name" : "linux_networking_control.set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv6_table", + "id" : 46496254, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "ipv6_table_lpm_root", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv6_dst_match", + "repeated" : false, + "annotations" : [ + { + "name" : "@intel_byte_order(\"NETWORK\")" + } + ], + "mandatory" : false, + "match_type" : "LPM", + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 21321477, + "name" : "linux_networking_control.ipv6_set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 27000185, + "name" : "linux_networking_control.ecmp_v6_hash_action", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ecmp_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.handle_rx_from_wire_to_ovs_table", + "id" : 42313718, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 17726852, + "name" : "linux_networking_control.set_dest", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.handle_rx_loopback_from_host_to_ovs_table", + "id" : 44511550, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 17726852, + "name" : "linux_networking_control.set_dest", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.handle_rx_loopback_from_ovs_to_host_table", + "id" : 35705360, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.misc_internal.vm_to_vm_or_port_to_port[27:17]", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 17726852, + "name" : "linux_networking_control.set_dest", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.handle_tx_from_ovs_to_host_table", + "id" : 40542664, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "hdrs.dot1q_tag[vmeta.common.depth].hdr.vid", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ], + "action_specs" : [ + { + "id" : 21494760, + "name" : "linux_networking_control.remove_vlan_and_send_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vlan_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 17726852, + "name" : "linux_networking_control.set_dest", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.handle_tx_from_host_to_ovs_and_ovs_to_wire_table", + "id" : 35127384, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 31658830, + "name" : "linux_networking_control.add_vlan_and_send_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vlan_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 17726852, + "name" : "linux_networking_control.set_dest", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25265883, + "name" : "linux_networking_control.set_exception", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4_tcp", + "id" : 44641644, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4_udp", + "id" : 46678878, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4", + "id" : 45972289, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_tcp", + "id" : 46852435, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_udp", + "id" : 46359163, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6", + "id" : 34506208, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.comms_channel_table", + "id" : 42757874, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.bit32_zeros[15:0]", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ecmp_lpm_root_lut", + "id" : 44034280, + "table_type" : "MatchValueLookupTable", + "size" : 1, + "annotations" : [ + { + "name" : "@intel_lut_type(\"lpm_table\")" + } + ], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "data" : [ + { + "id" : 1, + "name" : "ipv4_table_lpm_root", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + }, + "mandatory" : false, + "read_only" : false + } + ] + }, + { + "name" : "main.linux_networking_control.ipv6_lpm_root_lut", + "id" : 43524029, + "table_type" : "MatchValueLookupTable", + "size" : 1, + "annotations" : [ + { + "name" : "@intel_lut_type(\"lpm_table\")" + } + ], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "data" : [ + { + "id" : 1, + "name" : "ipv6_table_lpm_root", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + }, + "mandatory" : false, + "read_only" : false + } + ] + } + ], + "learn_filters" : [] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.context.json b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.context.json new file mode 100644 index 000000000..e06e33de3 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.context.json @@ -0,0 +1,6799 @@ +{ + "program_name": "linux_networking", + "build_date": "Tue Aug 29 10:55:48 2023", + "compile_command": "p4c-pna-xxp --no-pedantic --context /root/p4output/linux_networking/linux_networking.context.json --bfrt /root/p4output/linux_networking/linux_networking.bf-rt.json -I /root/networking.ipu.software.p4-compiler.p4c/build/p4include -I /usr/lib -I /root/networking.ipu.software.p4-compiler.p4c/extensions/idpf/idpf-lib -I /root/networking.ipu.software.p4-compiler.p4c/p4include --p4v=16 --p4runtime-files /root/p4output/linux_networking/linux_networking.p4info.txt -o /root/p4output/linux_networking/linux_networking.s/linux_networking_a91db2d28c8b4587937817357944190d.s /root/networking.ethernet.acceleration.vswitch.p4-sde.dataplane-p4/mev_reference_p4_programs/linux_networking/linux_networking.p4", + "compiler_version": "0.0.0.0", + "schema_version": "0.1.0.0", + "target": "MEV", + "global_configs": { + "hardware_blocks": [ + { + "name": "RC", + "rc_entry_space_cfg": { + "rc_num_banks": 8, + "rc_num_entries": 8192 + } + }, + { + "name": "LEM", + "hash_space_cfg": [ + { + "hash_space_id": 0, + "base_address": 0 + }, + { + "hash_space_id": 1, + "base_address": 0 + } + ] + }, + { + "name": "MOD", + "hash_space_cfg": { + "base_128_entries": 0, + "base_256_entries": 2097152 + } + } + ] + }, + "tables": [ + { + "table_type": "match", + "direction": "RX", + "handle": 47631146, + "name": "linux_networking_control.sem_bypass", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.set_dest", + "handle": 17726852, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 12 + ], + "sub_profile": 0, + "obj_id": 3, + "action_format": [ + { + "action_name": "linux_networking_control.set_dest", + "action_handle": 17726852, + "immediate_fields": [ + { + "param_name": "port_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 42774112, + "name": "linux_networking_control.always_recirculate_table1", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 33275382, + "actions": [ + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 7 + ], + "sub_profile": 2, + "obj_id": 3, + "action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 48644884, + "name": "linux_networking_control.always_recirculate_table2", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 33275382, + "actions": [ + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 14 + ], + "sub_profile": 2, + "obj_id": 2, + "action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 47484925, + "name": "linux_networking_control.ipv4_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv4_dst", + "instance_name": "ipv4_dst", + "field_name": "ipv4_dst", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "user_meta.pmeta.tun_flag1_d0", + "instance_name": "user_meta.pmeta.tun_flag1_d0", + "field_name": "user_meta.pmeta.tun_flag1_d0", + "match_type": "exact", + "bit_width": 2, + "index": 2, + "position": 8 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "HOST", + "byte_array_index": 8, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.decap_outer_hdr", + "handle": 16905340, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "sub_profile": 2, + "obj_id": 2, + "action_format": [ + { + "action_name": "linux_networking_control.decap_outer_hdr", + "action_handle": 16905340, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 2, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28308555, + "p4_ref_table_handle": 40980035 + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 34601307, + "name": "linux_networking_control.ipv6_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_src", + "instance_name": "ipv6_src", + "field_name": "ipv6_src", + "match_type": "exact", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "ipv6_dst", + "instance_name": "ipv6_dst", + "field_name": "ipv6_dst", + "match_type": "exact", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "user_meta.pmeta.tun_flag1_d0", + "instance_name": "user_meta.pmeta.tun_flag1_d0", + "field_name": "user_meta.pmeta.tun_flag1_d0", + "match_type": "exact", + "bit_width": 2, + "index": 2, + "position": 32 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "HOST", + "byte_array_index": 32, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.decap_outer_hdr", + "handle": 16905340, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 13 + ], + "sub_profile": 2, + "obj_id": 2, + "action_format": [ + { + "action_name": "linux_networking_control.decap_outer_hdr", + "action_handle": 16905340, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 2, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28308555, + "p4_ref_table_handle": 40980035 + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46049425, + "name": "linux_networking_control.l2_fwd_rx_with_tunnel_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "sub_profile": 0, + "obj_id": 3, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 48713331, + "name": "linux_networking_control.l2_fwd_rx_ipv6_with_tunnel_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 13 + ], + "sub_profile": 0, + "obj_id": 3, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 44842501, + "name": "linux_networking_control.l2_fwd_rx_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 3 + ], + "sub_profile": 0, + "obj_id": 1, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 40240205, + "name": "linux_networking_control.l2_fwd_tx_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.pmeta.tun_flag1_d0", + "instance_name": "user_meta.pmeta.tun_flag1_d0", + "field_name": "user_meta.pmeta.tun_flag1_d0", + "match_type": "exact", + "bit_width": 2, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_tunnel_underlay_v4_overlay_v4", + "handle": 25831912, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + }, + { + "name": "dst_addr", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_tunnel_underlay_v6_overlay_v4", + "handle": 27674194, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + }, + { + "name": "dst_addr", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 7 + ], + "sub_profile": 0, + "obj_id": 2, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_tunnel_underlay_v4_overlay_v4", + "action_handle": 25831912, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 1, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 20733968, + "p4_ref_table_handle": 40763773 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 4, + "mask": 7 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 22 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b_AUX", + "value": 8, + "mask": 8 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "linux_networking_control.set_tunnel_underlay_v6_overlay_v4", + "action_handle": 27674194, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 6, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 30345128, + "p4_ref_table_handle": 46225003 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 4, + "mask": 7 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 22 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b_AUX", + "value": 8, + "mask": 8 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 48022928, + "name": "linux_networking_control.l2_fwd_tx_ipv6_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.pmeta.tun_flag1_d0", + "instance_name": "user_meta.pmeta.tun_flag1_d0", + "field_name": "user_meta.pmeta.tun_flag1_d0", + "match_type": "exact", + "bit_width": 2, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_tunnel_underlay_v6_overlay_v6", + "handle": 23441357, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + }, + { + "name": "ipv6_1", + "bit_width": 32 + }, + { + "name": "ipv6_2", + "bit_width": 32 + }, + { + "name": "ipv6_3", + "bit_width": 32 + }, + { + "name": "ipv6_4", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_tunnel_underlay_v4_overlay_v6", + "handle": 32666305, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + }, + { + "name": "ipv6_1", + "bit_width": 32 + }, + { + "name": "ipv6_2", + "bit_width": 32 + }, + { + "name": "ipv6_3", + "bit_width": 32 + }, + { + "name": "ipv6_4", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 14 + ], + "sub_profile": 0, + "obj_id": 3, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_tunnel_underlay_v6_overlay_v6", + "action_handle": 23441357, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "ipv6_1", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_2", + "param_handle": 2, + "dest_start": 7, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_3", + "param_handle": 3, + "dest_start": 11, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_4", + "param_handle": 4, + "dest_start": 15, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 6, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 30345128, + "p4_ref_table_handle": 46225003 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_1", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_2", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_3", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_4", + "param_handle": 4, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 12 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b_AUX", + "value": 16, + "mask": 16 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 4, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "linux_networking_control.set_tunnel_underlay_v4_overlay_v6", + "action_handle": 32666305, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "ipv6_1", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_2", + "param_handle": 2, + "dest_start": 7, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_3", + "param_handle": 3, + "dest_start": 11, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_4", + "param_handle": 4, + "dest_start": 15, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 1, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 20733968, + "p4_ref_table_handle": 40763773 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_1", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_2", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_3", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_4", + "param_handle": 4, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 12 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b_AUX", + "value": 16, + "mask": 16 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 4, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 47616217, + "name": "linux_networking_control.set_rx_exception_table", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "sub_profile": 0, + "obj_id": 0, + "action_format": [ + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 47847840, + "name": "linux_networking_control.set_tx_exception_table", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 8 + ], + "sub_profile": 0, + "obj_id": 0, + "action_format": [ + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 49661222, + "name": "linux_networking_control.ecmp_hash_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.flex[15:0]", + "instance_name": "user_meta.cmeta.flex[15:0]", + "field_name": "user_meta.cmeta.flex[15:0]", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "vmeta.common.hash[2:0]", + "instance_name": "vmeta.common.hash[2:0]", + "field_name": "vmeta.common.hash[2:0]", + "match_type": "exact", + "bit_width": 3, + "index": 1, + "position": 2 + }, + { + "name": "user_meta.cmeta.bit32_zeros[15:3]", + "instance_name": "user_meta.cmeta.bit32_zeros[15:3]", + "field_name": "user_meta.cmeta.bit32_zeros[15:3]", + "match_type": "exact", + "bit_width": 13, + "index": 2, + "position": 3 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 2, + "byte_order": "HOST", + "byte_array_index": 4, + "start_bit_offset": 3, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_nexthop_id", + "handle": 29883644, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 9 + ], + "sub_profile": 0, + "obj_id": 1, + "action_format": [ + { + "action_name": "linux_networking_control.set_nexthop_id", + "action_handle": 29883644, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 10 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 64, + "mask": 64 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 42313718, + "name": "linux_networking_control.handle_rx_from_wire_to_ovs_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.port_id", + "instance_name": "vmeta.common.port_id", + "field_name": "vmeta.common.port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.bit32_zeros", + "instance_name": "user_meta.cmeta.bit32_zeros", + "field_name": "user_meta.cmeta.bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.set_dest", + "handle": 17726852, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 15 + ], + "sub_profile": 0, + "obj_id": 1, + "action_format": [ + { + "action_name": "linux_networking_control.set_dest", + "action_handle": 17726852, + "immediate_fields": [ + { + "param_name": "port_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 44511550, + "name": "linux_networking_control.handle_rx_loopback_from_host_to_ovs_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.bit32_zeros", + "instance_name": "user_meta.cmeta.bit32_zeros", + "field_name": "user_meta.cmeta.bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.set_dest", + "handle": 17726852, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "sub_profile": 0, + "obj_id": 2, + "action_format": [ + { + "action_name": "linux_networking_control.set_dest", + "action_handle": 17726852, + "immediate_fields": [ + { + "param_name": "port_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 35705360, + "name": "linux_networking_control.handle_rx_loopback_from_ovs_to_host_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.misc_internal.vm_to_vm_or_port_to_port[27:17]", + "instance_name": "vmeta.misc_internal.vm_to_vm_or_port_to_port[27:17]", + "field_name": "vmeta.misc_internal.vm_to_vm_or_port_to_port[27:17]", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.bit32_zeros", + "instance_name": "user_meta.cmeta.bit32_zeros", + "field_name": "user_meta.cmeta.bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 1, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.set_dest", + "handle": 17726852, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 11 + ], + "sub_profile": 0, + "obj_id": 1, + "action_format": [ + { + "action_name": "linux_networking_control.set_dest", + "action_handle": 17726852, + "immediate_fields": [ + { + "param_name": "port_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 40542664, + "name": "linux_networking_control.handle_tx_from_ovs_to_host_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.dot1q_tag[vmeta.common.depth].hdr.vid", + "instance_name": "hdrs.dot1q_tag[vmeta.common.depth].hdr.vid", + "field_name": "hdrs.dot1q_tag[vmeta.common.depth].hdr.vid", + "match_type": "exact", + "bit_width": 12, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.remove_vlan_and_send_to_port", + "handle": 21494760, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vlan_ptr", + "bit_width": 24 + }, + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_dest", + "handle": 17726852, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 5 + ], + "sub_profile": 0, + "obj_id": 2, + "action_format": [ + { + "action_name": "linux_networking_control.remove_vlan_and_send_to_port", + "action_handle": 21494760, + "immediate_fields": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "port_id", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 5, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25667542, + "p4_ref_table_handle": 38884256 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_dest", + "action_handle": 17726852, + "immediate_fields": [ + { + "param_name": "port_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 35127384, + "name": "linux_networking_control.handle_tx_from_host_to_ovs_and_ovs_to_wire_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.bit32_zeros", + "instance_name": "user_meta.cmeta.bit32_zeros", + "field_name": "user_meta.cmeta.bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.add_vlan_and_send_to_port", + "handle": 31658830, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vlan_ptr", + "bit_width": 24 + }, + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_dest", + "handle": 17726852, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 6 + ], + "sub_profile": 0, + "obj_id": 1, + "action_format": [ + { + "action_name": "linux_networking_control.add_vlan_and_send_to_port", + "action_handle": 31658830, + "immediate_fields": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "port_id", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 4, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 24137163, + "p4_ref_table_handle": 40312237 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_dest", + "action_handle": 17726852, + "immediate_fields": [ + { + "param_name": "port_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 42757874, + "name": "linux_networking_control.comms_channel_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.bit32_zeros[15:0]", + "instance_name": "user_meta.cmeta.bit32_zeros[15:0]", + "field_name": "user_meta.cmeta.bit32_zeros[15:0]", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "sub_profile": 0, + "obj_id": 0, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 43924140, + "name": "linux_networking_control.set_tunnel_exception_table", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "hash_size": 12, + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 37894008, + "name": "linux_networking_control.nexthop_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.nexthop_id", + "instance_name": "user_meta.cmeta.nexthop_id", + "field_name": "user_meta.cmeta.nexthop_id", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "bit32_zeros", + "instance_name": "bit32_zeros", + "field_name": "bit32_zeros", + "match_type": "exact", + "bit_width": 25, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 7, + "bit_width": 32 + } + ], + "default_action_handle": 25265883, + "actions": [ + { + "name": "linux_networking_control.set_exception", + "handle": 25265883, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_nexthop", + "handle": 31297949, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "router_interface_id", + "bit_width": 16 + }, + { + "name": "neighbor_id", + "bit_width": 20 + }, + { + "name": "egress_port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "hash_size": 2304, + "action_format": [ + { + "action_name": "linux_networking_control.set_exception", + "action_handle": 25265883, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1A_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "value": 0 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 0, + "value": 0, + "type_id": 0, + "offset": 21 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 2, + "encoding_port": "P2P", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.set_nexthop", + "action_handle": 31297949, + "immediate_fields": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "neighbor_id", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "egress_port", + "param_handle": 2, + "dest_start": 5, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "neighbor_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 31671750, + "p4_ref_table_handle": 36439154 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 3, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1A_24b", + "encoding_grp": 3, + "encoding_port": "VSI", + "index": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 3, + "encoding_port": "VSI", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "value": 0 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "encoding_grp": 3, + "encoding_port": "VSI", + "index": 0, + "value": 0, + "type_id": 0, + "offset": 21 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 3, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 3, + "encoding_port": "VSI", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 4, + "encoding_port": "P2P", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "mask": 7, + "type_id": 4, + "offset": 28 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 37566509, + "name": "linux_networking_control.ipv4_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_table_lpm_root", + "instance_name": "ipv4_table_lpm_root", + "field_name": "ipv4_table_lpm_root", + "match_type": "ternary", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv4_dst_match", + "instance_name": "ipv4_dst_match", + "field_name": "ipv4_dst_match", + "match_type": "lpm", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipv4_set_nexthop_id", + "handle": 22009623, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.ipv4_set_nexthop_id_with_mirror", + "handle": 20811078, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.ecmp_hash_action", + "handle": 16874810, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ecmp_group_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "max_prefix_len": 32, + "action_format": [ + { + "action_name": "linux_networking_control.ipv4_set_nexthop_id", + "action_handle": 22009623, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 10 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 64, + "mask": 64 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "linux_networking_control.ipv4_set_nexthop_id_with_mirror", + "action_handle": 20811078, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 10 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 64, + "mask": 64 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "linux_networking_control.ecmp_hash_action", + "action_handle": 16874810, + "immediate_fields": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 13 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 32, + "mask": 32 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 46496254, + "name": "linux_networking_control.ipv6_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_table_lpm_root", + "instance_name": "ipv6_table_lpm_root", + "field_name": "ipv6_table_lpm_root", + "match_type": "ternary", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv6_dst_match", + "instance_name": "ipv6_dst_match", + "field_name": "ipv6_dst_match", + "match_type": "lpm", + "bit_width": 128, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 128 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipv6_set_nexthop_id", + "handle": 21321477, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.ecmp_v6_hash_action", + "handle": 27000185, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ecmp_group_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "max_prefix_len": 128, + "action_format": [ + { + "action_name": "linux_networking_control.ipv6_set_nexthop_id", + "action_handle": 21321477, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 10 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 64, + "mask": 64 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "linux_networking_control.ecmp_v6_hash_action", + "action_handle": 27000185, + "immediate_fields": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 13 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b_AUX", + "value": 32, + "mask": 32 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 29 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 44641644, + "name": "linux_networking_control.hash_ipv4_tcp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46678878, + "name": "linux_networking_control.hash_ipv4_udp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 45972289, + "name": "linux_networking_control.hash_ipv4", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46852435, + "name": "linux_networking_control.hash_ipv6_tcp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 4 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46359163, + "name": "linux_networking_control.hash_ipv6_udp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 34506208, + "name": "linux_networking_control.hash_ipv6", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 6 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454144, + "name": "linux_networking_control.ecmp_hash_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[xxpmeta.depth].src_ip", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[xxpmeta.depth].dst_ip", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.ipv4[xxpmeta.depth].protocol", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "protocol", + "match_type": "selector", + "bit_width": 8, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.udp[xxpmeta.depth].sport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 9 + }, + { + "name": "hdrs.udp[xxpmeta.depth].dport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 4, + "position": 11 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 9, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 4, + "byte_order": "NETWORK", + "byte_array_index": 11, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 7 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454145, + "name": "linux_networking_control.ecmp_hash_v6_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[xxpmeta.depth].src_ip", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[xxpmeta.depth].dst_ip", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.ipv6[xxpmeta.depth].next_header", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "next_header", + "match_type": "selector", + "bit_width": 8, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.udp[xxpmeta.depth].sport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 33 + }, + { + "name": "hdrs.udp[xxpmeta.depth].dport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 4, + "position": 35 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 33, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 4, + "byte_order": "NETWORK", + "byte_array_index": 35, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 8 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40980035, + "name": "linux_networking_control.vxlan_decap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_decap_outer_hdr", + "handle": 28308555, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 2 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_decap_outer_hdr", + "action_handle": 28308555, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 2, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 42605135, + "name": "linux_networking_control.rif_mod_table_start", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id0", + "instance_name": "rif_mod_map_id0", + "field_name": "rif_mod_map_id0", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_start", + "handle": 23093409, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_start", + "action_handle": 23093409, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 0, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 43970557, + "name": "linux_networking_control.rif_mod_table_mid", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id1", + "instance_name": "rif_mod_map_id1", + "field_name": "rif_mod_map_id1", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_mid", + "handle": 30315892, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_mid", + "action_handle": 30315892, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 1, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 47499906, + "name": "linux_networking_control.rif_mod_table_last", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id2", + "instance_name": "rif_mod_map_id2", + "field_name": "rif_mod_map_id2", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_last", + "handle": 32740970, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_last", + "action_handle": 32740970, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 2, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40312237, + "name": "linux_networking_control.vlan_push_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vlan_push", + "handle": 24137163, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 4 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vlan_push", + "action_handle": 24137163, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 4, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 38884256, + "name": "linux_networking_control.vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vlan_pop", + "handle": 25667542, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vlan_pop", + "action_handle": 25667542, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 5, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40763773, + "name": "linux_networking_control.vxlan_encap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap", + "handle": 20733968, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 1 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap", + "action_handle": 20733968, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 1, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 28, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 46225003, + "name": "linux_networking_control.vxlan_encap_v6_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap_v6", + "handle": 30345128, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 6 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap_v6", + "action_handle": 30345128, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 6, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "param_handle": 5, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 20, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 36439154, + "name": "linux_networking_control.neighbor_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_outer_mac", + "handle": 31671750, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_mac_addr", + "bit_width": 48 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_outer_mac", + "action_handle": 31671750, + "immediate_fields": [ + { + "param_name": "dst_mac_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 48 + } + ], + "mod_content_format": { + "mod_profile": 3, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "dst_mac_addr", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match_value_lookup_table", + "handle": 44034280, + "name": "linux_networking_control.ecmp_lpm_root_lut", + "size": 1, + "p4_hidden": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.bit32_zeros", + "instance_name": "user_meta.cmeta.bit32_zeros", + "field_name": "user_meta.cmeta.bit32_zeros", + "match_type": "ternary", + "bit_width": 32, + "index": 0, + "position": 0 + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "hw_resource": "lpm_table", + "hw_resource_id": 4, + "immediate_fields": [ + { + "param_name": "ipv4_table_lpm_root", + "param_handle": 0, + "dest_start": 0, + "dest_width": 32 + } + ], + "p4_ref_table_handles": [ + 37566509 + ] + } + ] + } + }, + { + "table_type": "match_value_lookup_table", + "handle": 43524029, + "name": "linux_networking_control.ipv6_lpm_root_lut", + "size": 1, + "p4_hidden": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.bit32_zeros", + "instance_name": "user_meta.cmeta.bit32_zeros", + "field_name": "user_meta.cmeta.bit32_zeros", + "match_type": "ternary", + "bit_width": 32, + "index": 0, + "position": 0 + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "hw_resource": "lpm_table", + "hw_resource_id": 4, + "immediate_fields": [ + { + "param_name": "ipv6_table_lpm_root", + "param_handle": 0, + "dest_start": 0, + "dest_width": 32 + } + ], + "p4_ref_table_handles": [ + 46496254 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.p4info.txt b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.p4info.txt new file mode 100644 index 000000000..7d3104030 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.p4info.txt @@ -0,0 +1,1433 @@ +pkg_info { + arch: "pna" +} +tables { + preamble { + id: 44034280 + name: "linux_networking_control.ecmp_lpm_root_lut" + alias: "ecmp_lpm_root_lut" + annotations: "@intel_lut_type(\"lpm_table\")" + } + match_fields { + id: 1 + name: "user_meta.cmeta.bit32_zeros" + bitwidth: 32 + match_type: TERNARY + } + action_refs { + id: 17893604 + } + size: 1 +} +tables { + preamble { + id: 43524029 + name: "linux_networking_control.ipv6_lpm_root_lut" + alias: "ipv6_lpm_root_lut" + annotations: "@intel_lut_type(\"lpm_table\")" + } + match_fields { + id: 1 + name: "user_meta.cmeta.bit32_zeros" + bitwidth: 32 + match_type: TERNARY + } + action_refs { + id: 25701894 + } + size: 1 +} +tables { + preamble { + id: 40980035 + name: "linux_networking_control.vxlan_decap_mod_table" + alias: "vxlan_decap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 28308555 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 42605135 + name: "linux_networking_control.rif_mod_table_start" + alias: "rif_mod_table_start" + } + match_fields { + id: 1 + name: "rif_mod_map_id0" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 23093409 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 43970557 + name: "linux_networking_control.rif_mod_table_mid" + alias: "rif_mod_table_mid" + } + match_fields { + id: 1 + name: "rif_mod_map_id1" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 30315892 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 47499906 + name: "linux_networking_control.rif_mod_table_last" + alias: "rif_mod_table_last" + } + match_fields { + id: 1 + name: "rif_mod_map_id2" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 32740970 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 47631146 + name: "linux_networking_control.sem_bypass" + alias: "sem_bypass" + } + match_fields { + id: 1 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 17726852 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 42774112 + name: "linux_networking_control.always_recirculate_table1" + alias: "always_recirculate_table1" + } + action_refs { + id: 33275382 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 48644884 + name: "linux_networking_control.always_recirculate_table2" + alias: "always_recirculate_table2" + } + action_refs { + id: 33275382 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 40312237 + name: "linux_networking_control.vlan_push_mod_table" + alias: "vlan_push_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 24137163 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 38884256 + name: "linux_networking_control.vlan_pop_mod_table" + alias: "vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 25667542 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 40763773 + name: "linux_networking_control.vxlan_encap_mod_table" + alias: "vxlan_encap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 20733968 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 46225003 + name: "linux_networking_control.vxlan_encap_v6_mod_table" + alias: "vxlan_encap_v6_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 30345128 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 36439154 + name: "linux_networking_control.neighbor_mod_table" + alias: "neighbor_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 31671750 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 47484925 + name: "linux_networking_control.ipv4_tunnel_term_table" + alias: "ipv4_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv4_dst" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 3 + name: "user_meta.pmeta.tun_flag1_d0" + bitwidth: 2 + match_type: EXACT + } + action_refs { + id: 16905340 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 34601307 + name: "linux_networking_control.ipv6_tunnel_term_table" + alias: "ipv6_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv6_src" + bitwidth: 128 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv6_dst" + bitwidth: 128 + match_type: EXACT + } + match_fields { + id: 3 + name: "user_meta.pmeta.tun_flag1_d0" + bitwidth: 2 + match_type: EXACT + } + action_refs { + id: 16905340 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 46049425 + name: "linux_networking_control.l2_fwd_rx_with_tunnel_table" + alias: "l2_fwd_rx_with_tunnel_table" + } + match_fields { + id: 1 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 48713331 + name: "linux_networking_control.l2_fwd_rx_ipv6_with_tunnel_table" + alias: "l2_fwd_rx_ipv6_with_tunnel_table" + } + match_fields { + id: 1 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 44842501 + name: "linux_networking_control.l2_fwd_rx_table" + alias: "l2_fwd_rx_table" + } + match_fields { + id: 1 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 40240205 + name: "linux_networking_control.l2_fwd_tx_table" + alias: "l2_fwd_tx_table" + } + match_fields { + id: 2 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + match_fields { + id: 3 + name: "user_meta.pmeta.tun_flag1_d0" + bitwidth: 2 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 25831912 + } + action_refs { + id: 27674194 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 48022928 + name: "linux_networking_control.l2_fwd_tx_ipv6_table" + alias: "l2_fwd_tx_ipv6_table" + } + match_fields { + id: 2 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + match_fields { + id: 3 + name: "user_meta.pmeta.tun_flag1_d0" + bitwidth: 2 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 23441357 + } + action_refs { + id: 32666305 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 47616217 + name: "linux_networking_control.set_rx_exception_table" + alias: "set_rx_exception_table" + } + action_refs { + id: 25265883 + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 47847840 + name: "linux_networking_control.set_tx_exception_table" + alias: "set_tx_exception_table" + } + action_refs { + id: 25265883 + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 43924140 + name: "linux_networking_control.set_tunnel_exception_table" + alias: "set_tunnel_exception_table" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 37894008 + name: "linux_networking_control.nexthop_table" + alias: "nexthop_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.nexthop_id" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit32_zeros" + bitwidth: 25 + match_type: EXACT + } + action_refs { + id: 25265883 + } + action_refs { + id: 31297949 + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 37566509 + name: "linux_networking_control.ipv4_table" + alias: "ipv4_table" + } + match_fields { + id: 1 + name: "ipv4_table_lpm_root" + bitwidth: 32 + match_type: TERNARY + } + match_fields { + id: 2 + name: "ipv4_dst_match" + annotations: "@intel_byte_order(\"NETWORK\")" + bitwidth: 32 + match_type: LPM + } + action_refs { + id: 22009623 + } + action_refs { + id: 20811078 + } + action_refs { + id: 16874810 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 49661222 + name: "linux_networking_control.ecmp_hash_table" + alias: "ecmp_hash_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.flex[15:0]" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "vmeta.common.hash[2:0]" + bitwidth: 3 + match_type: EXACT + } + match_fields { + id: 3 + name: "user_meta.cmeta.bit32_zeros[15:3]" + bitwidth: 13 + match_type: EXACT + } + action_refs { + id: 29883644 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 46496254 + name: "linux_networking_control.ipv6_table" + alias: "ipv6_table" + } + match_fields { + id: 1 + name: "ipv6_table_lpm_root" + bitwidth: 32 + match_type: TERNARY + } + match_fields { + id: 2 + name: "ipv6_dst_match" + annotations: "@intel_byte_order(\"NETWORK\")" + bitwidth: 128 + match_type: LPM + } + action_refs { + id: 21321477 + } + action_refs { + id: 27000185 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 42313718 + name: "linux_networking_control.handle_rx_from_wire_to_ovs_table" + alias: "handle_rx_from_wire_to_ovs_table" + } + match_fields { + id: 1 + name: "vmeta.common.port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 17726852 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 44511550 + name: "linux_networking_control.handle_rx_loopback_from_host_to_ovs_table" + alias: "handle_rx_loopback_from_host_to_ovs_table" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 17726852 + } + action_refs { + id: 25265883 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 35705360 + name: "linux_networking_control.handle_rx_loopback_from_ovs_to_host_table" + alias: "handle_rx_loopback_from_ovs_to_host_table" + } + match_fields { + id: 1 + name: "vmeta.misc_internal.vm_to_vm_or_port_to_port[27:17]" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 17726852 + } + action_refs { + id: 25265883 + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 40542664 + name: "linux_networking_control.handle_tx_from_ovs_to_host_table" + alias: "handle_tx_from_ovs_to_host_table" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.dot1q_tag[vmeta.common.depth].hdr.vid" + bitwidth: 12 + match_type: EXACT + } + action_refs { + id: 21494760 + } + action_refs { + id: 17726852 + } + action_refs { + id: 25265883 + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 35127384 + name: "linux_networking_control.handle_tx_from_host_to_ovs_and_ovs_to_wire_table" + alias: "handle_tx_from_host_to_ovs_and_ovs_to_wire_table" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 31658830 + } + action_refs { + id: 17726852 + } + action_refs { + id: 25265883 + } + const_default_action_id: 25265883 + size: 1024 +} +tables { + preamble { + id: 44641644 + name: "linux_networking_control.hash_ipv4_tcp" + alias: "hash_ipv4_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46678878 + name: "linux_networking_control.hash_ipv4_udp" + alias: "hash_ipv4_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 45972289 + name: "linux_networking_control.hash_ipv4" + alias: "hash_ipv4" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46852435 + name: "linux_networking_control.hash_ipv6_tcp" + alias: "hash_ipv6_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46359163 + name: "linux_networking_control.hash_ipv6_udp" + alias: "hash_ipv6_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 34506208 + name: "linux_networking_control.hash_ipv6" + alias: "hash_ipv6" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 42757874 + name: "linux_networking_control.comms_channel_table" + alias: "comms_channel_table" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.bit32_zeros[15:0]" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +actions { + preamble { + id: 21257015 + name: "NoAction" + alias: "NoAction" + annotations: "@noWarn(\"unused\")" + } +} +actions { + preamble { + id: 31851898 + name: "linux_networking_control.dummycall" + alias: "dummycall" + } +} +actions { + preamble { + id: 33275382 + name: "linux_networking_control.do_recirculate" + alias: "do_recirculate" + } +} +actions { + preamble { + id: 25265883 + name: "linux_networking_control.set_exception" + alias: "set_exception" + } + params { + id: 1 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 19169916 + name: "linux_networking_control.l2_fwd" + alias: "l2_fwd" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 17726852 + name: "linux_networking_control.set_dest" + alias: "set_dest" + } + params { + id: 1 + name: "port_id" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 20733968 + name: "linux_networking_control.vxlan_encap" + alias: "vxlan_encap" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 30345128 + name: "linux_networking_control.vxlan_encap_v6" + alias: "vxlan_encap_v6" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 24137163 + name: "linux_networking_control.vlan_push" + alias: "vlan_push" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 25667542 + name: "linux_networking_control.vlan_pop" + alias: "vlan_pop" + } +} +actions { + preamble { + id: 28308555 + name: "linux_networking_control.vxlan_decap_outer_hdr" + alias: "vxlan_decap_outer_hdr" + } +} +actions { + preamble { + id: 23093409 + name: "linux_networking_control.set_src_mac_start" + alias: "set_src_mac_start" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 30315892 + name: "linux_networking_control.set_src_mac_mid" + alias: "set_src_mac_mid" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 32740970 + name: "linux_networking_control.set_src_mac_last" + alias: "set_src_mac_last" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 31671750 + name: "linux_networking_control.set_outer_mac" + alias: "set_outer_mac" + } + params { + id: 1 + name: "dst_mac_addr" + bitwidth: 48 + } +} +actions { + preamble { + id: 16905340 + name: "linux_networking_control.decap_outer_hdr" + alias: "decap_outer_hdr" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 25831912 + name: "linux_networking_control.set_tunnel_underlay_v4_overlay_v4" + alias: "set_tunnel_underlay_v4_overlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } +} +actions { + preamble { + id: 27674194 + name: "linux_networking_control.set_tunnel_underlay_v6_overlay_v4" + alias: "set_tunnel_underlay_v6_overlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } +} +actions { + preamble { + id: 23441357 + name: "linux_networking_control.set_tunnel_underlay_v6_overlay_v6" + alias: "set_tunnel_underlay_v6_overlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } + params { + id: 2 + name: "ipv6_1" + bitwidth: 32 + } + params { + id: 3 + name: "ipv6_2" + bitwidth: 32 + } + params { + id: 4 + name: "ipv6_3" + bitwidth: 32 + } + params { + id: 5 + name: "ipv6_4" + bitwidth: 32 + } +} +actions { + preamble { + id: 32666305 + name: "linux_networking_control.set_tunnel_underlay_v4_overlay_v6" + alias: "set_tunnel_underlay_v4_overlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } + params { + id: 2 + name: "ipv6_1" + bitwidth: 32 + } + params { + id: 3 + name: "ipv6_2" + bitwidth: 32 + } + params { + id: 4 + name: "ipv6_3" + bitwidth: 32 + } + params { + id: 5 + name: "ipv6_4" + bitwidth: 32 + } +} +actions { + preamble { + id: 31297949 + name: "linux_networking_control.set_nexthop" + alias: "set_nexthop" + } + params { + id: 1 + name: "router_interface_id" + bitwidth: 16 + } + params { + id: 2 + name: "neighbor_id" + bitwidth: 20 + } + params { + id: 3 + name: "egress_port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 29883644 + name: "linux_networking_control.set_nexthop_id" + alias: "set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 16874810 + name: "linux_networking_control.ecmp_hash_action" + alias: "ecmp_hash_action" + } + params { + id: 1 + name: "ecmp_group_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 22009623 + name: "linux_networking_control.ipv4_set_nexthop_id" + alias: "ipv4_set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 20811078 + name: "linux_networking_control.ipv4_set_nexthop_id_with_mirror" + alias: "ipv4_set_nexthop_id_with_mirror" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 21321477 + name: "linux_networking_control.ipv6_set_nexthop_id" + alias: "ipv6_set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 27000185 + name: "linux_networking_control.ecmp_v6_hash_action" + alias: "ecmp_v6_hash_action" + } + params { + id: 1 + name: "ecmp_group_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 31658830 + name: "linux_networking_control.add_vlan_and_send_to_port" + alias: "add_vlan_and_send_to_port" + } + params { + id: 1 + name: "vlan_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "port_id" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 21494760 + name: "linux_networking_control.remove_vlan_and_send_to_port" + alias: "remove_vlan_and_send_to_port" + } + params { + id: 1 + name: "vlan_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "port_id" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 17893604 + name: "linux_networking_control.ecmp_lpm_root_lut_action" + alias: "ecmp_lpm_root_lut_action" + } + params { + id: 1 + name: "ipv4_table_lpm_root" + bitwidth: 32 + } +} +actions { + preamble { + id: 25701894 + name: "linux_networking_control.ipv6_lpm_root_lut_action" + alias: "ipv6_lpm_root_lut_action" + } + params { + id: 1 + name: "ipv6_table_lpm_root" + bitwidth: 32 + } +} +type_info { + new_types { + key: "PortId_t" + value { + translated_type { + uri: "p4.org/pna/v1/PortId_t" + sdn_bitwidth: 32 + } + } + } +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/cpt_ver_572129ee658b42848732d0a6e74fafa6.s b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/cpt_ver_572129ee658b42848732d0a6e74fafa6.s new file mode 100644 index 000000000..c6ddfea5c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/cpt_ver_572129ee658b42848732d0a6e74fafa6.s @@ -0,0 +1,12 @@ +# 0 "cpt_ver.s" +# 1 "/root/p4output/linux_networking//" +# 0 "" +# 0 "" +# 1 "cpt_ver.s" +note "Intel(R) Configurable Pipeline Tool Version 3.8.0.59"; +note "Compatible with A0 and later HW"; +version 0.0.0.255; +name "P4 program FXP Pkg"; +segment IDPF_FXP { domain 0 { version 0.0.0.255; } } +segment IDPF_FXP { domain 0 { external_version 0 0.0.0.255; } } +segment IDPF_CXP { version 0.0.0.255; } diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/linux_networking.pkg b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/linux_networking.pkg new file mode 100644 index 000000000..ebe443b62 Binary files /dev/null and b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/linux_networking.pkg differ diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/linux_networking_f8754715a0b14dae973b59f9d35b5d89.s b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/linux_networking_f8754715a0b14dae973b59f9d35b5d89.s new file mode 100644 index 000000000..d0b56ded8 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-linux_networking/linux_networking.s/linux_networking_f8754715a0b14dae973b59f9d35b5d89.s @@ -0,0 +1,7294 @@ +/* p4c-pna-xxp version: 0.0.0.0 */ + +segment IDPF_FXP { + block LPM { + set %PAGE_SIZE 2MB; + } +} + + +segment IDPF_FXP { + block MOD { + set %PAGE_SIZE 2MB; + } +} + + +segment IDPF_FXP { + label REG 0 PMD_COMMON; + label REG 2 PMD_HOST_INFO_TX_BASE; + label REG 3 PMD_HOST_INFO_RX; + label REG 4 PMD_GENERIC_32; + label REG 5 PMD_FXP_INTERNAL; + label REG 6 PMD_MISC_INTERNAL; + label REG 7 PMD_HOST_INFO_TX_EXTENDED; + label REG 8 PMD_PARSE_PTRS_SHORT; + label REG 10 PMD_RDMARX; + label REG 12 PMD_PARSE_PTRS; + label REG 13 PMD_CONFIG; + label REG 16 PMD_DROP_INFO; + + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 49 TCP; + + block EVMIN { + set %AUTO_ADD_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_ADD_RX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_RX_TYPE3 %PMD_GENERIC_32; + + set %MD_SEL_RX_TYPE0 %PMD_COMMON; + set %MD_SEL_RX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_RX_TYPE2 %PMD_HOST_INFO_RX; + set %MD_SEL_RX_TYPE3 %PMD_MISC_INTERNAL; + set %MD_SEL_RX_TYPE4 %PMD_GENERIC_32; + + set %AUTO_ADD_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_TX_TYPE1 %PMD_DROP_INFO; + set %AUTO_ADD_TX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_TX_TYPE3 %PMD_MISC_INTERNAL; + set %AUTO_ADD_TX_TYPE4 %PMD_GENERIC_32; + set %AUTO_ADD_TX_TYPE5 %PMD_HOST_INFO_TX_BASE; + set %AUTO_ADD_TX_TYPE6 %PMD_HOST_INFO_TX_EXTENDED; + + set %MD_SEL_TX_TYPE0 %PMD_COMMON; + set %MD_SEL_TX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_TX_TYPE2 %PMD_HOST_INFO_TX_BASE; + set %MD_SEL_TX_TYPE3 %PMD_HOST_INFO_TX_EXTENDED; + set %MD_SEL_TX_TYPE4 %PMD_MISC_INTERNAL; + set %MD_SEL_TX_TYPE5 %PMD_GENERIC_32; + + set %AUTO_ADD_CFG_TYPE0 %PMD_FXP_INTERNAL; + set %MD_SEL_CFG_TYPE0 %PMD_COMMON; + set %MD_SEL_CFG_TYPE1 %PMD_CONFIG; + set %MD_SEL_CFG_TYPE2 %PMD_FXP_INTERNAL; + } + + block EVMOUT { + set %AUTO_DEL_LAN_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LAN_RX_TYPE1 %PMD_RDMARX; + set %AUTO_DEL_LAN_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_LANP2P_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LANP2P_RX_TYPE1 %PMD_RDMARX; + + set %AUTO_DEL_RDMA_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_RECIRC_RX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_RX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_RECIRC_TX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_TX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_TX_TYPE1 %PMD_HOST_INFO_TX_EXTENDED; + + set %AUTO_DEL_CFG_TYPE0 %PMD_FXP_INTERNAL; + } + + block SEM { + set %PAGE_SIZE 2MB; + } +} + + +segment IDPF_FXP { + + label PROTOCOL_ID 255 PROTO_ID_INVALID; + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 4 reserved4; + label PROTOCOL_ID 9 ETYPE_IN0; + label PROTOCOL_ID 10 ETYPE_IN1; + label PROTOCOL_ID 11 ETYPE_IN2; + label PROTOCOL_ID 15 PAY; + label PROTOCOL_ID 16 VLAN_EXT_IN0; + label PROTOCOL_ID 17 VLAN_EXT_IN1; + label PROTOCOL_ID 18 VLAN_EXT_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 36 IP_NEXT_HDR_LAST_IN0; + label PROTOCOL_ID 37 IP_NEXT_HDR_LAST_IN1; + label PROTOCOL_ID 38 IP_NEXT_HDR_LAST_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 49 TCP; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 118 ARP; + label PROTOCOL_ID 121 CRYPTO_START; + label PROTOCOL_ID 125 VXLAN_IN1; + label PROTOCOL_ID 126 VXLAN_IN2; + + label FLAG 14 PACKET_FLAG_14; + label FLAG 15 PACKET_FLAG_15; + label FLAG 16 PACKET_FLAG_16; + label FLAG 17 PACKET_FLAG_17; + label FLAG 18 PACKET_FLAG_18; + label FLAG 19 PACKET_FLAG_19; + label FLAG 20 PACKET_FLAG_20; + label FLAG 21 PACKET_FLAG_21; + label FLAG 22 PACKET_FLAG_22; + label FLAG 23 PACKET_FLAG_23; + label FLAG 24 PACKET_FLAG_24; + label FLAG 25 PACKET_FLAG_25; + label FLAG 26 PACKET_FLAG_26; + label FLAG 27 PACKET_FLAG_27; + label REG STATE[59:59] MARKER0; + label REG STATE[60:60] MARKER1; + label REG STATE[61:61] MARKER2; + label REG STATE[62:62] MARKER3; + label REG STATE[63:63] MARKER4; + label REG STATE[64:64] MARKER5; + label REG STATE[65:65] MARKER6; + + label PTYPE 1 PTYPE_MAC_PAY; + label PTYPE 11 PTYPE_MAC_ARP; + label PTYPE 12 PTYPE_MAC_VLAN_ARP; + label PTYPE 23 PTYPE_MAC_IPV4_PAY; + label PTYPE 24 PTYPE_MAC_IPV4_UDP; + label PTYPE 26 PTYPE_MAC_IPV4_TCP; + label PTYPE 33 PTYPE_MAC_IPV6_PAY; + label PTYPE 34 PTYPE_MAC_IPV6_UDP; + label PTYPE 35 PTYPE_MAC_IPV6_TCP; + label PTYPE 58 PTYPE_MAC_IPV4_TUN_MAC_PAY; + label PTYPE 59 PTYPE_MAC_IPV6_TUN_MAC_PAY; + label PTYPE 60 PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY; + label PTYPE 61 PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP; + label PTYPE 63 PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP; + label PTYPE 70 PTYPE_MAC_IPV4_TUN_MAC_IPV6_PAY; + label PTYPE 71 PTYPE_MAC_IPV4_TUN_MAC_IPV6_UDP; + label PTYPE 72 PTYPE_MAC_IPV4_TUN_MAC_IPV6_TCP; + label PTYPE 80 PTYPE_MAC_IPV6_TUN_MAC_IPV4_PAY; + label PTYPE 81 PTYPE_MAC_IPV6_TUN_MAC_IPV4_UDP; + label PTYPE 82 PTYPE_MAC_IPV6_TUN_MAC_IPV4_TCP; + label PTYPE 90 PTYPE_MAC_IPV6_TUN_MAC_IPV6_PAY; + label PTYPE 91 PTYPE_MAC_IPV6_TUN_MAC_IPV6_UDP; + label PTYPE 92 PTYPE_MAC_IPV6_TUN_MAC_IPV6_TCP; + label PTYPE 287 PTYPE_MAC_IPV4_TUN_MAC_ARP; + label PTYPE 288 PTYPE_MAC_IPV6_TUN_MAC_ARP; + label PTYPE 1022 PTYPE_REJECT; + + label REG STATE[7:0] S0; + label REG STATE[15:8] S1; + label REG STATE[23:16] S2; + label REG STATE[31:24] S3; + label REG STATE[39:32] S4; + label REG STATE[47:40] S5; + label REG STATE[55:48] S6; + label REG STATE[63:56] S7; + label REG STATE[58:56] NODEID; + label REG STATE[77:59] MARKERS; + label REG STATE[79:78] WAY_SEL; + label REG 31[7:0] NULL; + + label REG 31[7:0] UNUSED_INIT_KEY; + +block PARSER { + + + direction RX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + direction TX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + set %DEFAULT_PTYPE 255; + set %CSUM_CONFIG_IPV4_0 32; + set %CSUM_CONFIG_IPV4_1 33; + set %CSUM_CONFIG_IPV4_2 34; + set %CSUM_CONFIG_IPV6_0 40; + set %CSUM_CONFIG_IPV6_1 41; + set %CSUM_CONFIG_IPV6_2 42; + set %CSUM_CONFIG_UDP_0 52; + set %CSUM_CONFIG_UDP_1 53; + set %CSUM_CONFIG_UDP_2 54; + set %CSUM_CONFIG_TCP_0 49; + set %PROTO_STACK_SIZE 28; + + tcam INIT_ID(%INIT_KEY0){ + 'h?? : 0; + } + + table METADATA_INIT(%INIT_ID){ + + 0 : FLAGS('b0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000), + STATE0(0), + STATE1(0), + STATE2(0), + STATE3(0), + STATE4(0), + STATE5(0), + STATE6(0), + STATE7(0), + STATE8(0), + STATE9(0), + HO(0), + W0(0), + W1(0), + W2(0); + } + + + tcam PTYPE(%ERROR, %MARKER6, %MARKER5, %MARKER4, %MARKER3, %MARKER2, %MARKER1, %MARKER0, %NODEID, %STATE[79:66]) { + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 1, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 1, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 1, 'b??_0000_0000_0000 : PTYPE(28), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b1, 1, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b1, 'b0, 'b0, 'b1, 1, 'b??_0000_0000_0000 : PTYPE(29), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 1, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(16), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(17), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(18), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(19), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b1, 'b0, 'b0, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(20), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(21), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b1, 'b1, 'b0, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(22), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(25), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(27), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 2, 'b??_0000_0000_0000 : PTYPE(8), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 2, 'b??_0000_0000_0000 : PTYPE(9), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(10), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b1, 'b1, 'b0, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(13), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(14), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(15), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 3, 'b??_0000_0000_0000 : PTYPE(2), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 3, 'b??_0000_0000_0000 : PTYPE(3), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(4), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b1, 'b1, 'b0, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(5), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b1, 'b1, 'b0, 'b0, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(7), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 7, 'b??_0000_0000_0000 : PTYPE(PTYPE_REJECT), + L3_IN0_CSUM(DISABLE), + L3_IN1_CSUM(DISABLE), + L3_IN2_CSUM(DISABLE), + L4_IN0_ASSOC(DISABLE), + L4_IN1_ASSOC(DISABLE), + L4_IN2_ASSOC(DISABLE); + } + + stage 0 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: start */ + set %W0_OFFSET 0; + set %W1_OFFSET 2; + set %WAY_SEL 0; + set %S6 2; + set %S5 127; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 1 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'hFFFF, 'h??, 2, 'h7F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Maybe_BC_Depth0 */ + set %W0_OFFSET 4; + set %S6 2; + set %S5 126; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_????_???1, 'h????, 'h??, 2, 'h7F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_MC_Depth0 */ + set %PACKET_FLAG_16 1; + set %S6 2; + set %S5 124; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 2 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'h????, 'h??, 2, 'h7E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_BC_Depth0 */ + set %PACKET_FLAG_15 1; + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 5; + set %S5 125; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 2, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Done_Depth0 */ + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 5; + set %S5 125; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 3 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 5, 'h7D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_Depth0 */ + set %PACKET_FLAG_14 1; + set %MARKER6 1; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN1, VLAN_EXT_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 5; + set %S5 122; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 4 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 5, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth0 */ + set %PROTO_SLOT_NEXT 0, ETYPE_IN0, ETYPE_IN1, ETYPE_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 10; + set %S5 121; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 5 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 10, 'h79, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth0 */ + set %MARKER1 1; + set %W0_OFFSET 0; + set %S6 7; + set %S5 117; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'hDD86, 'h????, 'h??, 10, 'h79, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth0 */ + set %MARKER3 1; + set %PROTO_SLOT_NEXT 0, IPV6_IN0, IPV6_IN1, IPV6_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %S6 10; + set %S5 115; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @2 { 'h0608, 'h????, 'h??, 10, 'h79, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 9; + set %S5 120; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 6 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 7, 'h75, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 10; + set %S5 119; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 7, 'h75, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 10; + set %S5 119; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??11, 'h????, 'h??, 10, 'h73, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 25; + set %S5 92; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @3 { 'h??06, 'h????, 'h??, 10, 'h73, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 13; + set %S5 101; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h??3A, 'h????, 'h??, 10, 'h73, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6 */ + set %W0_OFFSET 0; + set %S6 10; + set %S5 109; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 7, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth0 */ + set %W0_OFFSET 6; + set %S6 16; + set %S5 113; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 7 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 16, 'h71, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 26; + set %S5 111; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 16, 'h71, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth0 */ + set %PACKET_FLAG_18 1; + set %S6 16; + set %S5 106; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 8 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 26, 'h6F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0_delay */ + set %S6 17; + set %S5 82; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 26, 'h6F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 13; + set %S5 101; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 16, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 32; + set %S5 104; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 9 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 17, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 25; + set %S5 92; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 10 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hB512, 'h????, 'h??, 25, 'h5C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_VXLAN_Depth0 */ + set %PACKET_FLAG_20 0; + set %PACKET_FLAG_21 1; + set %MARKER5 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VXLAN_IN1, VXLAN_IN2, PROTO_ID_INVALID; + set %S6 19; + set %S5 89; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 11 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 19, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Depth1 */ + set %MARKER0 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 20; + set %S5 88; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 12 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 20, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 10; + set %S5 87; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 13 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 10, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 22; + set %S5 116; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'hDD86, 'h????, 'h??, 10, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth1 */ + set %MARKER4 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV6_IN0, IPV6_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %WAY_SEL 1; + set %S6 10; + set %S5 114; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @2 { 'h0608, 'h????, 'h??, 10, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 9; + set %S5 120; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 14 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 22, 'h74, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 10; + set %S5 119; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 22, 'h74, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 10; + set %S5 119; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??11, 'h????, 'h??, 10, 'h72, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, UDP_IN0, UDP_IN1, PROTO_ID_INVALID; + set %S6 25; + set %S5 91; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @3 { 'h??06, 'h????, 'h??, 10, 'h72, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 13; + set %S5 101; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h??3A, 'h????, 'h??, 10, 'h72, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6 */ + set %W0_OFFSET 0; + set %S6 10; + set %S5 109; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 22, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth1 */ + set %W0_OFFSET 6; + set %S6 27; + set %S5 112; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 15 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 27, 'h70, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 26; + set %S5 110; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 27, 'h70, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth1 */ + set %PACKET_FLAG_18 1; + set %S6 27; + set %S5 105; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??87, 'h????, 'h??, 10, 'h6D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6_ns */ + set %PACKET_FLAG_26 1; + set %S6 10; + set %S5 108; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h??88, 'h????, 'h??, 10, 'h6D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6_na */ + set %PACKET_FLAG_27 1; + set %S6 10; + set %S5 107; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 16 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 26, 'h6E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1_delay */ + set %S6 30; + set %S5 81; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 26, 'h6E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 13; + set %S5 101; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 26, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_delay */ + set %S6 10; + set %S5 84; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 27, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 32; + set %S5 103; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 17 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_00??_????, 'h????, 'h??, 13, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 10; + set %S5 119; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??4?, 'h????, 'h??, 13, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 10; + set %S5 119; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_??01_????_????, 'h????, 'h??, 13, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN */ + set %PACKET_FLAG_23 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 33; + set %S5 100; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'b????_??10_????_????, 'h????, 'h??, 13, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_SYN */ + set %PACKET_FLAG_22 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 33; + set %S5 100; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'b????_??11_????_????, 'h????, 'h??, 13, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN_SYN */ + set %PACKET_FLAG_23 1; + set %PACKET_FLAG_22 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 33; + set %S5 100; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 13, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_No_FIN_SYN */ + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 33; + set %S5 100; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h????, 'h????, 'h??, 32, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IP_Frag */ + set %PACKET_FLAG_19 1; + set %S6 10; + set %S5 102; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @7 { 'h????, 'h????, 'h??, 30, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, UDP_IN0, UDP_IN1, PROTO_ID_INVALID; + set %S6 25; + set %S5 91; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 18 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_???0_?1??, 'h????, 'h??, 33, 'h64, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST */ + set %PACKET_FLAG_24 1; + set %S6 36; + set %S5 96; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_???1_?0??, 'h????, 'h??, 33, 'h64, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_ACK */ + set %PACKET_FLAG_25 1; + set %S6 36; + set %S5 95; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_????_???1_?1??, 'h????, 'h??, 33, 'h64, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST_ACK */ + set %PACKET_FLAG_24 1; + set %PACKET_FLAG_25 1; + set %S6 36; + set %S5 94; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 33, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay_delay */ + set %S6 36; + set %S5 83; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h????, 'h????, 'h??, 10, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY */ + set %NODEID 4; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 40; + set %S5 118; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 25, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_PAY */ + set %NODEID 3; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 35; + set %S5 90; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 19 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 36, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay */ + set %NODEID 2; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 41; + set %S5 93; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: reject */ + set %NODEID 7; + set %MARKERS 0; + set %FLAG_DONE 1; + set %S5 85; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 20 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 21 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 22 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 23 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 24 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 25 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 26 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 27 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 28 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 29 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 30 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 31 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 32 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 33 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 34 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 35 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 36 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 37 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 38 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 39 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 40 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 41 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 42 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 43 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 44 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 45 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 46 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 47 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } +} + +block SEM { + + domain 0 { + + owner PROFILE_CFG 1..1023 0; + owner PROFILE 12..1023 0; + owner OBJECT_CACHE_CFG 0..3 0; + owner CACHE_BANK 0..5 0; + owner PROFILE 4095..4095 0; + owner PROFILE_CFG 0 0; + + tcam MD_PRE_EXTRACT(%TX, %PTYPE) { + + 1, 'b??_????_???? : %MD4[239:232], %NULL, %NULL, %NULL; + 0, 'b??_????_???? : %NULL, %NULL, %NULL, %NULL; + } + + + tcam SEM_MD2(%MD_PRE_EXTRACT, %FLAGS[15:0], %PARSER_FLAGS[39:8]) { + 'h????_????, 16'b????_????_????_???1, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(54), KEY(51), KEY(34), KEY(53), KEY(19), KEY(18), KEY(6), KEY(45), KEY(44), KEY(33), KEY(32); + 'h????_????, 16'b????_????_????_???0, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(19), KEY(18), KEY(6), KEY(45), KEY(44), KEY(33), KEY(32); + + } + + + table PTYPE_GROUP(%PTYPE) { + + 255 : 255, DROP(0); + 1 : 1, DROP(0); + 11 : 11, DROP(0); + 12 : 12, DROP(0); + 23 : 23, DROP(0); + 24 : 24, DROP(0); + 26 : 26, DROP(0); + 33 : 33, DROP(0); + 34 : 34, DROP(0); + 35 : 35, DROP(0); + 58 : 58, DROP(0); + 287 : 287, DROP(0); + 59 : 59, DROP(0); + 288 : 288, DROP(0); + 60 : 60, DROP(0); + 61 : 61, DROP(0); + 63 : 63, DROP(0); + 70 : 70, DROP(0); + 71 : 71, DROP(0); + 72 : 72, DROP(0); + 80 : 80, DROP(0); + 81 : 81, DROP(0); + 82 : 82, DROP(0); + 90 : 90, DROP(0); + 91 : 91, DROP(0); + 92 : 92, DROP(0); + } + + + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %SEM_MD2, %PORT) { + + @12 { 'b??_????_????, 1, 'h????, 'b?? : 1; } + @13 { 11, 'b???_????_????, 'h???0, 'b?? : 15; } + @14 { 12, 'b???_????_????, 'h???0, 'b?? : 15; } + @15 { 287, 'b???_????_????, 'h???0, 'b?? : 15; } + @16 { 288, 'b???_????_????, 'h???0, 'b?? : 15; } + @17 { 'b??_????_????, 'b???_????_????, 'b????_????_??1?_0000, 'b?? : 15; } + @18 { 'b??_????_????, 'b???_????_????, 'b????_????_?1??_0000, 'b?? : 15; } + @19 { 58, 'b???_????_????, 'h???0, 'b?? : 2; } + @20 { 60, 'b???_????_????, 'h???0, 'b?? : 2; } + @21 { 61, 'b???_????_????, 'h???0, 'b?? : 2; } + @22 { 63, 'b???_????_????, 'h???0, 'b?? : 2; } + @23 { 70, 'b???_????_????, 'h???0, 'b?? : 2; } + @24 { 71, 'b???_????_????, 'h???0, 'b?? : 2; } + @25 { 72, 'b???_????_????, 'h???0, 'b?? : 2; } + @26 { 59, 'b???_????_????, 'h???0, 'b?? : 13; } + @27 { 80, 'b???_????_????, 'h???0, 'b?? : 13; } + @28 { 81, 'b???_????_????, 'h???0, 'b?? : 13; } + @29 { 82, 'b???_????_????, 'h???0, 'b?? : 13; } + @30 { 90, 'b???_????_????, 'h???0, 'b?? : 13; } + @31 { 91, 'b???_????_????, 'h???0, 'b?? : 13; } + @32 { 92, 'b???_????_????, 'h???0, 'b?? : 13; } + @33 { 1, 'b???_????_????, 'h???0, 'b?? : 3; } + @34 { 23, 'b???_????_????, 'h???0, 'b?? : 3; } + @35 { 24, 'b???_????_????, 'h???0, 'b?? : 3; } + @36 { 26, 'b???_????_????, 'h???0, 'b?? : 3; } + @37 { 33, 'b???_????_????, 'h???0, 'b?? : 3; } + @38 { 34, 'b???_????_????, 'h???0, 'b?? : 3; } + @39 { 35, 'b???_????_????, 'h???0, 'b?? : 3; } + @40 { 'b??_????_????, 'b???_????_????, 'h???0, 'b?? : 4; } + @41 { 11, 3, 'b????_????_???0_0010, 'b?? : 11; } + @42 { 12, 3, 'b????_????_???0_0010, 'b?? : 11; } + @43 { 287, 3, 'b????_????_???0_0010, 'b?? : 11; } + @44 { 288, 3, 'b????_????_???0_0010, 'b?? : 11; } + @45 { 'b??_????_????, 3, 'b????_????_??10_0010, 'b?? : 11; } + @46 { 'b??_????_????, 3, 'b????_????_?1?0_0010, 'b?? : 11; } + @47 { 11, 2, 'b????_????_???1_0010, 'b?? : 10; } + @48 { 12, 2, 'b????_????_???1_0010, 'b?? : 10; } + @49 { 287, 2, 'b????_????_???1_0010, 'b?? : 10; } + @50 { 288, 2, 'b????_????_???1_0010, 'b?? : 10; } + @51 { 'b??_????_????, 2, 'b????_????_??11_0010, 'b?? : 10; } + @52 { 'b??_????_????, 2, 'b????_????_?1?1_0010, 'b?? : 10; } + @53 { 'b??_????_????, 2, 'h???2, 'b?? : 12; } + @54 { 'b??_????_????, 3, 'h???2, 'b?? : 12; } + @55 { 'b??_????_????, 3, 'b????_???0_???1_00?1, 'b?? : 5; } + @56 { 11, 2, 'b????_???0_???0_00?1, 'b?? : 6; } + @57 { 12, 2, 'b????_???0_???0_00?1, 'b?? : 6; } + @58 { 287, 2, 'b????_???0_???0_00?1, 'b?? : 6; } + @59 { 288, 2, 'b????_???0_???0_00?1, 'b?? : 6; } + @60 { 'b??_????_????, 2, 'b????_???0_??10_00?1, 'b?? : 6; } + @61 { 'b??_????_????, 2, 'b????_???0_?1?0_00?1, 'b?? : 6; } + @62 { 23, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @63 { 24, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @64 { 26, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @65 { 60, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @66 { 61, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @67 { 63, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @68 { 80, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @69 { 81, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @70 { 82, 2, 'b????_???0_?00?_00?1, 'b?? : 7; } + @71 { 23, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @72 { 24, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @73 { 26, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @74 { 60, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @75 { 61, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @76 { 63, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @77 { 80, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @78 { 81, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @79 { 82, 3, 'b????_???0_?00?_00?1, 'b?? : 7; } + @80 { 33, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @81 { 34, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @82 { 35, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @83 { 70, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @84 { 71, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @85 { 72, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @86 { 90, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @87 { 91, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @88 { 92, 2, 'b????_???0_?00?_00?1, 'b?? : 14; } + @89 { 33, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @90 { 34, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @91 { 35, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @92 { 70, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @93 { 71, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @94 { 72, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @95 { 90, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @96 { 91, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @97 { 92, 3, 'b????_???0_?00?_00?1, 'b?? : 14; } + @98 { 'b??_????_????, 2, 'b????_????_????_00?1, 'b?? : 8; } + @99 { 'b??_????_????, 3, 'b????_????_????_00?1, 'b?? : 8; } + @100 { 'b??_????_????, 'b???_????_????, 'b????_????_1???_01?1, 'b?? : 9; } + @4095 { 'b??_????_????, 'b???_????_????, 'h????, 'b?? : 0; } + } + + table OBJECT_CACHE_CFG(%OBJECT_ID) { + + 0 : BASE(0), ENTRY_SIZE(32), START_BANK(0), NUM_BANKS(1); + 1 : BASE(20480), ENTRY_SIZE(32), START_BANK(1), NUM_BANKS(1); + 2 : BASE(10444800), ENTRY_SIZE(64), START_BANK(2), NUM_BANKS(2); + 3 : BASE(31293440), ENTRY_SIZE(64), START_BANK(4), NUM_BANKS(2); + } + + table PROFILE_CFG(%PROFILE) { + + 1 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(9), HASH_SIZE1(6), HASH_SIZE2(5), HASH_SIZE3(4), HASH_SIZE4(3), HASH_SIZE5(2), PINNED_LOOKUP(0), AGING_MODE(NONE), + // comms_channel_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 22, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 15 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // handle_rx_from_wire_to_ovs_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (228, 22, 'hFFFF), + WORD2 (228, 24, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 2 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_fwd_rx_with_tunnel_table + LUT { + OBJECT_ID(3), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // ipv4_tunnel_term_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (33, 12, 'hFFFF), + WORD1 (33, 14, 'hFFFF), + WORD2 (33, 16, 'hFFFF), + WORD3 (33, 18, 'hFFFF), + WORD4 (229, 2, 'h30) + } + + } +; + 13 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_fwd_rx_ipv6_with_tunnel_table + LUT { + OBJECT_ID(3), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // ipv6_tunnel_term_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (41, 8, 'hFFFF), + WORD1 (41, 10, 'hFFFF), + WORD2 (41, 12, 'hFFFF), + WORD3 (41, 14, 'hFFFF), + WORD4 (41, 16, 'hFFFF), + WORD5 (41, 18, 'hFFFF), + WORD6 (41, 20, 'hFFFF), + WORD7 (41, 22, 'hFFFF), + WORD8 (41, 24, 'hFFFF), + WORD9 (41, 26, 'hFFFF), + WORD10 (41, 28, 'hFFFF), + WORD11 (41, 30, 'hFFFF), + WORD12 (41, 32, 'hFFFF), + WORD13 (41, 34, 'hFFFF), + WORD14 (41, 36, 'hFFFF), + WORD15 (41, 38, 'hFFFF), + WORD16 (229, 2, 'h30) + } + + } +; + 3 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_fwd_rx_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 4 : SWID_SRC(1), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(9), HASH_SIZE1(6), HASH_SIZE2(5), HASH_SIZE3(4), HASH_SIZE4(3), HASH_SIZE5(2), PINNED_LOOKUP(0), AGING_MODE(NONE), + // set_rx_exception_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1), + MISS_ACTION0(604110859) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 11 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // handle_rx_loopback_from_ovs_to_host_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (230, 2, 'hFFE), + WORD1 (228, 22, 'hFFFF), + WORD2 (228, 24, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 10 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // handle_rx_loopback_from_host_to_ovs_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(8), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 22, 'hFFFF), + WORD2 (228, 24, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 12 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // sem_bypass + LUT { + OBJECT_ID(3), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_3 + LUT { + OBJECT_ID(3), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 5 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // handle_tx_from_ovs_to_host_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (16, 2, 'hFF0F) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 6 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // handle_tx_from_host_to_ovs_and_ovs_to_wire_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 22, 'hFFFF), + WORD2 (228, 24, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 7 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_fwd_tx_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF), + WORD3 (229, 2, 'h30) + } + + } +, + // always_recirculate_table1 + LUT { + OBJECT_ID(3), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1), + MISS_ACTION0(553762880) + } +; + 14 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_fwd_tx_ipv6_table + LUT { + OBJECT_ID(3), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + MISS_ACTION0(604110857), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF), + WORD3 (229, 2, 'h30) + } + + } +, + // always_recirculate_table2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1), + MISS_ACTION0(553762880) + } +; + 8 : SWID_SRC(1), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(9), HASH_SIZE1(6), HASH_SIZE2(5), HASH_SIZE3(4), HASH_SIZE4(3), HASH_SIZE5(2), PINNED_LOOKUP(0), AGING_MODE(NONE), + // set_tx_exception_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1), + MISS_ACTION0(604110859) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 9 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // ecmp_hash_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (228, 26, 'hFFFF), + WORD1 (224, 26, 'h7), + WORD2 (228, 22, 'hFFF8) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 0 : SWID_SRC(0), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(1), HASH_SIZE1(1), HASH_SIZE2(1), HASH_SIZE3(1), HASH_SIZE4(1), HASH_SIZE5(1), PINNED_LOOKUP(0), AGING_MODE(NONE), + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + } + + } +} + +block LEM { + + domain 0 { + + owner PROFILE_CFG 0..100 0; + owner OBJECT_CACHE_CFG 0..3 0; + owner HASH_SPACE_CFG 0 0; + owner HASH_SPACE_CFG 1 0; + owner CACHE_BANK 0..5 0; + owner PROFILE_CFG 0 0; + + table OBJECT_CACHE_CFG(%OBJECT_ID) { + 0 : + ENTRY_SIZE(64), + START_BANK(0), + NUM_BANKS(2); + 1 : + ENTRY_SIZE(64), + START_BANK(0), + NUM_BANKS(2); + + } + + table PROFILE_CFG(%PROFILE) { + + 10 : + PINNED(0), + HASH_SIZE0(10), + HASH_SIZE1(8), + HASH_SIZE2(8), + HASH_SIZE3(8), + HASH_SIZE4(8), + HASH_SIZE5(8), + AUX_PREC(0), + PROFILE_GROUP(10), + LUT { + NUM_ACTIONS(12), + OBJECT_ID(0), + MISS_ACTION0(604110857), + EXTRACT { + WORD0(228, 20, 'hFFFF), + WORD1(228, 22, 'hFF80), + WORD2(228, 24, 'hFFFF) + } + }; + 2 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + PROFILE_GROUP(2), + LUT { + NUM_ACTIONS(0), + OBJECT_ID(1), + MISS_ACTION0(604110859) + }; + 0 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + LUT { + NUM_ACTIONS(0), + KEY_SIZE(0) + }; + + } + + table HASH_SPACE_CFG(%HASH_SPACE_ID){ + 0 : + BASE('h0); + 1 : + BASE('h0); + + } + + } +} + +block HASH { + + domain 0 { + + owner PROFILE 0..127 0; + owner PROFILE_LUT_CFG 0..15 0; + owner KEY_EXTRACT 0..15 0; + owner SYMMETRICIZE 0..15 0; + owner KEY_MASK 0..15 0; + owner PROFILE 4095..4095 0; + owner PROFILE_LUT_CFG 0 0; + owner KEY_EXTRACT 0 0; + owner KEY_MASK 0 0; + + tcam MD_EXTRACT(%PTYPE, %MD_DIGEST, %FLAGS[15:0]){ + 'b????_????_??, 'h??, 'b????_????_????_???1 : %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + 'b????_????_??, 'h??, 'b????_????_????_???0 : %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + + } + + tcam MD_KEY(%PTYPE, %MD_EXTRACT, %FLAGS[15:0], %PARSER_FLAGS[39:8]){ + 'b????_????_??, 'h????_????, 'b????_????_????_???1, 'h????_???? : + MASK('hFFFF), + KEY(45), + KEY(44), + KEY(33), + KEY(32); + 'b????_????_??, 'h????_????, 'b????_????_????_???0, 'h????_???? : + MASK('hFFFF), + KEY(45), + KEY(44), + KEY(33), + KEY(32); + + } + + table PTYPE_GROUP(%PTYPE){ + 26 : 1; + 63 : 1; + 82 : 1; + 24 : 2; + 61 : 2; + 81 : 2; + 23 : 3; + 60 : 3; + 80 : 3; + 35 : 4; + 72 : 4; + 92 : 4; + 34 : 5; + 71 : 5; + 91 : 5; + 33 : 6; + 70 : 6; + 90 : 6; + + } + + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %MD_KEY){ + @0 { 1, 'b????_?, 'b????_????_????_???0 : 1; } + @1 { 2, 'b????_?, 'b????_????_????_???0 : 2; } + @2 { 3, 'b????_?, 'b????_????_????_???0 : 3; } + @3 { 4, 'b????_?, 'b????_????_????_???0 : 4; } + @4 { 5, 'b????_?, 'b????_????_????_???0 : 5; } + @5 { 6, 'b????_?, 'b????_????_????_???0 : 6; } + @6 { 3, 'b????_?, 'b????_????_????_00?1 : 7; } + @7 { 2, 'b????_?, 'b????_????_????_00?1 : 7; } + @8 { 1, 'b????_?, 'b????_????_????_00?1 : 7; } + @9 { 6, 'b????_?, 'b????_????_????_00?1 : 8; } + @10 { 5, 'b????_?, 'b????_????_????_00?1 : 8; } + @11 { 4, 'b????_?, 'b????_????_????_00?1 : 8; } + @4095 { 'b????, 'b????_?, 'h???? : 0; } + + } + + define LUT linux_networking_control_hash_ipv4_tcp_lut { + BASE('h0), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv4_udp_lut { + BASE('h80), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv4_lut { + BASE('h100), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_tcp_lut { + BASE('h180), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_udp_lut { + BASE('h200), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_lut { + BASE('h280), + SIZE('h80) + } + + table PROFILE_LUT_CFG(%PROFILE){ + 1 : + TYPE(QUEUE), + MASK_SELECT(1), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 2 : + TYPE(QUEUE), + MASK_SELECT(2), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 3 : + TYPE(QUEUE), + MASK_SELECT(3), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 4 : + TYPE(QUEUE), + MASK_SELECT(4), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 5 : + TYPE(QUEUE), + MASK_SELECT(5), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 6 : + TYPE(QUEUE), + MASK_SELECT(6), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 7 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(7), + VSI_PROFILE_OVR(1); + 8 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(8), + VSI_PROFILE_OVR(1); + 0 : + TYPE(QUEUE), + MASK_SELECT(0), + TC_OVR(0), + VSI_PROFILE_OVR(1); + + } + + table KEY_EXTRACT(%PROFILE){ + 1 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(49, 0), + BYTE9(49, 1), + BYTE10(49, 2), + BYTE11(49, 3); + 2 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(52, 0), + BYTE9(52, 1), + BYTE10(52, 2), + BYTE11(52, 3); + 3 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19); + 4 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(49, 0), + BYTE33(49, 1), + BYTE34(49, 2), + BYTE35(49, 3); + 5 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(52, 0), + BYTE33(52, 1), + BYTE34(52, 2), + BYTE35(52, 3); + 6 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39); + 7 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(32, 9), + BYTE9(52, 0), + BYTE10(52, 1), + BYTE11(52, 2), + BYTE12(52, 3); + 8 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(40, 6), + BYTE33(52, 0), + BYTE34(52, 1), + BYTE35(52, 2), + BYTE36(52, 3); + 0 : + BYTE0(255, 255), + BYTE1(255, 255); + + } + + table KEY_MASK (%MASK_SELECT){ + 1 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 2 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 3 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF); + 4 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF); + 5 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF); + 6 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF); + 7 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF); + 8 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF), + BYTE36('hFF); + 0 : + BYTE0('hFF), + BYTE1('hFF); + + } + + } +} + +block MOD { + + domain 0 { + + owner PROFILE_CFG 0..15 0; + owner FV_EXTRACT 0..15 0; + owner FIELD_MAP0_CFG 0..2047 0; + owner FIELD_MAP1_CFG 0..2047 0; + owner FIELD_MAP2_CFG 0..2047 0; + owner META_PROFILE_CFG 0..15 0; + + table PROFILE_CFG(%PROFILE){ + 1 : /* vxlan_encap*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}; + 6 : /* vxlan_encap_v6*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}; + 4 : /* vlan_push*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(9), INS(0,16,4)}; + 5 : /* vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 2 : /* vxlan_decap_outer_hdr*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}; + 3 : /* set_outer_mac*/ + EXTRACT(1), + GROUP{0}, + GROUP{PID(2), REP(6,0,0), REP_FLD_LU_2B(10,0,2,255), REP_FLD_LU_2B(8,0,1,255), REP_FLD_LU_2B(6,0,0,255)}; + + } + + table FV_EXTRACT(%EXTRACT){ + 0 : /* Default*/ + BYTE(255, 255); + 1 : /* set_outer_mac*/ + BYTE(228, 29), + BYTE(228, 28), + BYTE(228, 29), + BYTE(228, 28), + BYTE(228, 29), + BYTE(228, 28); + + } + + table FIELD_MAP0_CFG(%PROFILE){ + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + + table FIELD_MAP1_CFG(%PROFILE){ + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + + table FIELD_MAP2_CFG(%PROFILE){ + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + + table HASH_SPACE_CFG(%HASH_SPACE_ID){ + 0 : + BASE('h0); + 1 : + BASE('h200000); + + } + + set %CSUM_CONFIG_IPV4_0 IPV4_IN0; + set %CSUM_CONFIG_IPV4_1 IPV4_IN1; + set %CSUM_CONFIG_IPV4_2 IPV4_IN2; + set %CSUM_CONFIG_IPV6_0 IPV6_IN0; + set %CSUM_CONFIG_IPV6_1 IPV6_IN1; + set %CSUM_CONFIG_IPV6_2 IPV6_IN2; + set %CSUM_CONFIG_UDP_0 UDP_IN0; + set %CSUM_CONFIG_UDP_1 UDP_IN1; + set %CSUM_CONFIG_UDP_2 UDP_IN2; + set %CSUM_CONFIG_TCP_0 TCP; + set %CSUM_CONFIG_RAW_VLAN_EXT_0 VLAN_EXT_IN0; + set %CSUM_CONFIG_RAW_VLAN_EXT_1 VLAN_EXT_IN1; + set %CSUM_CONFIG_RAW_VLAN_EXT_2 VLAN_EXT_IN2; + set %CSUM_CONFIG_RAW_MAC_0 MAC_IN0; + set %CSUM_CONFIG_RAW_MAC_1 MAC_IN1; + set %CSUM_CONFIG_RAW_MAC_2 MAC_IN2; + set %CSUM_CONFIG_CRYPTO_START CRYPTO_START; + } +} + +block WLPG_PROFILES { + + domain 0 { + + owner WLPG_PROFILE 4096 0; + + direction RX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + + direction TX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + + table PTYPE_GROUP(%PTYPE){ + 255 : 255; + 1 : 1; + 11 : 11; + 23 : 23; + 24 : 24; + 26 : 26; + 58 : 58; + 287 : 287; + 60 : 60; + 61 : 61; + 63 : 63; + 33 : 33; + 34 : 34; + 35 : 35; + 59 : 59; + 288 : 288; + 70 : 70; + 71 : 71; + 72 : 72; + 80 : 80; + 81 : 81; + 82 : 82; + 90 : 90; + 91 : 91; + 92 : 92; + + } + + tcam GEN_MD1(%PTYPE, %FLAGS[15:0], %MD_DIGEST){ + 'b??_????_????, 'b????_????_????_???1, 'h?? : %MD4[239:232], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + 'b??_????_????, 'b????_????_????_???0, 'h?? : %MD4[239:232], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + + } + + tcam GEN_MD2(%GEN_MD1, %FLAGS[15:0], %PARSER_FLAGS[39:8], %PTYPE){ + 'h????_????, 'b????_????_????_???1, 'h????_????, 'b??_????_???? : + BASE('h0), + KEY(52), + KEY(54), + KEY(53), + KEY(51), + KEY(45), + KEY(44), + KEY(32); + 'h????_????, 'b????_????_????_???0, 'h????_????, 'b??_????_???? : + BASE('h0), + KEY(34), + KEY(54), + KEY(53), + KEY(51), + KEY(33), + KEY(45), + KEY(44), + KEY(32); + + } + + table WLPG_PROFILE(%PTYPE_GROUP, %VSI_GROUP, %GEN_MD2){ + 1, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 3, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 3, 25 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 3, 41 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 3, 57 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 1, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 1, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 1, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 2, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 2, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 2, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 2, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 1, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 1, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 1, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 1, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 11, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 23, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 24, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 26, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 33, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 34, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 35, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 59, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 60, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 61, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 63, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 70, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 71, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 72, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 80, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 81, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 82, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 90, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 91, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 92, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 287, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 3, 65 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 3, 81 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 3, 97 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 288, 3, 113 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(2); + 58, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 59, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 80, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 81, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 82, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 90, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 91, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 92, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 287, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 288, 3, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 3 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 11 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 19 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 27 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 35 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 43 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 51 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 59 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 67 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 75 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 83 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 91 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 99 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 107 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 115 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 0, 0, 123 : + LEM_PROF0(2), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + + } + + } +} + +block WCM { + + domain 0 { + + owner PROFILE_CFG0 0 0; + owner PROFILE_CFG1 0 0; + + table PROFILE_CFG0(%WCM_PROFILE0) { + 0 : + BYPASS(1); + + } + + table PROFILE_CFG1(%WCM_PROFILE1) { + 0 : + BYPASS(1); + + } + + } +} + +block RC { + + domain 0 { + + + } +} + +block PMC { +} + +block LPM { + + domain 0 { + + owner PROFILE_CFG 0..2 0; + owner KEY_EXTRACT 0..1023 0; + owner PROFILE_CFG 0 0; + + table PROFILE_CFG(%PROFILE){ + 1 : + KEY_SIZE('h8), + AUX_PREC('h1); + 2 : + KEY_SIZE('h14), + AUX_PREC('h1); + 0 : + KEY_SIZE('h0); + + } + + table KEY_EXTRACT(%PROFILE) { + 1 : + BYTE0(228, 22, 'hFF), + BYTE1(228, 23, 'hFF), + BYTE2(228, 24, 'hFF), + BYTE3(228, 25, 'hFF), + BYTE4(228, 0, 'hFF), + BYTE5(228, 1, 'hFF), + BYTE6(228, 2, 'hFF), + BYTE7(228, 3, 'hFF); + 2 : + BYTE0(228, 22, 'hFF), + BYTE1(228, 23, 'hFF), + BYTE2(228, 24, 'hFF), + BYTE3(228, 25, 'hFF), + BYTE4(228, 0, 'hFF), + BYTE5(228, 1, 'hFF), + BYTE6(228, 2, 'hFF), + BYTE7(228, 3, 'hFF), + BYTE8(228, 4, 'hFF), + BYTE9(228, 5, 'hFF), + BYTE10(228, 6, 'hFF), + BYTE11(228, 7, 'hFF), + BYTE12(228, 8, 'hFF), + BYTE13(228, 9, 'hFF), + BYTE14(228, 10, 'hFF), + BYTE15(228, 11, 'hFF), + BYTE16(228, 12, 'hFF), + BYTE17(228, 13, 'hFF), + BYTE18(228, 14, 'hFF), + BYTE19(228, 15, 'hFF); + + } + + table HASH_SPACE_CFG(%HASH_SPACE_ID){ + 0 : + BASE('h0); + + } + + } +} + +block MNG{ + + define KEY_EXTRACT { + MAC_DA(1, 0), + VLAN_TAG(16, 2), + ETHERTYPE(9, 0), + ARP_OPER(118, 6), + ARP_TPA(118, 24), + TCP_DPORT(49, 2), + UDP_DPORT(52, 2), + IPV4_DA(32, 16), + IPV6_DA(40, 24), + TCP_SPORT(49, 0), + UDP_SPORT(52, 0) + } +} + + +block PKB_MISC { + domain 0 { + set %IPV4_CSUM_IN0 32; + set %IPV4_CSUM_IN1 33; + set %IPV4_CSUM_IN2 34; + set %IPV6_CSUM_IN0 40; + set %IPV6_CSUM_IN1 41; + set %IPV6_CSUM_IN2 42; + set %UDP_CSUM_IN0 52; + set %UDP_CSUM_IN1 53; + set %UDP_CSUM_IN2 54; + set %TCP_CSUM_IN0 49; + set %IPV4_ICRC_IN0 32; + set %IPV6_ICRC_IN0 40; + set %UDP_ICRC_IN0 52; + set %PAY 15; + } +} + +block RSC_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + set %UDP_IN0 52; + set %UDP_IN1 53; + set %UDP_IN2 54; + set %TCP 49; + set %VLAN_EXT_IN0 16; + set %VLAN_EXT_IN1 17; + set %VLAN_EXT_IN2 18; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %PAY 15; + } +} + +block ICE_MISC { + domain 0 { + direction TX { + set %IP_0 32, IS_V4; + set %IP_1 33, IS_V4; + set %IP_2 34, IS_V4; + set %IP_3 40, IS_V6; + set %IP_4 41, IS_V6; + set %IP_5 42, IS_V6; + set %UDP_0 52; + set %UDP_1 53; + set %UDP_2 54; + set %NEXT_HDR_0 36; + set %NEXT_HDR_1 37; + set %NEXT_HDR_2 38; + set %CRYPTO_START 121; + } + } +} + +block RDMA_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + set %UDP_IN0 52; + set %TCP 49; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %VLAN_EXT_IN0 16; + set %VLAN_EXT_IN1 17; + set %PAY 15; + } +} + +block EVMOUT { + domain 0 { + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + } +} + +block SCTP_VAL_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + } +} +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/cpt_ver.s b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/cpt_ver.s new file mode 100644 index 000000000..33933268f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/cpt_ver.s @@ -0,0 +1,7 @@ +note "Intel(R) Configurable Pipeline Tool Version 3.7.0.18"; +note "Compatible with A0 and later HW"; +version 1.0.0.0; +name "Linux Networking demo pkg"; +segment IDPF_FXP { domain 0 { version 1.0.0.0; } } +segment IDPF_FXP { domain 0 { external_version 0 1.0.0.0; } } +segment IDPF_CXP { version 1.0.0.0; } diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.context.json b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.context.json new file mode 100644 index 000000000..ce8003369 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.context.json @@ -0,0 +1,3287 @@ +{ + "program_name": "rh_mvp", + "build_date": "Thu Oct 3 18:32:36 2024", + "compile_command": "/opt/p4-tools/p4c/bin/p4c-pna-xxp -I /opt/p4-tools/p4c/share/p4c/p4c_src/../idpf-lib --Wdisable --no-pedantic --top4 LiveVariableAnalysis --context rh_mvp.context.json --tdi rh_mvp.tdi.json -I /opt/p4-tools/p4c/share/p4c/p4include -I /opt/p4-tools/p4c/bin/../lib -I /opt/p4-tools/p4c/bin/../share/p4c/p4include -I /opt/p4-tools/p4c/bin/../share/p4c/idpf-lib --p4v=16 --p4runtime-files rh_mvp.p4info.txt --pkg-name RH MVP P4 Program pkg --pkg-version 1.0.73.29 -v -o ./rh_mvp_95b22d5c86e94df082d07cf9c81c3475.s rh_mvp.p4", + "compiler_version": "3.0.70.124", + "schema_version": "1.0.0", + "run_id": "124103183217", + "target": "MEV", + "global_configs": { + "hardware_blocks": [ + { + "name": "RC", + "rc_entry_space_cfg": { + "rc_num_banks": 8, + "rc_num_entries": 8192 + } + }, + { + "name": "MOD", + "hash_space_cfg": { + "base_128_entries": 0, + "base_256_entries": 2097152 + } + }, + { + "name": "SEM", + "obj_cache": [ + { + "object_id": 0, + "base_address": 0, + "entry_size": 64 + }, + { + "object_id": 1, + "base_address": 17104896, + "entry_size": 64 + }, + { + "object_id": 2, + "base_address": 34209792, + "entry_size": 32 + } + ] + } + ] + }, + "tables": [ + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 46866105, + "name": "rh_mvp_control.vlan_push_ctag_stag_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "meta.common.mod_blob_ptr", + "instance_name": "meta.common.mod_blob_ptr", + "field_name": "meta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "rh_mvp_control.mod_vlan_push_ctag_stag", + "handle": 29010669, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "ctag_id", + "bit_width": 12 + }, + { + "name": "pcp_s", + "bit_width": 3 + }, + { + "name": "dei_s", + "bit_width": 1 + }, + { + "name": "stag_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 4 + ], + "action_format": [ + { + "action_name": "rh_mvp_control.mod_vlan_push_ctag_stag", + "action_handle": 29010669, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "ctag_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + }, + { + "param_name": "pcp_s", + "param_handle": 3, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei_s", + "param_handle": 4, + "dest_start": 5, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "stag_id", + "param_handle": 5, + "dest_start": 6, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 4, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 136, + 168 + ] + }, + { + "name": "pcp_s", + "handle": 1, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei_s", + "handle": 2, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "stag_id", + "handle": 3, + "param_handle": 5, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + }, + { + "name": "type", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 5, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 6, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "ctag_id", + "handle": 7, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 38499371, + "name": "rh_mvp_control.vlan_push_stag_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "meta.common.mod_blob_ptr", + "instance_name": "meta.common.mod_blob_ptr", + "field_name": "meta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "rh_mvp_control.mod_vlan_push_stag", + "handle": 26916781, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "stag_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 6 + ], + "action_format": [ + { + "action_name": "rh_mvp_control.mod_vlan_push_stag", + "action_handle": 26916781, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "stag_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 6, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 136, + 168 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "stag_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 35843282, + "name": "rh_mvp_control.vlan_push_ctag_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "meta.common.mod_blob_ptr", + "instance_name": "meta.common.mod_blob_ptr", + "field_name": "meta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "rh_mvp_control.mod_vlan_push_ctag", + "handle": 19476925, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "rh_mvp_control.mod_vlan_push_ctag", + "action_handle": 19476925, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 5, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 44791827, + "name": "rh_mvp_control.vlan_pop_ctag_stag_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "meta.common.mod_blob_ptr", + "instance_name": "meta.common.mod_blob_ptr", + "field_name": "meta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "rh_mvp_control.mod_vlan_pop_ctag_stag", + "handle": 18029753, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 1 + ], + "action_format": [ + { + "action_name": "rh_mvp_control.mod_vlan_pop_ctag_stag", + "action_handle": 18029753, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 1, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 35281074, + "name": "rh_mvp_control.vlan_pop_stag_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "meta.common.mod_blob_ptr", + "instance_name": "meta.common.mod_blob_ptr", + "field_name": "meta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "rh_mvp_control.mod_vlan_pop_stag", + "handle": 24507408, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "rh_mvp_control.mod_vlan_pop_stag", + "action_handle": 24507408, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 3, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 37786634, + "name": "rh_mvp_control.vlan_pop_ctag_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "meta.common.mod_blob_ptr", + "instance_name": "meta.common.mod_blob_ptr", + "field_name": "meta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "rh_mvp_control.mod_vlan_pop_ctag", + "handle": 21476074, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 2 + ], + "action_format": [ + { + "action_name": "rh_mvp_control.mod_vlan_pop_ctag", + "action_handle": 21476074, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 2, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 49008230, + "name": "rh_mvp_control.phy_ingress_vlan_dmac_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "port_id", + "instance_name": "port_id", + "field_name": "port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "vid", + "instance_name": "vid", + "field_name": "vid", + "match_type": "exact", + "bit_width": 12, + "index": 1, + "position": 1 + }, + { + "name": "dmac", + "instance_name": "dmac", + "field_name": "dmac", + "match_type": "exact", + "bit_width": 48, + "index": 2, + "position": 3 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 16 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.vlan_pop_ctag", + "handle": 18255697, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 6 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.vlan_pop_ctag", + "action_handle": 18255697, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 2, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 21476074, + "p4_ref_table_handle": 37786634 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 2, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 38534218, + "name": "rh_mvp_control.phy_ingress_arp_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "port_id", + "instance_name": "port_id", + "field_name": "port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "vid", + "instance_name": "vid", + "field_name": "vid", + "match_type": "exact", + "bit_width": 12, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 2, + "actions": [ + { + "name": "rh_mvp_control.send_to_port_mux_stag", + "handle": 24572067, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.send_to_port_mux_stag", + "action_handle": 24572067, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 6, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 26916781, + "p4_ref_table_handle": 38499371 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 3, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 4, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 44032042, + "name": "rh_mvp_control.portmux_egress_resp_vsi_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vsi", + "instance_name": "vsi", + "field_name": "vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "bit32_zeros", + "instance_name": "bit32_zeros", + "field_name": "bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.vlan_pop_ctag_stag", + "handle": 29626876, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "rh_mvp_control.vlan_pop_stag", + "handle": 22775904, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 11 + ], + "sub_profile": 2, + "obj_id": 1, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.vlan_pop_ctag_stag", + "action_handle": 29626876, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 1, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 18029753, + "p4_ref_table_handle": 44791827 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "rh_mvp_control.vlan_pop_stag", + "action_handle": 22775904, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 24507408, + "p4_ref_table_handle": 35281074 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 43467074, + "name": "rh_mvp_control.portmux_egress_resp_dmac_vsi_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dmac", + "instance_name": "dmac", + "field_name": "dmac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "vsi", + "instance_name": "vsi", + "field_name": "vsi", + "match_type": "exact", + "bit_width": 11, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.vlan_pop_ctag_stag", + "handle": 29626876, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 11 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.vlan_pop_ctag_stag", + "action_handle": 29626876, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 1, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 18029753, + "p4_ref_table_handle": 44791827 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 45781513, + "name": "rh_mvp_control.portmux_egress_req_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vsi", + "instance_name": "vsi", + "field_name": "vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "vid", + "instance_name": "vid", + "field_name": "vid", + "match_type": "exact", + "bit_width": 12, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.vlan_pop_ctag_stag", + "handle": 29626876, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "rh_mvp_control.vlan_pop_stag", + "handle": 22775904, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.vlan_pop_ctag_stag", + "action_handle": 29626876, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 1, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 18029753, + "p4_ref_table_handle": 44791827 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "rh_mvp_control.vlan_pop_stag", + "action_handle": 22775904, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 24507408, + "p4_ref_table_handle": 35281074 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 45920889, + "name": "rh_mvp_control.portmux_ingress_loopback_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "bit32_zeros", + "instance_name": "bit32_zeros", + "field_name": "bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.fwd_to_port", + "handle": 22841159, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 9 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.fwd_to_port", + "action_handle": 22841159, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 5, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 6, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 43816880, + "name": "rh_mvp_control.vport_arp_egress_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vsi", + "instance_name": "vsi", + "field_name": "vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "bit32_zeros", + "instance_name": "bit32_zeros", + "field_name": "bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 2, + "actions": [ + { + "name": "rh_mvp_control.send_to_port_mux", + "handle": 24824497, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 7 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.send_to_port_mux", + "action_handle": 24824497, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 4, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 29010669, + "p4_ref_table_handle": 46866105 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 41286760, + "name": "rh_mvp_control.ingress_loopback_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vsi", + "instance_name": "vsi", + "field_name": "vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "target_vsi", + "instance_name": "target_vsi", + "field_name": "target_vsi", + "match_type": "exact", + "bit_width": 11, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 1, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.fwd_to_port", + "handle": 22841159, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 5 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.fwd_to_port", + "action_handle": 22841159, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 7, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 43924165, + "name": "rh_mvp_control.ingress_loopback_dmac_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dmac", + "instance_name": "dmac", + "field_name": "dmac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.fwd_to_port", + "handle": 22841159, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 5 + ], + "sub_profile": 2, + "obj_id": 1, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.fwd_to_port", + "action_handle": 22841159, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 9, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 10, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 41857485, + "name": "rh_mvp_control.vport_egress_vsi_table", + "size": 16384, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vsi", + "instance_name": "vsi", + "field_name": "vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "bit32_zeros", + "instance_name": "bit32_zeros", + "field_name": "bit32_zeros", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 2, + "actions": [ + { + "name": "rh_mvp_control.fwd_to_port", + "handle": 22841159, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "rh_mvp_control.vlan_push_ctag", + "handle": 32637686, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "mod_ptr", + "bit_width": 24 + }, + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "rh_mvp_control.l2_fwd_miss_action", + "handle": 30287134, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "sub_profile": 1, + "obj_id": 2, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.fwd_to_port", + "action_handle": 22841159, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "rh_mvp_control.vlan_push_ctag", + "action_handle": 32637686, + "immediate_fields": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "vport", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 5, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "mod_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 19476925, + "p4_ref_table_handle": 35843282 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "rh_mvp_control.l2_fwd_miss_action", + "action_handle": 30287134, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 50313088, + "name": "rh_mvp_control.vport_egress_dmac_vsi_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dmac", + "instance_name": "dmac", + "field_name": "dmac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "vsi", + "instance_name": "vsi", + "field_name": "vsi", + "match_type": "exact", + "bit_width": 11, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 2, + "actions": [ + { + "name": "rh_mvp_control.fwd_to_port", + "handle": 22841159, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.fwd_to_port", + "action_handle": 22841159, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 45925960, + "name": "rh_mvp_control.vport_egress_dmac_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "dmac", + "instance_name": "dmac", + "field_name": "dmac", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 2, + "actions": [ + { + "name": "rh_mvp_control.fwd_to_port", + "handle": 22841159, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vport", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "sub_profile": 2, + "obj_id": 2, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.fwd_to_port", + "action_handle": 22841159, + "immediate_fields": [ + { + "param_name": "vport", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "vport", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 39241585, + "name": "rh_mvp_control.comms_channel_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "meta.common.vsi", + "instance_name": "meta.common.vsi", + "field_name": "meta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.bit32_zeros[15:0]", + "instance_name": "user_meta.cmeta.bit32_zeros[15:0]", + "field_name": "user_meta.cmeta.bit32_zeros[15:0]", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "rh_mvp_control.l2_fwd", + "handle": 20250414, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 267264, + "action_format": [ + { + "action_name": "rh_mvp_control.l2_fwd", + "action_handle": 20250414, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 11, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.p4info.txt b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.p4info.txt new file mode 100644 index 000000000..08510286b --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.p4info.txt @@ -0,0 +1,826 @@ +pkg_info { + arch: "pna" +} +tables { + preamble { + id: 46866105 + name: "rh_mvp_control.vlan_push_ctag_stag_mod_table" + alias: "vlan_push_ctag_stag_mod_table" + } + match_fields { + id: 1 + name: "meta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 29010669 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 38499371 + name: "rh_mvp_control.vlan_push_stag_mod_table" + alias: "vlan_push_stag_mod_table" + } + match_fields { + id: 1 + name: "meta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 26916781 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 35843282 + name: "rh_mvp_control.vlan_push_ctag_mod_table" + alias: "vlan_push_ctag_mod_table" + } + match_fields { + id: 1 + name: "meta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 19476925 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 44791827 + name: "rh_mvp_control.vlan_pop_ctag_stag_mod_table" + alias: "vlan_pop_ctag_stag_mod_table" + } + match_fields { + id: 1 + name: "meta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 18029753 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 35281074 + name: "rh_mvp_control.vlan_pop_stag_mod_table" + alias: "vlan_pop_stag_mod_table" + } + match_fields { + id: 1 + name: "meta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 24507408 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 37786634 + name: "rh_mvp_control.vlan_pop_ctag_mod_table" + alias: "vlan_pop_ctag_mod_table" + } + match_fields { + id: 1 + name: "meta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 21476074 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 49008230 + name: "rh_mvp_control.phy_ingress_vlan_dmac_table" + alias: "phy_ingress_vlan_dmac_table" + } + match_fields { + id: 1 + name: "port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "vid" + bitwidth: 12 + match_type: EXACT + } + match_fields { + id: 3 + name: "dmac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 18255697 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 38534218 + name: "rh_mvp_control.phy_ingress_arp_table" + alias: "phy_ingress_arp_table" + } + match_fields { + id: 1 + name: "port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "vid" + bitwidth: 12 + match_type: EXACT + } + action_refs { + id: 24572067 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 44032042 + name: "rh_mvp_control.portmux_egress_resp_vsi_table" + alias: "portmux_egress_resp_vsi_table" + } + match_fields { + id: 1 + name: "vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 29626876 + } + action_refs { + id: 22775904 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 43467074 + name: "rh_mvp_control.portmux_egress_resp_dmac_vsi_table" + alias: "portmux_egress_resp_dmac_vsi_table" + } + match_fields { + id: 1 + name: "dmac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + match_fields { + id: 2 + name: "vsi" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 29626876 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 45781513 + name: "rh_mvp_control.portmux_egress_req_table" + alias: "portmux_egress_req_table" + } + match_fields { + id: 1 + name: "vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "vid" + bitwidth: 12 + match_type: EXACT + } + action_refs { + id: 29626876 + } + action_refs { + id: 22775904 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 45920889 + name: "rh_mvp_control.portmux_ingress_loopback_table" + alias: "portmux_ingress_loopback_table" + } + match_fields { + id: 2 + name: "bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 22841159 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 43816880 + name: "rh_mvp_control.vport_arp_egress_table" + alias: "vport_arp_egress_table" + } + match_fields { + id: 1 + name: "vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 24824497 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 41286760 + name: "rh_mvp_control.ingress_loopback_table" + alias: "ingress_loopback_table" + } + match_fields { + id: 1 + name: "vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "target_vsi" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 22841159 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 43924165 + name: "rh_mvp_control.ingress_loopback_dmac_table" + alias: "ingress_loopback_dmac_table" + } + match_fields { + id: 1 + name: "dmac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 22841159 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 41857485 + name: "rh_mvp_control.vport_egress_vsi_table" + alias: "vport_egress_vsi_table" + } + match_fields { + id: 1 + name: "vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit32_zeros" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 22841159 + } + action_refs { + id: 32637686 + } + action_refs { + id: 21257015 + } + action_refs { + id: 30287134 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 16384 +} +tables { + preamble { + id: 50313088 + name: "rh_mvp_control.vport_egress_dmac_vsi_table" + alias: "vport_egress_dmac_vsi_table" + } + match_fields { + id: 1 + name: "dmac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + match_fields { + id: 2 + name: "vsi" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 22841159 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 45925960 + name: "rh_mvp_control.vport_egress_dmac_table" + alias: "vport_egress_dmac_table" + } + match_fields { + id: 1 + name: "dmac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 22841159 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 39241585 + name: "rh_mvp_control.comms_channel_table" + alias: "comms_channel_table" + } + match_fields { + id: 1 + name: "meta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.bit32_zeros[15:0]" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 20250414 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +actions { + preamble { + id: 21257015 + name: "NoAction" + alias: "NoAction" + } +} +actions { + preamble { + id: 19683603 + name: "rh_mvp_control.no_modify" + alias: "no_modify" + } +} +actions { + preamble { + id: 20250414 + name: "rh_mvp_control.l2_fwd" + alias: "l2_fwd" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 30287134 + name: "rh_mvp_control.l2_fwd_miss_action" + alias: "l2_fwd_miss_action" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 22841159 + name: "rh_mvp_control.fwd_to_port" + alias: "fwd_to_port" + } + params { + id: 1 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 19476925 + name: "rh_mvp_control.mod_vlan_push_ctag" + alias: "mod_vlan_push_ctag" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 18029753 + name: "rh_mvp_control.mod_vlan_pop_ctag_stag" + alias: "mod_vlan_pop_ctag_stag" + } +} +actions { + preamble { + id: 24507408 + name: "rh_mvp_control.mod_vlan_pop_stag" + alias: "mod_vlan_pop_stag" + } +} +actions { + preamble { + id: 21476074 + name: "rh_mvp_control.mod_vlan_pop_ctag" + alias: "mod_vlan_pop_ctag" + } +} +actions { + preamble { + id: 29010669 + name: "rh_mvp_control.mod_vlan_push_ctag_stag" + alias: "mod_vlan_push_ctag_stag" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "ctag_id" + bitwidth: 12 + } + params { + id: 4 + name: "pcp_s" + bitwidth: 3 + } + params { + id: 5 + name: "dei_s" + bitwidth: 1 + } + params { + id: 6 + name: "stag_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 26916781 + name: "rh_mvp_control.mod_vlan_push_stag" + alias: "mod_vlan_push_stag" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "stag_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 29626876 + name: "rh_mvp_control.vlan_pop_ctag_stag" + alias: "vlan_pop_ctag_stag" + } + params { + id: 1 + name: "mod_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 22775904 + name: "rh_mvp_control.vlan_pop_stag" + alias: "vlan_pop_stag" + } + params { + id: 1 + name: "mod_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 18255697 + name: "rh_mvp_control.vlan_pop_ctag" + alias: "vlan_pop_ctag" + } + params { + id: 1 + name: "mod_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 32637686 + name: "rh_mvp_control.vlan_push_ctag" + alias: "vlan_push_ctag" + } + params { + id: 1 + name: "mod_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 24824497 + name: "rh_mvp_control.send_to_port_mux" + alias: "send_to_port_mux" + } + params { + id: 1 + name: "mod_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 24572067 + name: "rh_mvp_control.send_to_port_mux_stag" + alias: "send_to_port_mux_stag" + } + params { + id: 1 + name: "mod_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "vport" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +type_info { + new_types { + key: "PortId_t" + value { + translated_type { + uri: "p4.org/pna/v1/PortId_t" + sdn_bitwidth: 32 + } + } + } +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.pkg b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.pkg new file mode 100644 index 000000000..3d2ec2a26 Binary files /dev/null and b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.pkg differ diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.s b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.s new file mode 100644 index 000000000..0f4a8900f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.s @@ -0,0 +1,2772 @@ +/* p4c-pna-xxp version: 3.0.70.112 */ + +name "RH MVP P4 Program pkg"; +version 1.0.73.29; +segment IDPF_CXP { + version 1.0.73.29; + name "RH MVP P4 Program pkg"; +} + + +segment IDPF_FXP { + label REG 0 PMD_COMMON; + label REG 2 PMD_HOST_INFO_TX_BASE; + label REG 3 PMD_HOST_INFO_RX; + label REG 4 PMD_GENERIC_32; + label REG 5 PMD_FXP_INTERNAL; + label REG 6 PMD_MISC_INTERNAL; + label REG 7 PMD_HOST_INFO_TX_EXTENDED; + label REG 8 PMD_PARSE_PTRS_SHORT; + label REG 10 PMD_RDMARX; + label REG 12 PMD_PARSE_PTRS; + label REG 13 PMD_CONFIG; + label REG 16 PMD_DROP_INFO; + + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 16 VLAN_EXT_IN0; + label PROTOCOL_ID 17 VLAN_EXT_IN1; + label PROTOCOL_ID 18 VLAN_EXT_IN2; + label PROTOCOL_ID 19 VLAN_INT_IN0; + label PROTOCOL_ID 20 VLAN_INT_IN1; + label PROTOCOL_ID 21 VLAN_INT_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 49 TCP; + + block EVMIN { + set %AUTO_ADD_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_ADD_RX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_RX_TYPE3 %PMD_GENERIC_32; + + set %MD_SEL_RX_TYPE0 %PMD_COMMON; + set %MD_SEL_RX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_RX_TYPE2 %PMD_HOST_INFO_RX; + set %MD_SEL_RX_TYPE3 %PMD_MISC_INTERNAL; + set %MD_SEL_RX_TYPE4 %PMD_GENERIC_32; + + set %AUTO_ADD_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_TX_TYPE1 %PMD_DROP_INFO; + set %AUTO_ADD_TX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_TX_TYPE3 %PMD_MISC_INTERNAL; + set %AUTO_ADD_TX_TYPE4 %PMD_GENERIC_32; + set %AUTO_ADD_TX_TYPE5 %PMD_HOST_INFO_TX_BASE; + set %AUTO_ADD_TX_TYPE6 %PMD_HOST_INFO_TX_EXTENDED; + + set %MD_SEL_TX_TYPE0 %PMD_COMMON; + set %MD_SEL_TX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_TX_TYPE2 %PMD_HOST_INFO_TX_BASE; + set %MD_SEL_TX_TYPE3 %PMD_HOST_INFO_TX_EXTENDED; + set %MD_SEL_TX_TYPE4 %PMD_MISC_INTERNAL; + set %MD_SEL_TX_TYPE5 %PMD_GENERIC_32; + + set %AUTO_ADD_CFG_TYPE0 %PMD_FXP_INTERNAL; + + set %MD_SEL_CFG_TYPE0 %PMD_COMMON; + set %MD_SEL_CFG_TYPE1 %PMD_CONFIG; + set %MD_SEL_CFG_TYPE2 %PMD_FXP_INTERNAL; + } + + block EVMOUT { + set %AUTO_DEL_LAN_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LAN_RX_TYPE1 %PMD_RDMARX; + set %AUTO_DEL_LAN_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_LANP2P_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LANP2P_RX_TYPE1 %PMD_RDMARX; + + set %AUTO_DEL_RDMA_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_RECIRC_RX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_RX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_RECIRC_TX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_TX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_TX_TYPE1 %PMD_HOST_INFO_TX_EXTENDED; + + set %AUTO_DEL_CFG_TYPE0 %PMD_FXP_INTERNAL; + } + block SEM { + set %PAGE_SIZE 2MB; + } + block MOD { + set %PAGE_SIZE 2MB; + } + +} + + +segment IDPF_FXP { + + domain 0 { + name "RH MVP P4 Program pkg"; + } + domain 0 { + version 1.0.73.29; + external_version 0 1.0.73.29; + } + + label DOMAIN 0 GLOBAL; label PROTOCOL_ID 255 PROTO_ID_INVALID; + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 4 reserved4; + label PROTOCOL_ID 9 ETYPE_IN0; + label PROTOCOL_ID 10 ETYPE_IN1; + label PROTOCOL_ID 11 ETYPE_IN2; + label PROTOCOL_ID 15 PAY; + label PROTOCOL_ID 16 VLAN_EXT_IN0; + label PROTOCOL_ID 17 VLAN_EXT_IN1; + label PROTOCOL_ID 18 VLAN_EXT_IN2; + label PROTOCOL_ID 19 VLAN_INT_IN0; + label PROTOCOL_ID 20 VLAN_INT_IN1; + label PROTOCOL_ID 21 VLAN_INT_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 36 IP_NEXT_HDR_LAST_IN0; + label PROTOCOL_ID 37 IP_NEXT_HDR_LAST_IN1; + label PROTOCOL_ID 38 IP_NEXT_HDR_LAST_IN2; + label PROTOCOL_ID 49 TCP; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 118 ARP; + label PROTOCOL_ID 121 CRYPTO_START; + label PROTOCOL_ID 123 GTP; + label PROTOCOL_ID 125 VXLAN_IN1; + label PROTOCOL_ID 126 VXLAN_IN2; + label PROTOCOL_ID 127 VXLAN_IN0; + + label FLAG 2 PACKET_FLAG_2; + label FLAG 8 PACKET_FLAG_8; + label FLAG 9 PACKET_FLAG_9; + label FLAG 10 PACKET_FLAG_10; + label FLAG 11 PACKET_FLAG_11; + label FLAG 16 PACKET_FLAG_16; + label FLAG 17 PACKET_FLAG_17; + label FLAG 19 PACKET_FLAG_19; + label FLAG 23 PACKET_FLAG_23; + label FLAG 24 PACKET_FLAG_24; + label FLAG 25 PACKET_FLAG_25; + label FLAG 26 PACKET_FLAG_26; + label FLAG 27 PACKET_FLAG_27; + label FLAG 28 PACKET_FLAG_28; + label FLAG 29 PACKET_FLAG_29; + label FLAG 30 PACKET_FLAG_30; + label FLAG 32 PACKET_FLAG_32; + label FLAG 33 PACKET_FLAG_33; + label REG STATE[59:59] MARKER0; + label REG STATE[60:60] MARKER1; + label REG STATE[61:61] MARKER2; + label REG STATE[62:62] MARKER3; + label REG STATE[63:63] MARKER4; + label REG STATE[64:64] MARKER5; + label REG STATE[65:65] MARKER6; + + label PTYPE 1 PTYPE_MAC_PAY; + label PTYPE 11 PTYPE_MAC_ARP; + label PTYPE 12 PTYPE_MAC_VLAN_EXT_IN0; + label PTYPE 13 PTYPE_MAC_VLAN_EXT_IN0_UDP; + label PTYPE 14 PTYPE_MAC_VLAN_EXT_IN0_TCP; + label PTYPE 15 PTYPE_MAC_VLAN_ARP; + label PTYPE 23 PTYPE_MAC_IPV4_PAY; + label PTYPE 24 PTYPE_MAC_IPV4_UDP; + label PTYPE 26 PTYPE_MAC_IPV4_TCP; + label PTYPE 43 PTYPE_MAC_IPV4_TUN_PAY; + label PTYPE 50 PTYPE_MAC_IPV4_TUN_IPV4_PAY; + label PTYPE 52 PTYPE_MAC_IPV4_TUN_IPV4_UDP; + label PTYPE 53 PTYPE_MAC_IPV4_TUN_IPV4_TCP; + label PTYPE 56 PTYPE_MAC_VLAN_IPV4_TUN_MAC_IPV4_PAY; + label PTYPE 57 PTYPE_MAC_VLAN_IPV4_TUN_MAC_IPV4_UDP; + label PTYPE 58 PTYPE_MAC_IPV4_TUN_MAC_PAY; + label PTYPE 59 PTYPE_MAC_VLAN_IPV4_TUN_MAC_IPV4_TCP; + label PTYPE 60 PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY; + label PTYPE 61 PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP; + label PTYPE 63 PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP; + label PTYPE 287 PTYPE_MAC_IPV4_TUN_MAC_ARP; + label PTYPE 366 PTYPE_MAC_IPV4_TUN_MAC_IPV4_TUN_PAY; + label PTYPE 1022 PTYPE_REJECT; + + label REG STATE[7:0] S0; + label REG STATE[15:8] S1; + label REG STATE[23:16] S2; + label REG STATE[31:24] S3; + label REG STATE[39:32] S4; + label REG STATE[47:40] S5; + label REG STATE[55:48] S6; + label REG STATE[63:56] S7; + label REG STATE[58:56] NODEID; + label REG STATE[77:59] MARKERS; + label REG STATE[79:78] WAY_SEL; + label REG 31[7:0] NULL; + + label REG 31[7:0] UNUSED_INIT_KEY; + +block PARSER { + + + direction RX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + direction TX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + set %DEFAULT_PTYPE 255; + set %CSUM_CONFIG_IPV4_0 32; + set %CSUM_CONFIG_IPV4_1 33; + set %CSUM_CONFIG_IPV4_2 34; + set %CSUM_CONFIG_UDP_0 52; + set %CSUM_CONFIG_UDP_1 53; + set %CSUM_CONFIG_UDP_2 54; + set %CSUM_CONFIG_TCP_0 49; + set %PROTO_STACK_SIZE 28; + + tcam INIT_ID(%INIT_KEY0){ + 'h?? : 0; + } + + table METADATA_INIT(%INIT_ID){ + + 0 : FLAGS('b0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000), + STATE0(0), + STATE1(0), + STATE2(0), + STATE3(0), + STATE4(0), + STATE5(0), + STATE6(0), + STATE7(0), + STATE8(0), + STATE9(0), + HO(0), + W0(0), + W1(0), + W2(0); + } + + + tcam PTYPE(%ERROR, %MARKER6, %MARKER5, %MARKER4, %MARKER3, %MARKER2, %MARKER1, %MARKER0, %NODEID, %STATE[79:66]) { + 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 1, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 1, 'b??_0000_0000_0000 : PTYPE(2), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 1, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 1, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(3), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_EXT_IN0), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(4), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b1, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_IPV4_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(5), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_TUN_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 4, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_EXT_IN0_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b1, 'b1, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_IPV4_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 2, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_EXT_IN0_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b1, 'b1, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_VLAN_IPV4_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 3, 'b??_0000_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 7, 'b??_0000_0000_0000 : PTYPE(PTYPE_REJECT), + L3_IN0_CSUM(DISABLE), + L3_IN1_CSUM(DISABLE), + L3_IN2_CSUM(DISABLE), + L4_IN0_ASSOC(DISABLE), + L4_IN1_ASSOC(DISABLE), + L4_IN2_ASSOC(DISABLE); + } + + stage 0 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: start */ + set %W0_OFFSET 0; + set %W1_OFFSET 2; + set %WAY_SEL 0; + set %S6 2; + set %S5 127; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 1 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'hFFFF, 'h??, 2, 'h7F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Maybe_BC_Depth0 */ + set %W0_OFFSET 4; + set %S6 2; + set %S5 126; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_????_???1, 'h????, 'h??, 2, 'h7F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_MC_Depth0 */ + set %PACKET_FLAG_10 1; + set %S6 2; + set %S5 124; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 2 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'h????, 'h??, 2, 'h7E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_BC_Depth0 */ + set %PACKET_FLAG_11 1; + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 5; + set %S5 125; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 2, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Done_Depth0 */ + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, 200, 200, 200, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 5; + set %S5 125; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 3 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 5, 'h7D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_Depth0 */ + set %PACKET_FLAG_17 1; + set %MARKER4 1; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN0, VLAN_EXT_IN0, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN1, VLAN_EXT_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 5; + set %S5 122; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @1 { 'hA888, 'h????, 'h??, 5, 'h7D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_STag_Depth0 */ + set %PACKET_FLAG_16 1; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN0, VLAN_EXT_IN0, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN1, VLAN_EXT_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 5; + set %S5 122; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 4 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 5, 'h7A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_DoubleVLAN_Depth0 */ + set %PACKET_FLAG_19 1; + set %PROTO_SLOT_NEXT 0, VLAN_INT_IN0, VLAN_INT_IN1, VLAN_INT_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 4, ETYPE_IN0, ETYPE_IN1, ETYPE_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 43; + set %S5 120; + alu 0 { ADD %HO, 6; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 5, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth0 */ + set %PROTO_SLOT_NEXT 0, ETYPE_IN0, ETYPE_IN1, ETYPE_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 43; + set %S5 120; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 5 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 43, 'h78, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth0 */ + set %MARKER1 1; + set %W0_OFFSET 0; + set %S6 7; + set %S5 115; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h0608, 'h????, 'h??, 43, 'h78, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 8; + set %S5 118; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 6 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 7, 'h73, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_2 1; + set %S6 43; + set %S5 117; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 7, 'h73, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_2 1; + set %S6 43; + set %S5 117; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 7, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth0 */ + set %W0_OFFSET 6; + set %S6 12; + set %S5 113; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 7 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 12, 'h71, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 23; + set %S5 111; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 12, 'h71, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth0 */ + set %S6 12; + set %S5 109; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 8 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 23, 'h6F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0_delay */ + set %S6 13; + set %S5 63; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 23, 'h6F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %PACKET_FLAG_23 1; + set %W0_OFFSET 12; + set %S6 14; + set %S5 104; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 12, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 27; + set %S5 107; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 9 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 13, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 28; + set %S5 95; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 10 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hB512, 'h????, 'h??, 28, 'h5F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_VXLAN_Depth0 */ + set %PACKET_FLAG_32 0; + set %PACKET_FLAG_33 1; + set %MARKER5 1; + set %PROTO_SLOT_NEXT 0, VXLAN_IN0, VXLAN_IN1, VXLAN_IN2, PROTO_ID_INVALID; + set %S6 17; + set %S5 92; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @1 { 'h6808, 'h????, 'h??, 28, 'h5F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Depth0 */ + set %PACKET_FLAG_30 1; + set %MARKER6 1; + set %PROTO_SLOT_NEXT 0, GTP, GTP, GTP, PROTO_ID_INVALID; + set %MIN_BYTES 4; + set %W0_OFFSET 0; + set %S6 43; + set %S5 91; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 11 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 17, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Depth1 */ + set %MARKER0 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 19; + set %S5 69; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 12 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 19, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 43; + set %S5 68; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 13 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 43, 'h44, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 21; + set %S5 114; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h0608, 'h????, 'h??, 43, 'h44, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 8; + set %S5 118; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 14 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 21, 'h72, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_2 1; + set %S6 43; + set %S5 117; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 21, 'h72, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_2 1; + set %S6 43; + set %S5 117; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 21, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth1 */ + set %W0_OFFSET 6; + set %S6 24; + set %S5 112; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 15 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 24, 'h70, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 23; + set %S5 110; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 24, 'h70, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth1 */ + set %PACKET_FLAG_8 1; + set %S6 24; + set %S5 108; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 16 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 23, 'h6E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1_delay */ + set %S6 25; + set %S5 62; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 23, 'h6E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %PACKET_FLAG_23 1; + set %W0_OFFSET 12; + set %S6 14; + set %S5 104; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 23, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_delay */ + set %S6 43; + set %S5 65; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 24, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 27; + set %S5 106; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 17 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_00??_????, 'h????, 'h??, 14, 'h68, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_2 1; + set %S6 43; + set %S5 117; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??4?, 'h????, 'h??, 14, 'h68, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_2 1; + set %S6 43; + set %S5 117; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_??01_????_????, 'h????, 'h??, 14, 'h68, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN */ + set %PACKET_FLAG_24 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W1_OFFSET 2; + set %W2_OFFSET 12; + set %S6 29; + set %S5 103; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'b????_??10_????_????, 'h????, 'h??, 14, 'h68, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_SYN */ + set %PACKET_FLAG_26 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W1_OFFSET 2; + set %W2_OFFSET 12; + set %S6 29; + set %S5 103; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'b????_??11_????_????, 'h????, 'h??, 14, 'h68, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN_SYN */ + set %PACKET_FLAG_24 1; + set %PACKET_FLAG_26 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W1_OFFSET 2; + set %W2_OFFSET 12; + set %S6 29; + set %S5 103; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 14, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_No_FIN_SYN */ + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W1_OFFSET 2; + set %W2_OFFSET 12; + set %S6 29; + set %S5 103; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h????, 'h????, 'h??, 27, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IP_Frag */ + set %PACKET_FLAG_9 1; + set %S6 43; + set %S5 105; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @7 { 'h????, 'h????, 'h??, 25, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, UDP_IN0, UDP_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 28; + set %S5 94; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 18 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h6808, 'h????, 'h??, 28, 'h5E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Depth1 */ + set %PACKET_FLAG_30 1; + set %MARKER6 1; + set %PROTO_SLOT_NEXT 0, GTP, GTP, GTP, PROTO_ID_INVALID; + set %MIN_BYTES 4; + set %W0_OFFSET 0; + set %S6 43; + set %S5 79; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_???0_?1??, 'h????, 'h??, 29, 'h67, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST */ + set %PACKET_FLAG_25 1; + set %S6 33; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_????_???1_?0??, 'h????, 'h??, 29, 'h67, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_ACK */ + set %PACKET_FLAG_27 1; + set %S6 33; + set %S5 98; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'b????_????_???1_?1??, 'h????, 'h??, 29, 'h67, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST_ACK */ + set %PACKET_FLAG_25 1; + set %PACKET_FLAG_27 1; + set %S6 33; + set %S5 97; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h????, 'h6808, 'h??, 29, 'h67, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Depth0_delay */ + set %S6 36; + set %S5 61; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 29, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay_delay */ + set %S6 33; + set %S5 64; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @6 { 'h????, 'h????, 'h??, 28, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_PAY */ + set %NODEID 3; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 32; + set %S5 93; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 19 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b1111_1111_????_?000, 'h????, 'h??, 43, 'h4F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Check_IP_Ver_Depth1 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 88; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b1111_1111_????_?0??, 'h????, 'h??, 43, 'h4F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_Keep_Parsing_Depth1 */ + set %S6 39; + set %S5 78; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @2 { 'b1111_1111_????_?1??, 'h????, 'h??, 43, 'h4F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_Ext_Depth1 */ + set %W0_OFFSET 3; + set %W1_OFFSET 5; + set %S6 54; + set %S5 76; + alu 0 { ADD %HO, 3; } + alu 1 { NOP; } + } + + } + @3 { 'b????_????_????_?0?1, 'h????, 'h??, 43, 'h4F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_No_Ext_Depth0 */ + set %S6 43; + set %S5 90; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @4 { 'b????_????_????_?01?, 'h????, 'h??, 43, 'h4F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_No_Ext_Depth0 */ + set %S6 43; + set %S5 90; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @5 { 'b????_????_????_?1??, 'h????, 'h??, 43, 'h4F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_No_Ext_Depth0 */ + set %S6 43; + set %S5 90; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @6 { 'h????, 'h????, 'h??, 36, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Depth0 */ + set %PACKET_FLAG_30 1; + set %MARKER6 1; + set %PROTO_SLOT_NEXT 0, GTP, GTP, GTP, PROTO_ID_INVALID; + set %MIN_BYTES 4; + set %W0_OFFSET 0; + set %S6 43; + set %S5 91; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @7 { 'h????, 'h????, 'h??, 33, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay */ + set %NODEID 2; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 42; + set %S5 96; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 20 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??00, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_NextHdr_Depth1 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 81; + alu 0 { ADD %HO, 1; } + alu 1 { NOP; } + } + + } + @1 { 'h??03, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @2 { 'h??20, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'h??40, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'h??81, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h??82, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h??83, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @7 { 'h??84, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @8 { 'h??85, 'h??0?, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_PDU_SESSION_Type0_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 75; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @9 { 'h??85, 'h??1?, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_PDU_SESSION_Type1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @10 { 'h??C0, 'h????, 'h??, 54, 'h4C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth1 */ + set %W2_OFFSET 1; + set %S6 44; + set %S5 73; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @11 { 'b1111_1111_????_?000, 'h????, 'h??, 43, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Check_IP_Ver_Depth0 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 88; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @12 { 'b1111_1111_????_?0??, 'h????, 'h??, 43, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_Keep_Parsing_Depth0 */ + set %S6 47; + set %S5 89; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @13 { 'b1111_1111_????_?1??, 'h????, 'h??, 43, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_Ext_Depth0 */ + set %W0_OFFSET 3; + set %W1_OFFSET 5; + set %S6 54; + set %S5 87; + alu 0 { ADD %HO, 3; } + alu 1 { NOP; } + } + + } + @14 { 'b????_????_????_?0?1, 'h????, 'h??, 43, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_No_Ext_Depth0 */ + set %S6 43; + set %S5 90; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @15 { 'b????_????_????_?01?, 'h????, 'h??, 43, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_No_Ext_Depth0 */ + set %S6 43; + set %S5 90; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @16 { 'b????_????_????_?1??, 'h????, 'h??, 43, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Opt_No_Ext_Depth0 */ + set %S6 43; + set %S5 90; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @17 { 'h????, 'h????, 'h??, 39, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Check_IP_Ver_Depth1 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 88; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 21 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??00, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_NextHdr_Depth0 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 81; + alu 0 { ADD %HO, 1; } + alu 1 { NOP; } + } + + } + @1 { 'h??03, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @2 { 'h??20, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'h??40, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'h??81, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h??82, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h??83, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @7 { 'h??84, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @8 { 'h??85, 'h??0?, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_PDU_SESSION_Type0_Depth0 */ + set %PACKET_FLAG_28 1; + set %W2_OFFSET 1; + set %S6 50; + set %S5 86; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @9 { 'h??85, 'h??1?, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_PDU_SESSION_Type1_Depth0 */ + set %PACKET_FLAG_28 1; + set %PACKET_FLAG_29 1; + set %W2_OFFSET 1; + set %S6 50; + set %S5 85; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @10 { 'h??C0, 'h????, 'h??, 54, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_Depth0 */ + set %W2_OFFSET 1; + set %S6 50; + set %S5 84; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @11 { 'h????, 'h????, 'h??, 44, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_NextHdr_Depth1 */ + set %W0_OFFSET 0; + set %S6 54; + set %S5 72; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @12 { 'h????, 'h????, 'h??, 47, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Check_IP_Ver_Depth0 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 88; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 22 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??00, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_NextHdr_Depth1 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 81; + alu 0 { ADD %HO, 1; } + alu 1 { NOP; } + } + + } + @1 { 'h??03, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @2 { 'h??20, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'h??40, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'h??81, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h??82, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h??83, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @7 { 'h??84, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @8 { 'h??C0, 'h????, 'h??, 54, 'h48, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth1 */ + set %W2_OFFSET 1; + set %S6 53; + set %S5 71; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @9 { 'h????, 'h????, 'h??, 50, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext1_NextHdr_Depth0 */ + set %W0_OFFSET 0; + set %S6 54; + set %S5 83; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 23 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??00, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_NextHdr_Depth0 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 81; + alu 0 { ADD %HO, 1; } + alu 1 { NOP; } + } + + } + @1 { 'h??03, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @2 { 'h??20, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'h??40, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'h??81, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h??82, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h??83, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @7 { 'h??84, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @8 { 'h??C0, 'h????, 'h??, 54, 'h53, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_Depth0 */ + set %W2_OFFSET 1; + set %S6 55; + set %S5 82; + alu 0 { ADD %HO, (%W2 & 'hFF) << 2 + 0; } + alu 1 { NOP; } + } + + } + @9 { 'h????, 'h????, 'h??, 54, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_Ext_NotRecognized_Depth0 */ + set %S6 43; + set %S5 80; + alu 0 { ADD %HO, 1; } + alu 1 { NOP; } + } + + } + @10 { 'h????, 'h????, 'h??, 53, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_NextHdr_Depth1 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 81; + alu 0 { ADD %HO, 1; } + alu 1 { NOP; } + } + + } + + } + } + stage 24 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 55, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GTPU_ExtLast_NextHdr_Depth0 */ + set %W0_OFFSET 0; + set %S6 43; + set %S5 81; + alu 0 { ADD %HO, 1; } + alu 1 { NOP; } + } + + } + + } + } + stage 25 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 43, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY */ + set %NODEID 4; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 57; + set %S5 116; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: reject */ + set %NODEID 7; + set %MARKERS 0; + set %FLAG_DONE 1; + set %S5 66; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 26 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 27 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 28 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 29 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 30 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 31 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 32 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 33 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 34 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 35 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 36 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 37 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 38 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 39 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 40 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 41 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 42 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 43 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 44 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 45 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 46 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 47 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } +} + + +block SEM { + + domain GLOBAL { + + owner PROFILE_CFG 0..1023 GLOBAL; + owner PROFILE 12..250 GLOBAL; + owner OBJECT_CACHE_CFG 0..5 GLOBAL; + owner CACHE_BANK 0..5 GLOBAL; + owner PROFILE 4095..4095 GLOBAL; + owner PROFILE_CFG 0 GLOBAL; + + tcam MD_PRE_EXTRACT(%TX, %PTYPE) { + + 1, 'b??_????_???? : %MD4[103:96], %NULL, %NULL, %NULL; + 0, 'b??_????_???? : %MD4[103:96], %NULL, %NULL, %NULL; + } + + + tcam SEM_MD2(%MD_PRE_EXTRACT, %FLAGS[15:0], %PARSER_FLAGS[39:8]) { + 'h????_????, 16'b????_????_????_???1, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(3), KEY(2), KEY(8), KEY(48), KEY(9), KEY(45), KEY(44), KEY(33), KEY(32); + 'h????_????, 16'b????_????_????_???0, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(3), KEY(2), KEY(8), KEY(48), KEY(9), KEY(45), KEY(44), KEY(33), KEY(32); + + } + + table PTYPE_GROUP(%PTYPE) { + + 255 : 255, DROP(0); + 1 : 1, DROP(0); + 11 : 11, DROP(0); + 15 : 15, DROP(0); + 12 : 12, DROP(0); + 13 : 13, DROP(0); + 14 : 14, DROP(0); + 23 : 23, DROP(0); + 24 : 24, DROP(0); + 26 : 26, DROP(0); + 58 : 58, DROP(0); + 287 : 287, DROP(0); + 60 : 60, DROP(0); + 61 : 61, DROP(0); + 63 : 63, DROP(0); + 56 : 56, DROP(0); + 57 : 57, DROP(0); + 59 : 59, DROP(0); + 50 : 50, DROP(0); + 52 : 52, DROP(0); + 53 : 53, DROP(0); + 366 : 366, DROP(0); + 43 : 43, DROP(0); + } + + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %SEM_MD2, %PORT) { + + @12 { 'b??_????_????, 1, 'h????, 'b?? : 1; } + @13 { 12, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @14 { 13, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @15 { 14, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @16 { 23, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @17 { 24, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @18 { 26, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @19 { 43, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @20 { 56, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @21 { 57, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @22 { 59, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @23 { 60, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @24 { 61, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @25 { 63, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @26 { 366, 'b???_????_????, 'b????_????_?0?0_00?1, 'b?? : 4; } + @27 { 11, 'b???_????_????, 'b????_???1_?1?0_0001, 'b?? : 10; } + @28 { 15, 'b???_????_????, 'b????_???1_?1?0_0001, 'b?? : 10; } + @29 { 287, 'b???_????_????, 'b????_???1_?1?0_0001, 'b?? : 10; } + @30 { 11, 'b???_????_????, 'b????_????_11?0_0001, 'b?? : 10; } + @31 { 15, 'b???_????_????, 'b????_????_11?0_0001, 'b?? : 10; } + @32 { 287, 'b???_????_????, 'b????_????_11?0_0001, 'b?? : 10; } + @33 { 11, 'b???_????_????, 'b????_???0_01?0_0001, 'b?? : 11; } + @34 { 15, 'b???_????_????, 'b????_???0_01?0_0001, 'b?? : 11; } + @35 { 287, 'b???_????_????, 'b????_???0_01?0_0001, 'b?? : 11; } + @36 { 11, 'b???_????_????, 'b????_????_?0?0_0001, 'b?? : 7; } + @37 { 15, 'b???_????_????, 'b????_????_?0?0_0001, 'b?? : 7; } + @38 { 287, 'b???_????_????, 'b????_????_?0?0_0001, 'b?? : 7; } + @39 { 'b??_????_????, 'b???_????_????, 'b????_????_?0??_0010, 'b?? : 5; } + @40 { 'b??_????_????, 'b???_????_????, 'b????_????_?1??_0010, 'b?? : 9; } + @41 { 11, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 2; } + @42 { 15, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 2; } + @43 { 287, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 2; } + @44 { 12, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @45 { 13, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @46 { 14, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @47 { 23, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @48 { 24, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @49 { 26, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @50 { 43, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @51 { 56, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @52 { 57, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @53 { 59, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @54 { 60, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @55 { 61, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @56 { 63, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @57 { 366, 'b???_????_????, 'b????_????_???1_0000, 'b?? : 6; } + @4095 { 'b??_????_????, 'b???_????_????, 'h????, 'b?? : 0; } + } + + table OBJECT_CACHE_CFG(%OBJECT_ID) { + + 0 : BASE(0), ENTRY_SIZE(64), START_BANK(0), NUM_BANKS(2); + 1 : BASE(17104896), ENTRY_SIZE(64), START_BANK(2), NUM_BANKS(2); + 2 : BASE(34209792), ENTRY_SIZE(32), START_BANK(4), NUM_BANKS(1); + } + + table PROFILE_CFG(%PROFILE) { + + 1 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // comms_channel_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 2, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 4 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // vport_egress_dmac_vsi_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF), + WORD3 (224, 24, 'h7FF) + } + + } +, + // vport_egress_vsi_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 2, 'hFFFF), + WORD2 (228, 4, 'hFFFF) + } + + } +, + // vport_egress_dmac_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 10 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // portmux_egress_req_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (19, 2, 'hFF0F) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 11 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // portmux_egress_resp_dmac_vsi_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF), + WORD3 (224, 24, 'h7FF) + } + + } +, + // portmux_egress_resp_vsi_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 2, 'hFFFF), + WORD2 (228, 4, 'hFFFF) + } + + } +; + 7 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // vport_arp_egress_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 2, 'hFFFF), + WORD2 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 5 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // ingress_loopback_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (230, 2, 'hFFE) + } + + } +, + // ingress_loopback_dmac_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +; + 9 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // portmux_ingress_loopback_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (228, 2, 'hFFFF), + WORD1 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 2 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // phy_ingress_arp_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (16, 2, 'hFF0F) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 6 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(10), HASH_SIZE2(10), HASH_SIZE3(10), HASH_SIZE4(10), HASH_SIZE5(10), PINNED_LOOKUP(0), AGING_MODE(NONE), + // phy_ingress_vlan_dmac_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(604110855), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (16, 2, 'hFF0F), + WORD2 (1, 0, 'hFFFF), + WORD3 (1, 2, 'hFFFF), + WORD4 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 0 : SWID_SRC(0), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(1), HASH_SIZE1(1), HASH_SIZE2(1), HASH_SIZE3(1), HASH_SIZE4(1), HASH_SIZE5(1), PINNED_LOOKUP(0), AGING_MODE(NONE), + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + } + + } +} + +block LEM { + + domain GLOBAL { + + owner PROFILE_CFG 0 GLOBAL; + table PROFILE_CFG(%PROFILE) { + 0 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + LUT { + NUM_ACTIONS(0), + KEY_SIZE(0) + }; + + } + + } +} + +block HASH { + + domain GLOBAL { + + owner PROFILE 4095..4095 GLOBAL; + owner PROFILE_LUT_CFG 0 GLOBAL; + owner KEY_EXTRACT 0 GLOBAL; + owner KEY_MASK 0 GLOBAL; + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %MD_KEY) { + @4095 { 'b????, 'b????_?, 'h???? : 0; } + + } + table PROFILE_LUT_CFG(%PROFILE) { + 0 : + TYPE(QUEUE), + MASK_SELECT(0), + TC_OVR(0), + VSI_PROFILE_OVR(1); + + } + table KEY_EXTRACT(%PROFILE) { + 0 : + BYTE0(255, 255), + BYTE1(255, 255); + + } + table KEY_MASK(%MASK_SELECT) { + 0 : + BYTE0('hFF), + BYTE1('hFF); + + } + + } +} + +block MOD { + + domain GLOBAL { + + owner PROFILE_CFG 0..100 GLOBAL; + owner FV_EXTRACT 0..30 GLOBAL; + owner FIELD_MAP0_CFG 0..2047 GLOBAL; + owner FIELD_MAP1_CFG 0..2047 GLOBAL; + owner FIELD_MAP2_CFG 0..2047 GLOBAL; + owner META_PROFILE_CFG 0..15 GLOBAL; + table PROFILE_CFG(%PROFILE) { + 5 : /* mod_vlan_push_ctag*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(9), INS(0,16,4)}; + 1 : /* mod_vlan_pop_ctag_stag*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(19), NOP(), DEL(1)}, + GROUP{PID(9), NOP()}; + 3 : /* mod_vlan_pop_stag*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(19), NOP()}; + 2 : /* mod_vlan_pop_ctag*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 0 : /* mod_vlan_push_ctag_stag*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(9), INS(0,19,4), INS(0,16,4)}; + 6 : /* mod_vlan_push_stag*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(16), INS(0,19,4)}; + + } + table FV_EXTRACT(%EXTRACT) { + 0 : /* Default*/ + BYTE(255, 255); + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + 1 : + BASE('h200000); + + } + + set %CSUM_CONFIG_IPV4_0 IPV4_IN0; + set %CSUM_CONFIG_IPV4_1 IPV4_IN1; + set %CSUM_CONFIG_IPV4_2 IPV4_IN2; + set %CSUM_CONFIG_UDP_0 UDP_IN0; + set %CSUM_CONFIG_UDP_1 UDP_IN1; + set %CSUM_CONFIG_UDP_2 UDP_IN2; + set %CSUM_CONFIG_TCP_0 TCP; + set %CSUM_CONFIG_RAW_VLAN_EXT_0 VLAN_EXT_IN0; + set %CSUM_CONFIG_RAW_VLAN_EXT_1 VLAN_EXT_IN1; + set %CSUM_CONFIG_RAW_VLAN_EXT_2 VLAN_EXT_IN2; + set %CSUM_CONFIG_RAW_VLAN_INT_0 VLAN_INT_IN0; + set %CSUM_CONFIG_RAW_VLAN_INT_1 VLAN_INT_IN1; + set %CSUM_CONFIG_RAW_VLAN_INT_2 VLAN_INT_IN2; + set %CSUM_CONFIG_RAW_MAC_0 MAC_IN0; + set %CSUM_CONFIG_RAW_MAC_1 MAC_IN1; + set %CSUM_CONFIG_RAW_MAC_2 MAC_IN2; + set %GTP_PROTOCOL_ID GTP; + set %GTP_MSG_LEN_FLD_OFFSET 2; + set %CSUM_CONFIG_CRYPTO_START CRYPTO_START; + } +} + +block WLPG_PROFILES { + + domain GLOBAL { + + + direction RX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + + direction TX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + + } +} + +block WCM { + + domain GLOBAL { + + owner PROFILE_CFG0 0 GLOBAL; + owner PROFILE_CFG1 0 GLOBAL; + table PROFILE_CFG0(%WCM_PROFILE0) { + 0 : + BYPASS(1); + + } + table PROFILE_CFG1(%WCM_PROFILE1) { + 0 : + BYPASS(1); + + } + + } +} + +block RC { + + domain GLOBAL { + + + } +} + +block LPM { + + domain GLOBAL { + + owner PROFILE_CFG 0 GLOBAL; + table PROFILE_CFG(%PROFILE) { + 0 : + KEY_SIZE('h0); + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + + } + + } +} + +block MNG { + define KEY_EXTRACT { + MAC_DA(1, 0), + VLAN_TAG(16, 2), + ETHERTYPE(9, 0), + ARP_OPER(118, 6), + ARP_TPA(118, 24), + TCP_DPORT(49, 2), + UDP_DPORT(52, 2), + IPV4_DA(32, 16), + TCP_SPORT(49, 0), + UDP_SPORT(52, 0) + } +} + + +block PKB_MISC { + domain 0 { + set %IPV4_CSUM_IN0 32; + set %IPV4_CSUM_IN1 33; + set %IPV4_CSUM_IN2 34; + set %UDP_CSUM_IN0 52; + set %UDP_CSUM_IN1 53; + set %UDP_CSUM_IN2 54; + set %TCP_CSUM_IN0 49; + set %IPV4_ICRC_IN0 32; + set %UDP_ICRC_IN0 52; + set %PAY 15; + } +} + +block RSC_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %UDP_IN0 52; + set %UDP_IN1 53; + set %UDP_IN2 54; + set %TCP 49; + set %VLAN_EXT_IN0 16; + set %VLAN_EXT_IN1 17; + set %VLAN_EXT_IN2 18; + set %VLAN_INT_IN0 19; + set %VLAN_INT_IN1 20; + set %VLAN_INT_IN2 21; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %PAY 15; + } +} + +block ICE_MISC { + domain 0 { + direction TX { + set %IP_0 32, IS_V4; + set %IP_1 33, IS_V4; + set %IP_2 34, IS_V4; + set %UDP_0 52; + set %UDP_1 53; + set %UDP_2 54; + set %NEXT_HDR_0 36; + set %NEXT_HDR_1 37; + set %NEXT_HDR_2 38; + set %CRYPTO_START 121; + } + } +} + +block RDMA_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %UDP_IN0 52; + set %TCP 49; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %VLAN_INT_IN0 19; + set %VLAN_EXT_IN0 16; + set %VLAN_INT_IN1 20; + set %VLAN_EXT_IN1 17; + set %PAY 15; + } +} + +block EVMOUT { + domain 0 { + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + } +} + +block SCTP_VAL_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + } +} +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.tdi.json b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.tdi.json new file mode 100644 index 000000000..4137413e7 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/e2e/artefacts/p4-rh_mvp/rh_mvp.tdi.json @@ -0,0 +1,1672 @@ +{ + "schema_version" : "1.0.0", + "tables" : [ + { + "name" : "main.rh_mvp_control.vlan_push_ctag_stag_mod_table", + "id" : 46866105, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "meta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 29010669, + "name" : "rh_mvp_control.mod_vlan_push_ctag_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "ctag_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + }, + { + "id" : 4, + "name" : "pcp_s", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 5, + "name" : "dei_s", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 6, + "name" : "stag_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vlan_push_stag_mod_table", + "id" : 38499371, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "meta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 26916781, + "name" : "rh_mvp_control.mod_vlan_push_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "stag_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vlan_push_ctag_mod_table", + "id" : 35843282, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "meta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 19476925, + "name" : "rh_mvp_control.mod_vlan_push_ctag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vlan_pop_ctag_stag_mod_table", + "id" : 44791827, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "meta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 18029753, + "name" : "rh_mvp_control.mod_vlan_pop_ctag_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vlan_pop_stag_mod_table", + "id" : 35281074, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "meta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 24507408, + "name" : "rh_mvp_control.mod_vlan_pop_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vlan_pop_ctag_mod_table", + "id" : 37786634, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "meta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 21476074, + "name" : "rh_mvp_control.mod_vlan_pop_ctag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.phy_ingress_vlan_dmac_table", + "id" : 49008230, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "vid", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 12 + } + }, + { + "id" : 3, + "name" : "dmac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 18255697, + "name" : "rh_mvp_control.vlan_pop_ctag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.phy_ingress_arp_table", + "id" : 38534218, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "vid", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ], + "action_specs" : [ + { + "id" : 24572067, + "name" : "rh_mvp_control.send_to_port_mux_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.portmux_egress_resp_vsi_table", + "id" : 44032042, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 29626876, + "name" : "rh_mvp_control.vlan_pop_ctag_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 22775904, + "name" : "rh_mvp_control.vlan_pop_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.portmux_egress_resp_dmac_vsi_table", + "id" : 43467074, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dmac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + }, + { + "id" : 2, + "name" : "vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 29626876, + "name" : "rh_mvp_control.vlan_pop_ctag_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.portmux_egress_req_table", + "id" : 45781513, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "vid", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ], + "action_specs" : [ + { + "id" : 29626876, + "name" : "rh_mvp_control.vlan_pop_ctag_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 22775904, + "name" : "rh_mvp_control.vlan_pop_stag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.portmux_ingress_loopback_table", + "id" : 45920889, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 2, + "name" : "bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 22841159, + "name" : "rh_mvp_control.fwd_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vport_arp_egress_table", + "id" : 43816880, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 24824497, + "name" : "rh_mvp_control.send_to_port_mux", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.ingress_loopback_table", + "id" : 41286760, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "target_vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 22841159, + "name" : "rh_mvp_control.fwd_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.ingress_loopback_dmac_table", + "id" : 43924165, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dmac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 22841159, + "name" : "rh_mvp_control.fwd_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vport_egress_vsi_table", + "id" : 41857485, + "table_type" : "MatchAction_Direct", + "size" : 16384, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "bit32_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 22841159, + "name" : "rh_mvp_control.fwd_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 32637686, + "name" : "rh_mvp_control.vlan_push_ctag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "mod_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30287134, + "name" : "rh_mvp_control.l2_fwd_miss_action", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vport_egress_dmac_vsi_table", + "id" : 50313088, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dmac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + }, + { + "id" : 2, + "name" : "vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 22841159, + "name" : "rh_mvp_control.fwd_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.vport_egress_dmac_table", + "id" : 45925960, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "dmac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 22841159, + "name" : "rh_mvp_control.fwd_to_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vport", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.rh_mvp_control.comms_channel_table", + "id" : 39241585, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "meta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.bit32_zeros[15:0]", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 20250414, + "name" : "rh_mvp_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + } + ], + "learn_filters" : [] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/Makefile b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/Makefile new file mode 100644 index 000000000..448036ede --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/Makefile @@ -0,0 +1,93 @@ +# Copyright (c) 2023 Intel Corporation + +.PHONY: all fmt check-fmt vet build ipuplugin test update-mod ipuplugin-amd64 ipuplugin-arm64 +APP_NAME = ipuplugin +P4_NAME ?= fxp-net_linux-networking +P4_DIR ?= fxp-net_linux-networking +VERSION ?= 0.0.0 +IMAGE_NAME = intel-$(APP_NAME) +ifneq (, $(IMAGE_REGISTRY)) +IMAGE_TAG_BASE = $(IMAGE_REGISTRY)/$(IMAGE_NAME) +else +IMAGE_TAG_BASE = $(IMAGE_NAME) +endif +IMAGE_TAG_LATEST?=$(IMAGE_TAG_BASE):latest +IMAGE_TAG_VERSION=$(IMAGE_TAG_BASE):$(VERSION) +IMGTOOL ?= docker + +DOCKERFILE?=$(CURDIR)/images/Dockerfile +DOCKERARGS= +ifdef HTTP_PROXY + DOCKERARGS += --build-arg http_proxy=$(HTTP_PROXY) +endif +ifdef HTTPS_PROXY + DOCKERARGS += --build-arg https_proxy=$(HTTPS_PROXY) +endif +DOCKERARGS += --build-arg P4_NAME=$(P4_NAME) + +all: check-fmt lint update-mod build + +fmt: + go fmt ./... + +check-fmt: ## Check go formatting issues against code. + ./hack/cicd/check-go-fmt.sh + +vet: + go vet ./... + +LINTER = $$(go env GOPATH)/bin/golangci-lint +lint: golangci-lint + $(LINTER) run --timeout 2m0s + +build: ipuplugin-amd64 ipuplugin-arm64 + +update-mod: + go mod tidy + +ipuplugin-amd64: + env GOOS=linux GOARCH=amd64 go build -o ./bin/linux-amd64/ipuplugin ./ipuplugin/main.go + +ipuplugin-arm64: + env GOOS=linux GOARCH=arm64 go build -o ./bin/linux-arm64/ipuplugin ./ipuplugin/main.go + +test: + @go test -cover ./... + +image: + cp -r ../e2e/artefacts/$(P4_DIR) $(CURDIR) + mkdir -p $(CURDIR)/bin && cp -r ../e2e/artefacts/bin/* $(CURDIR)/bin/ + $(IMGTOOL) build -t $(IMAGE_TAG_VERSION) -f $(DOCKERFILE) $(CURDIR) $(DOCKERARGS) --no-cache + $(IMGTOOL) image tag $(IMAGE_TAG_VERSION) $(IMAGE_TAG_LATEST) + +PLATFORMS ?= linux/arm64,linux/amd64 +# https://stackoverflow.com/questions/73210141/running-buildkit-using-docker-buildx-behind-a-proxy +# docker buildx create --use --driver-opt env.http_proxy=$(HTTP_PROXY) --driver-opt env.https_proxy=$(HTTPS_PROXY) --driver-opt env.no_proxy=$(NO_PROXY) +# buildkit.toml file is a configuration file which allows to set registry configuration +imagex: ## Build and push docker image for the manager for cross-platform support + cp -r ../e2e/artefacts/$(P4_DIR) $(CURDIR) + mkdir -p $(CURDIR)/bin && cp -r ../e2e/artefacts/bin/* $(CURDIR)/bin/ + # copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile + sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' $(DOCKERFILE) > $(DOCKERFILE).cross + - $(IMGTOOL) buildx create --name image-builder --use --config=buildkit.toml --buildkitd-flags '--allow-insecure-entitlement security.insecure network.host' --driver-opt env.http_proxy=$(HTTP_PROXY) --driver-opt env.https_proxy=$(HTTPS_PROXY) --driver-opt '"env.no_proxy='$(NO_PROXY)'"' + - $(IMGTOOL) buildx use image-builder + - $(IMGTOOL) buildx build --allow security.insecure --push --platform=$(PLATFORMS) --tag ${IMAGE_TAG_VERSION} --tag ${IMAGE_TAG_LATEST} -f $(DOCKERFILE).cross $(CURDIR) $(DOCKERARGS) + - $(IMGTOOL) buildx rm image-builder + rm $(DOCKERFILE).cross + +clean: + @echo "Remove bin directory" + rm -rf ./bin + +# golangci-lint is not recommended to install via 'go get..' or 'go install..'. Ref: https://golangci-lint.run/usage/install/ +golangci-lint: ## Download golangci-lint locally if necessary. +ifeq (,$(wildcard $(LINTER))) +ifeq (,$(shell which golangci-lint 2>/dev/null)) + @{ \ + set -e ;\ + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell go env GOPATH)/bin; \ + } +else +LINTER = $(shell which golangci-lint) +endif +endif diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/README.md b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/README.md new file mode 100644 index 000000000..989e46c0c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/README.md @@ -0,0 +1,53 @@ +# IPU Plugin + +IPU plugin implements OPI API for OPI DPU Daemon to communicate for Pod interface attachment. + + +## Build +``` +make +``` + +After a successful build the binaries will be available in target platform specific directory: + +``` +# tree bin/ +bin/ +├── linux-amd64 +│ └── ipuplugin +└── linux-arm64 + └── ipuplugin + +``` + +## Run + +``` +./bin/linux-amd64/ipuplugin +``` + +## Configuration options +``` +./bin/linux-amd64/ipuplugin --help +IPU Manager is a daemon that exposes a CNI gRPC backend for SR-IOV networking offload to Intel MEV. + +Usage: + ipuplugin [flags] + +Flags: + --bridge string The bridge name that IPU manager will manage (default "br-tenant") + --bridgeType string The bridge type that IPU manager will manage (default "linux") + --config string config file (default is /etc/ipu/ipuplugin.yaml) + --daemonHostIp string Daemon address on host (default "192.168.1.1") + --daemonIpuIp string Daemon address on ipu (default "192.168.1.2") + --daemonPort int Daemon port port (default 50151) + -h, --help help for ipuplugin + --host string IPU Manager serving host (default "localhost") + --interface string The uplink network interface name + --logDir string IPU Manager log directory (default "/var/log/ipuplugin") + --ovsCliDir string The directory where the ovs-vsctl is located (default "/opt/p4/p4-cp-nws/bin") + --p4rtbin string The directory where the p4rt-ctl binary is located (default "/opt/p4/p4-cp-nws/bin/p4rt-ctl") + --port int IPU Manager serving TCP port (default 50152) + --portMuxVsi int The port mux VSI number. This must be for the same interface from --interface flags (default 10) + -v, --verbosity string Log level (debug, info, warn, error, fatal, panic (default "info") +``` \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/buildkit.toml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/buildkit.toml new file mode 100644 index 000000000..4226e840f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/buildkit.toml @@ -0,0 +1,2 @@ +[registry."localhost:5000"] + http = true diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.context.json b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.context.json new file mode 100644 index 000000000..de2831494 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.context.json @@ -0,0 +1,13877 @@ +{ + "program_name": "fxp-net_linux-networking", + "build_date": "Mon Nov 4 22:13:20 2024", + "compile_command": "/opt/p4-tools/p4c/bin/p4c-pna-xxp -I /opt/p4-tools/p4c/share/p4c/p4c_src/../idpf-lib --Wdisable --no-pedantic --top4 LiveVariableAnalysis --context fxp-net_linux-networking.context.json --tdi fxp-net_linux-networking.tdi.json -I /opt/p4-tools/p4c/share/p4c/p4include -I /opt/p4-tools/p4c/bin/../lib -I /opt/p4-tools/p4c/bin/../share/p4c/p4include -I /opt/p4-tools/p4c/bin/../share/p4c/idpf-lib --p4v=16 --p4runtime-files fxp-net_linux-networking.p4info.txt --pkg-name linux_networking --pkg-version 1.0.73.29 -v -o ./fxp-net_linux-networking_da46405215bc427e884de0ff497c6e7b.s fxp-net_linux-networking.p4", + "compiler_version": "3.0.70.124", + "schema_version": "1.0.0", + "run_id": "124114221011", + "target": "MEV", + "global_configs": { + "hardware_blocks": [ + { + "name": "RC", + "rc_entry_space_cfg": { + "rc_num_banks": 8, + "rc_num_entries": 8192 + } + }, + { + "name": "CXP_LEM", + "hash_space_cfg": [ + { + "hash_space_id": 0, + "base_address": 0 + }, + { + "hash_space_id": 1, + "base_address": 147456 + } + ] + }, + { + "name": "LEM", + "hash_space_cfg": [ + { + "hash_space_id": 0, + "base_address": 0 + }, + { + "hash_space_id": 1, + "base_address": 0 + } + ] + }, + { + "name": "MOD", + "hash_space_cfg": { + "base_128_entries": 0, + "base_256_entries": 4194304 + } + }, + { + "name": "SEM", + "obj_cache": [ + { + "object_id": 0, + "base_address": 0, + "entry_size": 32 + }, + { + "object_id": 1, + "base_address": 10424320, + "entry_size": 64 + }, + { + "object_id": 2, + "base_address": 31272960, + "entry_size": 64 + } + ] + } + ], + "count_mode": 60 + }, + "tables": [ + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 48773578, + "name": "MainControlDecrypt.lem_exception", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "CXP_LEM", + "id": 12, + "hw_interface": "ConfigQueue", + "profile": [ + 0 + ], + "hash_size": 12, + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 38116127, + "name": "MainControlDecrypt.lem_clear", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "CXP_LEM", + "id": 12, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "hash_size": 12, + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 45068641, + "name": "MainControlDecrypt.ipsec_rx_sa_classification_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.esp.spi", + "instance_name": "hdrs.esp", + "field_name": "spi", + "match_type": "exact", + "bit_width": 32, + "index": 2, + "position": 8 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 30285547, + "actions": [ + { + "name": "MainControlDecrypt.ipsec_decrypt", + "handle": 33177492, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "saidx", + "bit_width": 24 + } + ] + }, + { + "name": "MainControlDecrypt.ipsec_bypass", + "handle": 30285547, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "CXP_LEM", + "id": 12, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "MainControlDecrypt.ipsec_decrypt", + "action_handle": 33177492, + "immediate_fields": [ + { + "param_name": "saidx", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 0, + "offset": 15 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 8, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 0, + "offset": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 3, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + }, + { + "action_name": "MainControlDecrypt.ipsec_bypass", + "action_handle": 30285547, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "MainControlDecrypt.ipsec_bypass", + "action_handle": 30285547, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 42605135, + "name": "linux_networking_control.rif_mod_table_start", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id0", + "instance_name": "rif_mod_map_id0", + "field_name": "rif_mod_map_id0", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_start", + "handle": 23093409, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3, + 16, + 18 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_start", + "action_handle": 23093409, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 0, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 43970557, + "name": "linux_networking_control.rif_mod_table_mid", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id1", + "instance_name": "rif_mod_map_id1", + "field_name": "rif_mod_map_id1", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_mid", + "handle": 30315892, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3, + 16, + 18 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_mid", + "action_handle": 30315892, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 1, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 47499906, + "name": "linux_networking_control.rif_mod_table_last", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "rif_mod_map_id2", + "instance_name": "rif_mod_map_id2", + "field_name": "rif_mod_map_id2", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_src_mac_last", + "handle": 32740970, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "arg", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "MMIO", + "hw_resource": "MOD_LUT", + "hw_resource_id": 2, + "profile": [ + 3, + 16, + 18 + ], + "action_format": [ + { + "action_name": "linux_networking_control.set_src_mac_last", + "action_handle": 32740970, + "immediate_fields": [ + { + "param_name": "arg", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "mod_content_format": { + "mod_lut_num": 2, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "arg", + "handle": 0, + "param_handle": 0, + "type": "parameter", + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 48081556, + "name": "linux_networking_control.always_trap_arp_table", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 19361592, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.do_trap_enable", + "handle": 19361592, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 16 + ], + "sub_profile": 1, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.do_trap_enable", + "action_handle": 19361592, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_trap_enable", + "action_handle": 19361592, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 47372228, + "name": "linux_networking_control.always_recirculate_table", + "size": 0, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.inval.data", + "instance_name": "hdrs.inval", + "field_name": "data", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 15 + ], + "sub_profile": 1, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40312237, + "name": "linux_networking_control.vlan_push_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vlan_push", + "handle": 24137163, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 4 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vlan_push", + "action_handle": 24137163, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 4, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 38884256, + "name": "linux_networking_control.vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vlan_pop", + "handle": 25667542, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vlan_pop", + "action_handle": 25667542, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 5, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40763773, + "name": "linux_networking_control.vxlan_encap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap", + "handle": 20733968, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 1 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap", + "action_handle": 20733968, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 1, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 28, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 39675860, + "name": "linux_networking_control.vxlan_encap_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap_vlan_pop", + "handle": 26114242, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 8 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap_vlan_pop", + "action_handle": 26114242, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 8, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 28, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 46225003, + "name": "linux_networking_control.vxlan_encap_v6_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap_v6", + "handle": 30345128, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 6 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap_v6", + "action_handle": 30345128, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 6, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 20, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 34318005, + "name": "linux_networking_control.vxlan_encap_v6_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_encap_v6_vlan_pop", + "handle": 28284062, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 9 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_encap_v6_vlan_pop", + "action_handle": 28284062, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 9, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "reserved_1", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 0 + ] + }, + { + "name": "instance", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 4, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "reserved_2", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 5, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "reserved_3", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 24, + "value": [ + 0, + 0, + 0 + ] + }, + { + "name": "vni", + "handle": 20, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_4", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 40980035, + "name": "linux_networking_control.vxlan_decap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_decap_outer_hdr", + "handle": 28308555, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 2 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_decap_outer_hdr", + "action_handle": 28308555, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 2, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 37624107, + "name": "linux_networking_control.vxlan_decap_and_push_vlan_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vxlan_decap_and_push_vlan", + "handle": 31953264, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 7 + ], + "action_format": [ + { + "action_name": "linux_networking_control.vxlan_decap_and_push_vlan", + "action_handle": 31953264, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 7, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 41319073, + "name": "linux_networking_control.geneve_encap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap", + "handle": 25818889, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 10 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap", + "action_handle": 25818889, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 10, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 28, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 44, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 30, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 31, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 47977422, + "name": "linux_networking_control.geneve_encap_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap_vlan_pop", + "handle": 26665268, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 32 + }, + { + "name": "dst_addr", + "bit_width": 32 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 12 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap_vlan_pop", + "action_handle": 26665268, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "src_port", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 3, + "dest_start": 10, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 4, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 12, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 8, + 0 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 13, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "protocol", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 23, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "csum", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 24, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "src_addr", + "handle": 18, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 26, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "dst_addr", + "handle": 19, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 30, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "src_port", + "handle": 20, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 21, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 36, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 22, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 40, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 24, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 25, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 42, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 26, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 27, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 28, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 43, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 29, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 44, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 30, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 46, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 31, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 49, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 42283616, + "name": "linux_networking_control.geneve_encap_v6_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap_v6", + "handle": 29610186, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 11 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap_v6", + "action_handle": 29610186, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 11, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 20, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 64, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 22, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 47370391, + "name": "linux_networking_control.geneve_encap_v6_vlan_pop_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_encap_v6_vlan_pop", + "handle": 27347188, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "src_addr", + "bit_width": 128 + }, + { + "name": "dst_addr", + "bit_width": 128 + }, + { + "name": "ds", + "bit_width": 6 + }, + { + "name": "ecn", + "bit_width": 2 + }, + { + "name": "flow_label", + "bit_width": 20 + }, + { + "name": "hop_limit", + "bit_width": 8 + }, + { + "name": "src_port", + "bit_width": 16 + }, + { + "name": "dst_port", + "bit_width": 16 + }, + { + "name": "vni", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 13 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_encap_v6_vlan_pop", + "action_handle": 27347188, + "immediate_fields": [ + { + "param_name": "src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "dst_addr", + "param_handle": 1, + "dest_start": 16, + "start_bit_offset": 0, + "dest_width": 128 + }, + { + "param_name": "ds", + "param_handle": 2, + "dest_start": 32, + "start_bit_offset": 0, + "dest_width": 6 + }, + { + "param_name": "ecn", + "param_handle": 3, + "dest_start": 33, + "start_bit_offset": 0, + "dest_width": 2 + }, + { + "param_name": "flow_label", + "param_handle": 4, + "dest_start": 34, + "start_bit_offset": 0, + "dest_width": 20 + }, + { + "param_name": "hop_limit", + "param_handle": 5, + "dest_start": 37, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "src_port", + "param_handle": 6, + "dest_start": 38, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dst_port", + "param_handle": 7, + "dest_start": 40, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "vni", + "param_handle": 8, + "dest_start": 42, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "mod_content_format": { + "mod_profile": 13, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "da", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "sa", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "type", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 134, + 221 + ] + }, + { + "name": "version", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 6 + ] + }, + { + "name": "ds", + "handle": 4, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 14, + "start_bit_offset": 4, + "bit_width": 6, + "value": [] + }, + { + "name": "ecn", + "handle": 5, + "param_handle": 3, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 2, + "bit_width": 2, + "value": [] + }, + { + "name": "flow_label", + "handle": 6, + "param_handle": 4, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 15, + "start_bit_offset": 4, + "bit_width": 20, + "value": [] + }, + { + "name": "pay_length", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 18, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "next_header", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 20, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 17 + ] + }, + { + "name": "hop_limit", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 21, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "src_addr", + "handle": 10, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 22, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "dst_addr", + "handle": 11, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 38, + "start_bit_offset": 0, + "bit_width": 128, + "value": [] + }, + { + "name": "src_port", + "handle": 12, + "param_handle": 6, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 54, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "dst_port", + "handle": 13, + "param_handle": 7, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 56, + "start_bit_offset": 0, + "bit_width": 16, + "value": [] + }, + { + "name": "length", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 58, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "csum", + "handle": 15, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 60, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "version", + "handle": 16, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 0, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "opt_length", + "handle": 17, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 62, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "oam", + "handle": 18, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "crit", + "handle": 19, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "reserved_0", + "handle": 20, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 63, + "start_bit_offset": 2, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "protocol", + "handle": 21, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 64, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 101, + 88 + ] + }, + { + "name": "vni", + "handle": 22, + "param_handle": 8, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 66, + "start_bit_offset": 0, + "bit_width": 24, + "value": [] + }, + { + "name": "reserved_1", + "handle": 23, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 69, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 0 + ] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 34173274, + "name": "linux_networking_control.geneve_decap_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_decap_outer_hdr", + "handle": 27842378, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 14 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_decap_outer_hdr", + "action_handle": 27842378, + "immediate_fields": [], + "mod_content_format": { + "mod_profile": 14, + "mod_obj_size": 1 + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 34525815, + "name": "linux_networking_control.geneve_decap_and_push_vlan_mod_table", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.geneve_decap_and_push_vlan", + "handle": 25073902, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "pcp", + "bit_width": 3 + }, + { + "name": "dei", + "bit_width": 1 + }, + { + "name": "vlan_id", + "bit_width": 12 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 15 + ], + "action_format": [ + { + "action_name": "linux_networking_control.geneve_decap_and_push_vlan", + "action_handle": 25073902, + "immediate_fields": [ + { + "param_name": "pcp", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 3 + }, + { + "param_name": "dei", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 1 + }, + { + "param_name": "vlan_id", + "param_handle": 2, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 12 + } + ], + "mod_content_format": { + "mod_profile": 15, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "type", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 129, + 0 + ] + }, + { + "name": "pcp", + "handle": 1, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 3, + "value": [] + }, + { + "name": "dei", + "handle": 2, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 3, + "bit_width": 1, + "value": [] + }, + { + "name": "vlan_id", + "handle": 3, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 12, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 47484925, + "name": "linux_networking_control.ipv4_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21790705, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "handle": 31163719, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "handle": 25342798, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_hdr", + "handle": 26749366, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "handle": 31208923, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.trap_enable", + "handle": 21790705, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "sub_profile": 1, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_handle": 31163719, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 2, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28308555, + "p4_ref_table_handle": 40980035 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_handle": 25342798, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 7, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 31953264, + "p4_ref_table_handle": 37624107 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_hdr", + "action_handle": 26749366, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 14, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 27842378, + "p4_ref_table_handle": 34173274 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_handle": 31208923, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 15, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25073902, + "p4_ref_table_handle": 34525815 + } + ] + }, + { + "action_name": "linux_networking_control.trap_enable", + "action_handle": 21790705, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.trap_enable", + "action_handle": 21790705, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 34601307, + "name": "linux_networking_control.ipv6_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_src", + "instance_name": "ipv6_src", + "field_name": "ipv6_src", + "match_type": "exact", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 16 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "handle": 31163719, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "handle": 25342798, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_hdr", + "handle": 26749366, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "handle": 31208923, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "sub_profile": 2, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_handle": 31163719, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 2, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28308555, + "p4_ref_table_handle": 40980035 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_handle": 25342798, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 7, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 31953264, + "p4_ref_table_handle": 37624107 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_hdr", + "action_handle": 26749366, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 14, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 27842378, + "p4_ref_table_handle": 34173274 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_handle": 31208923, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 15, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25073902, + "p4_ref_table_handle": 34525815 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 44842501, + "name": "linux_networking_control.l2_fwd_rx_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.pmeta.bridge_id", + "instance_name": "user_meta.pmeta.bridge_id", + "field_name": "user_meta.pmeta.bridge_id", + "match_type": "exact", + "bit_width": 8, + "index": 0, + "position": 0 + }, + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 21283156, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.l2_fwd_lag_and_recirculate", + "handle": 21862855, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "lag_group_id", + "bit_width": 8 + } + ] + }, + { + "name": "linux_networking_control.fwd_to_cp", + "handle": 21283156, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 3, + "setmd_type": "QUEUE", + "setmd_action_code": "SET_16b", + "value": 0, + "type_id": 0, + "offset": 9 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "setmd_type": "QUEUE", + "setmd_action_code": "SET_8b_AUX", + "value": 0, + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 2, + "type_id": 0, + "offset": 20 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 1, + "setmd_type": "FUNCTION", + "setmd_action_code": "SET_8b_AUX", + "value": 0, + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 1, + "type_id": 0, + "offset": 21 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 1, + "encoding_port": "VSI", + "index": 0, + "setmd_type": "FUNCTION", + "setmd_action_code": "SET_16b", + "value": 0, + "type_id": 0, + "offset": 11 + } + ] + }, + { + "action_name": "linux_networking_control.l2_fwd_lag_and_recirculate", + "action_handle": 21862855, + "immediate_fields": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 40240205, + "name": "linux_networking_control.l2_fwd_tx_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.pmeta.bridge_id", + "instance_name": "user_meta.pmeta.bridge_id", + "field_name": "user_meta.pmeta.bridge_id", + "match_type": "exact", + "bit_width": 8, + "index": 0, + "position": 0 + }, + { + "name": "dst_mac", + "instance_name": "dst_mac", + "field_name": "dst_mac", + "match_type": "exact", + "bit_width": 48, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 20441854, + "actions": [ + { + "name": "linux_networking_control.l2_fwd", + "handle": 19169916, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.l2_fwd_lag", + "handle": 24440746, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "lag_group_id", + "bit_width": 8 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_underlay_v4", + "handle": 26412051, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_vxlan_underlay_v6", + "handle": 19193142, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v4", + "handle": 31983357, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v6", + "handle": 23849990, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_underlay_v4", + "handle": 23736116, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.set_geneve_underlay_v6", + "handle": 17483375, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_geneve_underlay_v4", + "handle": 24842266, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.pop_vlan_set_geneve_underlay_v6", + "handle": 33478945, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 20 + } + ] + }, + { + "name": "linux_networking_control.add_vlan_and_fwd", + "handle": 24108243, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vlan_ptr", + "bit_width": 24 + }, + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.remove_vlan_and_fwd", + "handle": 25690116, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "vlan_ptr", + "bit_width": 24 + }, + { + "name": "port_id", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.fwd_to_cp_tx", + "handle": 20441854, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd", + "action_handle": 19169916, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 2, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 2, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 2, + "encoding_port": "VSI", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 3, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.l2_fwd_lag", + "action_handle": 24440746, + "immediate_fields": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_underlay_v4", + "action_handle": 26412051, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 1, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 20733968, + "p4_ref_table_handle": 40763773 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_vxlan_underlay_v6", + "action_handle": 19193142, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 6, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 30345128, + "p4_ref_table_handle": 46225003 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v4", + "action_handle": 31983357, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 8, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 26114242, + "p4_ref_table_handle": 39675860 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_vxlan_underlay_v6", + "action_handle": 23849990, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 9, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 28284062, + "p4_ref_table_handle": 34318005 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_underlay_v4", + "action_handle": 23736116, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 10, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25818889, + "p4_ref_table_handle": 41319073 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.set_geneve_underlay_v6", + "action_handle": 17483375, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 11, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 29610186, + "p4_ref_table_handle": 42283616 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_geneve_underlay_v4", + "action_handle": 24842266, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 12, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 26665268, + "p4_ref_table_handle": 47977422 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.pop_vlan_set_geneve_underlay_v6", + "action_handle": 33478945, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 20 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 13, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 20, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 27347188, + "p4_ref_table_handle": 47370391 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.add_vlan_and_fwd", + "action_handle": 24108243, + "immediate_fields": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "port_id", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 4, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 24137163, + "p4_ref_table_handle": 40312237 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 4, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 4, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 4, + "encoding_port": "VSI", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 5, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.remove_vlan_and_fwd", + "action_handle": 25690116, + "immediate_fields": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + }, + { + "param_name": "port_id", + "param_handle": 1, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 5, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "vlan_ptr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 25667542, + "p4_ref_table_handle": 38884256 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 6, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 6, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 6, + "encoding_port": "VSI", + "index": 3, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 7, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "port_id", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + } + ] + }, + { + "action_name": "linux_networking_control.fwd_to_cp_tx", + "action_handle": 20441854, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_cp_tx", + "action_handle": 20441854, + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 4, + "pool_id": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 37894008, + "name": "linux_networking_control.nexthop_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.nexthop_id", + "instance_name": "user_meta.cmeta.nexthop_id", + "field_name": "user_meta.cmeta.nexthop_id", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "bit16_zeros", + "instance_name": "bit16_zeros", + "field_name": "bit16_zeros", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_nexthop_info_dmac", + "handle": 16795029, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "router_interface_id", + "bit_width": 16 + }, + { + "name": "egress_port", + "bit_width": 32 + }, + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.set_nexthop_lag", + "handle": 25951413, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "lag_group_id", + "bit_width": 8 + }, + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 14 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_nexthop_info_dmac", + "action_handle": 16795029, + "immediate_fields": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "egress_port", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dmac_high", + "param_handle": 2, + "dest_start": 6, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 3, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 5, + "pool_id": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 4, + "mask": 7, + "type_id": 5, + "offset": 5 + } + ] + }, + { + "action_name": "linux_networking_control.set_nexthop_lag", + "action_handle": 25951413, + "immediate_fields": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + }, + { + "param_name": "dmac_high", + "param_handle": 1, + "dest_start": 1, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 2, + "dest_start": 3, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "lag_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 4, + "offset": 1 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 47712712, + "name": "linux_networking_control.ecmp_nexthop_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.nexthop_id", + "instance_name": "user_meta.cmeta.nexthop_id", + "field_name": "user_meta.cmeta.nexthop_id", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "actions": [ + { + "name": "linux_networking_control.ecmp_set_nexthop_info_dmac", + "handle": 27181644, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "router_interface_id", + "bit_width": 16 + }, + { + "name": "egress_port", + "bit_width": 32 + }, + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "wcm_params": { + "wcm_group": 1, + "slice_start_idx": 1, + "table_width": 16, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 2, + 3, + 4, + 5, + 6 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.ecmp_set_nexthop_info_dmac", + "action_handle": 27181644, + "immediate_fields": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "egress_port", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dmac_high", + "param_handle": 2, + "dest_start": 6, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 3, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 3, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 8, + "encoding_port": "VSI", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 9, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "mask": 7, + "type_id": 5, + "offset": 5 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 40757978, + "name": "linux_networking_control.tx_lag_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.lag_group_id", + "instance_name": "user_meta.cmeta.lag_group_id", + "field_name": "user_meta.cmeta.lag_group_id", + "match_type": "ternary", + "bit_width": 8, + "index": 0, + "position": 0 + }, + { + "name": "hash", + "instance_name": "hash", + "field_name": "hash", + "match_type": "ternary", + "bit_width": 3, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 1, + "start_bit_offset": 0, + "bit_width": 8 + } + ], + "default_action_handle": 29238102, + "actions": [ + { + "name": "linux_networking_control.set_egress_port", + "handle": 27998997, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "router_interface_id", + "bit_width": 16 + }, + { + "name": "egress_port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.bypass", + "handle": 24954025, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "wcm_params": { + "wcm_group": 0, + "slice_start_idx": 5, + "table_width": 32, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 9, + 10, + 11, + 12 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_egress_port", + "action_handle": 27998997, + "immediate_fields": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "egress_port", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 10, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET10_1b", + "encoding_grp": 10, + "encoding_port": "VSI", + "index": 0, + "value": 4, + "mask": 4 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "encoding_grp": 10, + "encoding_port": "VSI", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 0, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 11, + "encoding_port": "PORT", + "index": 2, + "parameters": [ + { + "param_name": "egress_port", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b_AUX", + "parameters": [ + { + "param_name": "router_interface_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "mask": 7, + "type_id": 5, + "offset": 5 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b_AUX", + "value": 192, + "mask": 192 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 0, + "offset": 27 + } + ] + }, + { + "action_name": "linux_networking_control.bypass", + "action_handle": 24954025, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b_AUX", + "value": 192, + "mask": 192 + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 0, + "offset": 27 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 44444143, + "name": "linux_networking_control.rx_lag_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.port_id", + "instance_name": "vmeta.common.port_id", + "field_name": "vmeta.common.port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.cmeta.lag_group_id", + "instance_name": "user_meta.cmeta.lag_group_id", + "field_name": "user_meta.cmeta.lag_group_id", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 5 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 12, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 37566509, + "name": "linux_networking_control.ipv4_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_table_lpm_root", + "instance_name": "ipv4_table_lpm_root", + "field_name": "ipv4_table_lpm_root", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv4_dst_match", + "instance_name": "ipv4_dst_match", + "field_name": "ipv4_dst_match", + "match_type": "lpm", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipv4_set_nexthop_id", + "handle": 22009623, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.ecmp_hash_action", + "handle": 16874810, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ecmp_group_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "def_action_ptr": 1, + "max_prefix_len": 32, + "action_format": [ + { + "action_name": "linux_networking_control.ipv4_set_nexthop_id", + "action_handle": 22009623, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 32, + "mask": 32, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.ecmp_hash_action", + "action_handle": 16874810, + "immediate_fields": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 3 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 8, + "mask": 8, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 49661222, + "name": "linux_networking_control.ecmp_hash_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "flex", + "instance_name": "flex", + "field_name": "flex", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hash", + "instance_name": "hash", + "field_name": "hash", + "match_type": "ternary", + "bit_width": 3, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 8 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_nexthop_id", + "handle": 29883644, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 3 + ], + "wcm_params": { + "wcm_group": 0, + "slice_start_idx": 6, + "table_width": 32, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 13, + 14 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_nexthop_id", + "action_handle": 29883644, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 32, + "mask": 32, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 46496254, + "name": "linux_networking_control.ipv6_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_table_lpm_root", + "instance_name": "ipv6_table_lpm_root", + "field_name": "ipv6_table_lpm_root", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv6_dst_match", + "instance_name": "ipv6_dst_match", + "field_name": "ipv6_dst_match", + "match_type": "lpm", + "bit_width": 128, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 128 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipv6_set_nexthop_id", + "handle": 21321477, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "nexthop_id", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.ecmp_v6_hash_action", + "handle": 27000185, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ecmp_group_id", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "def_action_ptr": 2, + "max_prefix_len": 128, + "action_format": [ + { + "action_name": "linux_networking_control.ipv6_set_nexthop_id", + "action_handle": 21321477, + "immediate_fields": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "nexthop_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 32, + "mask": 32, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.ecmp_v6_hash_action", + "action_handle": 27000185, + "immediate_fields": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "ecmp_group_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 3 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 8, + "mask": 8, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 40351839, + "name": "linux_networking_control.rx_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.port_id", + "instance_name": "vmeta.common.port_id", + "field_name": "vmeta.common.port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 32890467, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 3 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "value": 1, + "type_id": 4, + "offset": 4 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 49097500, + "name": "linux_networking_control.rx_ipv4_tunnel_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 1 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 40981078, + "name": "linux_networking_control.rx_ipv6_tunnel_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv6_src", + "instance_name": "ipv6_src", + "field_name": "ipv6_src", + "match_type": "exact", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "vni", + "instance_name": "vni", + "field_name": "vni", + "match_type": "exact", + "bit_width": 24, + "index": 1, + "position": 16 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 2 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 33606489, + "name": "linux_networking_control.source_port_to_bridge_map", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.source_port", + "instance_name": "user_meta.cmeta.source_port", + "field_name": "user_meta.cmeta.source_port", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "instance_name": "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "field_name": "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "match_type": "ternary", + "bit_width": 12, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 4, + "bit_width": 16 + } + ], + "default_action_handle": 31939992, + "actions": [ + { + "name": "linux_networking_control.set_bridge_id", + "handle": 31939992, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "bridge_id", + "bit_width": 8 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "wcm_params": { + "wcm_group": 1, + "slice_start_idx": 0, + "table_width": 32, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 0, + 1 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_bridge_id", + "action_handle": 31939992, + "immediate_fields": [ + { + "param_name": "bridge_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "bridge_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 5, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.set_bridge_id", + "action_handle": 31939992, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 77, + "mask": 255, + "type_id": 5, + "offset": 4 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 46342225, + "name": "linux_networking_control.l2_fwd_smac_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].sa", + "instance_name": "hdrs.mac[vmeta.common.depth].sa", + "field_name": "hdrs.mac[vmeta.common.depth].sa", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "user_meta.pmeta.bridge_id", + "instance_name": "user_meta.pmeta.bridge_id", + "field_name": "user_meta.pmeta.bridge_id", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21283156, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.fwd_to_cp", + "handle": 21283156, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 9 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + }, + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_cp", + "action_handle": 21283156, + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 0, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 1, + "mask": 1, + "type_id": 4, + "offset": 0 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 42508227, + "name": "linux_networking_control.tx_acc_vsi", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 31624713, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.l2_fwd_and_bypass_bridge", + "handle": 31624713, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.l2_fwd_and_bypass_bridge", + "action_handle": 31624713, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 5, + "offset": 3 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.l2_fwd_and_bypass_bridge", + "action_handle": 31624713, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "index": 2, + "value": 1, + "type": "SINGLETON_PORT" + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 16, + "mask": 16, + "type_id": 5, + "offset": 3 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 39041593, + "name": "linux_networking_control.tx_source_port", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "ternary", + "bit_width": 11, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "actions": [ + { + "name": "linux_networking_control.set_source_port", + "handle": 32890467, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "source_port", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "WCM", + "id": 3, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "wcm_params": { + "wcm_group": 0, + "slice_start_idx": 4, + "table_width": 16, + "entry_cnt": 1024, + "entry_idx": 0, + "act_rams": [ + 8 + ] + }, + "action_format": [ + { + "action_name": "linux_networking_control.set_source_port", + "action_handle": 32890467, + "immediate_fields": [ + { + "param_name": "source_port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "source_port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 43337754, + "name": "linux_networking_control.l2_to_tunnel_v4", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].da", + "instance_name": "hdrs.mac[vmeta.common.depth].da", + "field_name": "hdrs.mac[vmeta.common.depth].da", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_tunnel_v4", + "handle": 23805991, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 8 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_tunnel_v4", + "action_handle": 23805991, + "immediate_fields": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 4, + "offset": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 7, + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + }, + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 36796227, + "name": "linux_networking_control.l2_to_tunnel_v6", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].da", + "instance_name": "hdrs.mac[vmeta.common.depth].da", + "field_name": "hdrs.mac[vmeta.common.depth].da", + "match_type": "exact", + "bit_width": 48, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.set_tunnel_v6", + "handle": 23953453, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ipv6_1", + "bit_width": 32 + }, + { + "name": "ipv6_2", + "bit_width": 32 + }, + { + "name": "ipv6_3", + "bit_width": 32 + }, + { + "name": "ipv6_4", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 9 + ], + "sub_profile": 0, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_tunnel_v6", + "action_handle": 23953453, + "immediate_fields": [ + { + "param_name": "ipv6_1", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_2", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_3", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipv6_4", + "param_handle": 3, + "dest_start": 12, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_4", + "param_handle": 3, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_3", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 24 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_2", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 2, + "type_id": 4, + "offset": 20 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "ipv6_1", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 3, + "type_id": 4, + "offset": 16 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 38721082, + "name": "linux_networking_control.rx_phy_port_to_pr_map", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.port_id", + "instance_name": "vmeta.common.port_id", + "field_name": "vmeta.common.port_id", + "match_type": "exact", + "bit_width": 2, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 16, + "index": 1, + "position": 1 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 3, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 26092385, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 11 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 13, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 16, + "encoding_port": "VSI", + "index": 2, + "value": 28, + "type": "SINGLETON_VSI" + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 35934350, + "name": "linux_networking_control.source_port_to_pr_map", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.source_port", + "instance_name": "user_meta.cmeta.source_port", + "field_name": "user_meta.cmeta.source_port", + "match_type": "exact", + "bit_width": 16, + "index": 0, + "position": 0 + }, + { + "name": "zero_padding", + "instance_name": "zero_padding", + "field_name": "zero_padding", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 26092385, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 6 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 14, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 17, + "encoding_port": "VSI", + "index": 2, + "value": 28, + "type": "SINGLETON_VSI" + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 45509113, + "name": "linux_networking_control.vsi_to_vsi_loopback", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.vsi", + "instance_name": "vmeta.common.vsi", + "field_name": "vmeta.common.vsi", + "match_type": "exact", + "bit_width": 11, + "index": 0, + "position": 0 + }, + { + "name": "target_vsi", + "instance_name": "target_vsi", + "field_name": "target_vsi", + "match_type": "exact", + "bit_width": 11, + "index": 1, + "position": 2 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 2, + "start_bit_offset": 1, + "bit_width": 16 + } + ], + "default_action_handle": 29238102, + "max_default_actions": 2, + "actions": [ + { + "name": "linux_networking_control.fwd_to_vsi", + "handle": 26092385, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "port", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 4 + ], + "sub_profile": 0, + "obj_id": 0, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.fwd_to_vsi", + "action_handle": 26092385, + "immediate_fields": [ + { + "param_name": "port", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1_16b", + "encoding_grp": 15, + "encoding_port": "VSI", + "index": 2, + "parameters": [ + { + "param_name": "port", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "HOST" + } + ] + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 44641644, + "name": "linux_networking_control.hash_ipv4_tcp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 1 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46678878, + "name": "linux_networking_control.hash_ipv4_udp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 10 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 2 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 45972289, + "name": "linux_networking_control.hash_ipv4", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 3 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 33896331, + "name": "linux_networking_control.hash_l2", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[vmeta.common.depth].sa", + "instance_name": "hdrs.mac[vmeta.common.depth].sa", + "field_name": "hdrs.mac[vmeta.common.depth].sa", + "match_type": "selector", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.mac[vmeta.common.depth].da", + "instance_name": "hdrs.mac[vmeta.common.depth].da", + "field_name": "hdrs.mac[vmeta.common.depth].da", + "match_type": "selector", + "bit_width": 48, + "index": 1, + "position": 6 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 10 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46852435, + "name": "linux_networking_control.hash_ipv6_tcp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.tcp.sport", + "instance_name": "hdrs.tcp", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.tcp.dport", + "instance_name": "hdrs.tcp", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 4 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 46359163, + "name": "linux_networking_control.hash_ipv6_udp", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.udp[vmeta.common.depth].sport", + "instance_name": "hdrs.udp[vmeta.common.depth].sport", + "field_name": "hdrs.udp[vmeta.common.depth].sport", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.udp[vmeta.common.depth].dport", + "instance_name": "hdrs.udp[vmeta.common.depth].dport", + "field_name": "hdrs.udp[vmeta.common.depth].dport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 34 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 34, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 5 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 34506208, + "name": "linux_networking_control.hash_ipv6", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv6[vmeta.common.depth].dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 6 + ], + "action_format": [ + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 49349790, + "name": "linux_networking_control.ipsec_tunnel_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.saidx", + "instance_name": "vmeta.common.saidx", + "field_name": "vmeta.common.saidx", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + }, + { + "name": "bit16_zeros", + "instance_name": "bit16_zeros", + "field_name": "bit16_zeros", + "match_type": "exact", + "bit_width": 13, + "index": 1, + "position": 3 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "HOST", + "byte_array_index": 4, + "start_bit_offset": 3, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.set_ipsec_tunnel", + "handle": 26423957, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "tunnel_id", + "bit_width": 24 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 11 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.set_ipsec_tunnel", + "action_handle": 26423957, + "immediate_fields": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 16, + "prefetch": 1 + }, + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 0, + "parameters": [ + { + "param_name": "tunnel_id", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 24, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "p4_ref_action_handle": 30081157, + "p4_ref_table_handle": 37326952 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 47756035, + "name": "linux_networking_control.ipsec_spd", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].protocol", + "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipsec_protect_set_metadata", + "handle": 20682322, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "saidx", + "bit_width": 24 + } + ] + }, + { + "name": "linux_networking_control.ipsec_bypass", + "handle": 19192368, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 10 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.ipsec_protect_set_metadata", + "action_handle": 20682322, + "immediate_fields": [ + { + "param_name": "saidx", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 24 + } + ], + "hw_actions_list": [ + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 7, + "pool_id": 3 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 8, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "mask": 255, + "type_id": 0, + "offset": 15 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "saidx", + "param_handle": 0, + "param_start_bit": 8, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 0, + "offset": 8 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 3, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + }, + { + "action_name": "linux_networking_control.ipsec_bypass", + "action_handle": 19192368, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_8b", + "value": 0, + "mask": 3, + "type_id": 0, + "offset": 1 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 4, + "type_id": 0, + "offset": 3 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 45022218, + "name": "linux_networking_control.ipsec_tx_sa_classification_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "instance_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "field_name": "hdrs.ipv4[vmeta.common.depth].dst_ip", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[vmeta.common.depth].protocol", + "instance_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "field_name": "hdrs.ipv4[vmeta.common.depth].protocol", + "match_type": "exact", + "bit_width": 8, + "index": 1, + "position": 4 + }, + { + "name": "user_meta.cmeta.is_tunnel", + "instance_name": "user_meta.cmeta.is_tunnel", + "field_name": "user_meta.cmeta.is_tunnel", + "match_type": "exact", + "bit_width": 1, + "index": 2, + "position": 5 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 2, + "byte_order": "HOST", + "byte_array_index": 6, + "start_bit_offset": 1, + "bit_width": 16 + } + ], + "default_action_handle": 21257015, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.tx_ipsec_transport", + "handle": 24935652, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.tx_ipsec_transport_with_underlay", + "handle": 17885953, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.tx_ipsec_tunnel", + "handle": 30154712, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr", + "bit_width": 32 + } + ] + }, + { + "name": "linux_networking_control.tx_ipsec_tunnel_v6", + "handle": 29527637, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dst_addr_1", + "bit_width": 32 + }, + { + "name": "dst_addr_2", + "bit_width": 32 + }, + { + "name": "dst_addr_3", + "bit_width": 16 + } + ] + }, + { + "name": "linux_networking_control.drop", + "handle": 29238102, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 14 + ], + "sub_profile": 2, + "obj_id": 2, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.tx_ipsec_transport", + "action_handle": 24935652, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 17, + "prefetch": 0 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 64, + "mask": 64, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_transport_with_underlay", + "action_handle": 17885953, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 18, + "prefetch": 0 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_8b", + "value": 64, + "mask": 64, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_tunnel", + "action_handle": 30154712, + "immediate_fields": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 3, + "action_code": "SET2_8b", + "index": 11 + }, + { + "prec": 3, + "action_code": "SET1A_24b", + "index": 6, + "pool_id": 2 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_8b", + "value": 4, + "mask": 7, + "type_id": 4, + "offset": 4 + } + ] + }, + { + "action_name": "linux_networking_control.tx_ipsec_tunnel_v6", + "action_handle": 29527637, + "immediate_fields": [ + { + "param_name": "dst_addr_1", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr_2", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "dst_addr_3", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 0, + "action_code": "NOP", + "index": 0, + "value": 0, + "mask": 0 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr_1", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 0, + "type_id": 4, + "offset": 28 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_32b_AUX", + "parameters": [ + { + "param_name": "dst_addr_2", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 32, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ] + }, + { + "prec": 7, + "action_code": "AUX_DATA", + "index": 1, + "type_id": 4, + "offset": 24 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dst_addr_3", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "NETWORK" + } + ], + "type_id": 4, + "offset": 11 + } + ] + }, + { + "action_name": "linux_networking_control.drop", + "action_handle": 29238102, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 1, + "mask": 1 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "BIDIRECTIONAL", + "handle": 37326952, + "name": "linux_networking_control.ipsec_tunnel_encap_mod_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "vmeta.common.mod_blob_ptr", + "instance_name": "vmeta.common.mod_blob_ptr", + "field_name": "vmeta.common.mod_blob_ptr", + "match_type": "exact", + "bit_width": 24, + "index": 0, + "position": 0 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.ipsec_tunnel_encap_mod", + "handle": 30081157, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "ipsec_src_addr", + "bit_width": 32 + }, + { + "name": "ipsec_dst_addr", + "bit_width": 32 + }, + { + "name": "proto", + "bit_width": 8 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "MOD", + "id": 7, + "hw_interface": "ConfigQueue", + "hw_resource": "MOD_CONTENT", + "hw_resource_id": 0, + "profile": [ + 16 + ], + "action_format": [ + { + "action_name": "linux_networking_control.ipsec_tunnel_encap_mod", + "action_handle": 30081157, + "immediate_fields": [ + { + "param_name": "ipsec_src_addr", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "ipsec_dst_addr", + "param_handle": 1, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 32 + }, + { + "param_name": "proto", + "param_handle": 2, + "dest_start": 8, + "start_bit_offset": 0, + "dest_width": 8 + } + ], + "mod_content_format": { + "mod_profile": 16, + "mod_obj_size": 1, + "mod_fields": [ + { + "name": "version", + "handle": 0, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 4, + "value": [ + 4 + ] + }, + { + "name": "ihl", + "handle": 1, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 4, + "bit_width": 4, + "value": [ + 5 + ] + }, + { + "name": "dscp", + "handle": 2, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 1, + "start_bit_offset": 0, + "bit_width": 6, + "value": [ + 0 + ] + }, + { + "name": "ecn", + "handle": 3, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 1, + "start_bit_offset": 6, + "bit_width": 2, + "value": [ + 0 + ] + }, + { + "name": "length", + "handle": 4, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 2, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "identification", + "handle": 5, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 0 + ] + }, + { + "name": "rsvd", + "handle": 6, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "df", + "handle": 7, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 1, + "bit_width": 1, + "value": [ + 1 + ] + }, + { + "name": "mf", + "handle": 8, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 2, + "bit_width": 1, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 9, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 10, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 7, + "start_bit_offset": 0, + "bit_width": 3, + "value": [ + 0 + ] + }, + { + "name": "frag_off", + "handle": 11, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 7, + "start_bit_offset": 3, + "bit_width": 5, + "value": [ + 0 + ] + }, + { + "name": "ttl", + "handle": 12, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 8, + "value": [ + 64 + ] + }, + { + "name": "proto", + "handle": 13, + "param_handle": 2, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 9, + "start_bit_offset": 0, + "bit_width": 8, + "value": [] + }, + { + "name": "csum", + "handle": 14, + "type": "constant", + "byte_order": "NETWORK", + "byte_array_index": 10, + "start_bit_offset": 0, + "bit_width": 16, + "value": [ + 0, + 1 + ] + }, + { + "name": "ipsec_src_addr", + "handle": 15, + "param_handle": 0, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + }, + { + "name": "ipsec_dst_addr", + "handle": 16, + "param_handle": 1, + "type": "parameter", + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 32, + "value": [] + } + ] + }, + "hw_actions_list": [] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 43475471, + "name": "linux_networking_control.ipv4_ipsec_tunnel_term_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "ipv4_dst", + "instance_name": "ipv4_dst", + "field_name": "ipv4_dst", + "match_type": "exact", + "bit_width": 32, + "index": 1, + "position": 4 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 33275382, + "max_default_actions": 4, + "actions": [ + { + "name": "linux_networking_control.decap_ipsec_tunnel_hdr", + "handle": 25138331, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [] + }, + { + "name": "linux_networking_control.do_recirculate", + "handle": 33275382, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "SEM", + "id": 0, + "hw_interface": "ConfigQueue", + "profile": [ + 13 + ], + "sub_profile": 0, + "obj_id": 1, + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.decap_ipsec_tunnel_hdr", + "action_handle": 25138331, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 1, + "action_code": "SET1A_24b", + "index": 9, + "mod_profile": 19, + "prefetch": 0 + }, + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_8b", + "value": 2, + "mask": 2, + "type_id": 4, + "offset": 0 + } + ] + }, + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "immediate_fields": [], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ], + "default_action_format": [ + { + "action_name": "linux_networking_control.do_recirculate", + "action_handle": 33275382, + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET10_1b", + "index": 0, + "value": 64, + "mask": 112 + } + ] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 37403444, + "name": "linux_networking_control.vm_src_ip4_mac_map_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_src", + "instance_name": "ipv4_src", + "field_name": "ipv4_src", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vm_src_ip4_mac_map_action", + "handle": 28718673, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "smac_high", + "bit_width": 16 + }, + { + "name": "smac_mid", + "bit_width": 16 + }, + { + "name": "smac_low", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 7 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.vm_src_ip4_mac_map_action", + "action_handle": 28718673, + "immediate_fields": [ + { + "param_name": "smac_high", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "smac_mid", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "smac_low", + "param_handle": 2, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 5, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_high", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 7 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 4, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_mid", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 6 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 3, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "smac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 5 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "RX", + "handle": 50085764, + "name": "linux_networking_control.vm_dst_ip4_mac_map_table", + "size": 1024, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "ipv4_dst", + "instance_name": "ipv4_dst", + "field_name": "ipv4_dst", + "match_type": "exact", + "bit_width": 32, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + } + ], + "default_action_handle": 21257015, + "actions": [ + { + "name": "linux_networking_control.vm_dst_ip4_mac_map_action", + "handle": 25018769, + "constant_default_action": false, + "is_compiler_added_action": false, + "allowed_as_hit_action": true, + "allowed_as_default_action": false, + "p4_parameters": [ + { + "name": "dmac_high", + "bit_width": 16 + }, + { + "name": "dmac_mid", + "bit_width": 16 + }, + { + "name": "dmac_low", + "bit_width": 16 + } + ] + }, + { + "name": "NoAction", + "handle": 21257015, + "constant_default_action": true, + "is_compiler_added_action": false, + "allowed_as_hit_action": false, + "allowed_as_default_action": true, + "p4_parameters": [] + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LEM", + "id": 2, + "hw_interface": "ConfigQueue", + "profile": [ + 8 + ], + "hash_size": 325632, + "action_format": [ + { + "action_name": "linux_networking_control.vm_dst_ip4_mac_map_action", + "action_handle": 25018769, + "immediate_fields": [ + { + "param_name": "dmac_high", + "param_handle": 0, + "dest_start": 0, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_mid", + "param_handle": 1, + "dest_start": 2, + "start_bit_offset": 0, + "dest_width": 16 + }, + { + "param_name": "dmac_low", + "param_handle": 2, + "dest_start": 4, + "start_bit_offset": 0, + "dest_width": 16 + } + ], + "hw_actions_list": [ + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 2, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_high", + "param_handle": 0, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 10 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 1, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_mid", + "param_handle": 1, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 9 + }, + { + "prec": 7, + "action_code": "SET1B_24b", + "index": 0, + "setmd_action_code": "SET_16b", + "parameters": [ + { + "param_name": "dmac_low", + "param_handle": 2, + "param_start_bit": 0, + "param_value_length": 16, + "value_start_bit": 0, + "byte_order": "HOST" + } + ], + "type_id": 4, + "offset": 8 + } + ] + }, + { + "action_name": "NoAction", + "action_handle": 21257015, + "immediate_fields": [], + "hw_actions_list": [] + } + ] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454144, + "name": "linux_networking_control.ecmp_hash_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv4[xxpmeta.depth].src_ip", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "src_ip", + "match_type": "selector", + "bit_width": 32, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv4[xxpmeta.depth].dst_ip", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "dst_ip", + "match_type": "selector", + "bit_width": 32, + "index": 1, + "position": 4 + }, + { + "name": "hdrs.ipv4[xxpmeta.depth].protocol", + "instance_name": "hdrs.ipv4[xxpmeta.depth]", + "field_name": "protocol", + "match_type": "selector", + "bit_width": 8, + "index": 2, + "position": 8 + }, + { + "name": "hdrs.udp[xxpmeta.depth].sport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 9 + }, + { + "name": "hdrs.udp[xxpmeta.depth].dport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 4, + "position": 11 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 4, + "start_bit_offset": 0, + "bit_width": 32 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 8, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 9, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 4, + "byte_order": "NETWORK", + "byte_array_index": 11, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 7 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454145, + "name": "linux_networking_control.ecmp_hash_v6_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.ipv6[xxpmeta.depth].src_ip", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "src_ip", + "match_type": "selector", + "bit_width": 128, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.ipv6[xxpmeta.depth].dst_ip", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "dst_ip", + "match_type": "selector", + "bit_width": 128, + "index": 1, + "position": 16 + }, + { + "name": "hdrs.ipv6[xxpmeta.depth].next_header", + "instance_name": "hdrs.ipv6[xxpmeta.depth]", + "field_name": "next_header", + "match_type": "selector", + "bit_width": 8, + "index": 2, + "position": 32 + }, + { + "name": "hdrs.udp[xxpmeta.depth].sport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "sport", + "match_type": "selector", + "bit_width": 16, + "index": 3, + "position": 33 + }, + { + "name": "hdrs.udp[xxpmeta.depth].dport", + "instance_name": "hdrs.udp[xxpmeta.depth]", + "field_name": "dport", + "match_type": "selector", + "bit_width": 16, + "index": 4, + "position": 35 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 16, + "start_bit_offset": 0, + "bit_width": 128 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 32, + "start_bit_offset": 0, + "bit_width": 8 + }, + { + "match_key_handle": 3, + "byte_order": "NETWORK", + "byte_array_index": 33, + "start_bit_offset": 0, + "bit_width": 16 + }, + { + "match_key_handle": 4, + "byte_order": "NETWORK", + "byte_array_index": 35, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 8 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454146, + "name": "linux_networking_control.lag_hash_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[xxpmeta.depth].da", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "da", + "match_type": "selector", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.mac[xxpmeta.depth].sa", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "sa", + "match_type": "selector", + "bit_width": 48, + "index": 1, + "position": 6 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 9 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match", + "direction": "TX", + "handle": 8454147, + "name": "linux_networking_control.src_port_hash_fn", + "size": 1024, + "isDefaultSize": true, + "add_on_miss": false, + "idle_timeout_with_auto_delete": false, + "match_key_fields": [ + { + "name": "hdrs.mac[xxpmeta.depth].da", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "da", + "match_type": "selector", + "bit_width": 48, + "index": 0, + "position": 0 + }, + { + "name": "hdrs.mac[xxpmeta.depth].sa", + "instance_name": "hdrs.mac[xxpmeta.depth]", + "field_name": "sa", + "match_type": "selector", + "bit_width": 48, + "index": 1, + "position": 6 + }, + { + "name": "hdrs.etype[xxpmeta.depth].type", + "instance_name": "hdrs.etype[xxpmeta.depth]", + "field_name": "type", + "match_type": "selector", + "bit_width": 16, + "index": 2, + "position": 12 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "NETWORK", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 1, + "byte_order": "NETWORK", + "byte_array_index": 6, + "start_bit_offset": 0, + "bit_width": 48 + }, + { + "match_key_handle": 2, + "byte_order": "NETWORK", + "byte_array_index": 12, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "default_action_handle": 0, + "actions": [], + "match_attributes": { + "hardware_blocks": [ + { + "name": "HASH", + "id": 5, + "hw_interface": "MMIO", + "profile": [ + 11 + ], + "action_format": [] + } + ] + } + }, + { + "table_type": "match_value_lookup_table", + "handle": 41667918, + "name": "linux_networking_control.ipv4_lpm_root_lut", + "size": 1, + "p4_hidden": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.bit16_zeros", + "instance_name": "user_meta.cmeta.bit16_zeros", + "field_name": "user_meta.cmeta.bit16_zeros", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "hw_resource": "lpm_table", + "hw_resource_id": 4, + "immediate_fields": [ + { + "param_name": "ipv4_table_lpm_root", + "param_handle": 0, + "dest_start": 0, + "dest_width": 32 + } + ], + "p4_ref_table_handles": [ + 37566509 + ] + } + ] + } + }, + { + "table_type": "match_value_lookup_table", + "handle": 43524029, + "name": "linux_networking_control.ipv6_lpm_root_lut", + "size": 1, + "p4_hidden": false, + "match_key_fields": [ + { + "name": "user_meta.cmeta.bit16_zeros", + "instance_name": "user_meta.cmeta.bit16_zeros", + "field_name": "user_meta.cmeta.bit16_zeros", + "match_type": "ternary", + "bit_width": 16, + "index": 0, + "position": 0 + } + ], + "match_key_format": [ + { + "match_key_handle": 0, + "byte_order": "HOST", + "byte_array_index": 0, + "start_bit_offset": 0, + "bit_width": 16 + } + ], + "match_attributes": { + "hardware_blocks": [ + { + "name": "LPM", + "id": 4, + "hw_interface": "MMIO", + "hw_resource": "lpm_table", + "hw_resource_id": 4, + "immediate_fields": [ + { + "param_name": "ipv6_table_lpm_root", + "param_handle": 0, + "dest_start": 0, + "dest_width": 32 + } + ], + "p4_ref_table_handles": [ + 46496254 + ] + } + ] + } + } + ], + "counter_with_modify_flag": [ + { + "name": "ddcounter_pool_tx2", + "pool_id": 0, + "pool_type": 0, + "size": 1024 + }, + { + "name": "ddcounter_pool_tx3", + "pool_id": 1, + "pool_type": 0, + "size": 1024 + }, + { + "name": "ddcounter_pool_tx4", + "pool_id": 2, + "pool_type": 0, + "size": 1024 + }, + { + "name": "ddcounter_pool_tx5", + "pool_id": 3, + "pool_type": 0, + "size": 1024 + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt new file mode 100644 index 000000000..da7d6e68b --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.p4info.txt @@ -0,0 +1,2790 @@ +pkg_info { + arch: "pna" +} +tables { + preamble { + id: 48773578 + name: "MainControlDecrypt.lem_exception" + alias: "lem_exception" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 38116127 + name: "MainControlDecrypt.lem_clear" + alias: "lem_clear" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 45068641 + name: "MainControlDecrypt.ipsec_rx_sa_classification_table" + alias: "ipsec_rx_sa_classification_table" + } + match_fields { + id: 1 + name: "hdrs.ipv4[vmeta.common.depth].src_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.ipv4[vmeta.common.depth].dst_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 3 + name: "hdrs.esp.spi" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 33177492 + } + action_refs { + id: 30285547 + } + const_default_action_id: 30285547 + size: 1024 +} +tables { + preamble { + id: 41667918 + name: "linux_networking_control.ipv4_lpm_root_lut" + alias: "ipv4_lpm_root_lut" + annotations: "@intel_lut_type(\"lpm_table\")" + } + match_fields { + id: 1 + name: "user_meta.cmeta.bit16_zeros" + bitwidth: 16 + match_type: TERNARY + } + action_refs { + id: 17061464 + } + size: 1 +} +tables { + preamble { + id: 43524029 + name: "linux_networking_control.ipv6_lpm_root_lut" + alias: "ipv6_lpm_root_lut" + annotations: "@intel_lut_type(\"lpm_table\")" + } + match_fields { + id: 1 + name: "user_meta.cmeta.bit16_zeros" + bitwidth: 16 + match_type: TERNARY + } + action_refs { + id: 25701894 + } + size: 1 +} +tables { + preamble { + id: 42605135 + name: "linux_networking_control.rif_mod_table_start" + alias: "rif_mod_table_start" + } + match_fields { + id: 1 + name: "rif_mod_map_id0" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 23093409 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 43970557 + name: "linux_networking_control.rif_mod_table_mid" + alias: "rif_mod_table_mid" + } + match_fields { + id: 1 + name: "rif_mod_map_id1" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 30315892 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 47499906 + name: "linux_networking_control.rif_mod_table_last" + alias: "rif_mod_table_last" + } + match_fields { + id: 1 + name: "rif_mod_map_id2" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 32740970 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 48081556 + name: "linux_networking_control.always_trap_arp_table" + alias: "always_trap_arp_table" + } + match_fields { + id: 1 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 19361592 + } + const_default_action_id: 19361592 + size: 1024 +} +tables { + preamble { + id: 47372228 + name: "linux_networking_control.always_recirculate_table" + alias: "always_recirculate_table" + } + match_fields { + id: 1 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.inval.data" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 33275382 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 40312237 + name: "linux_networking_control.vlan_push_mod_table" + alias: "vlan_push_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 24137163 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 38884256 + name: "linux_networking_control.vlan_pop_mod_table" + alias: "vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 25667542 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 40763773 + name: "linux_networking_control.vxlan_encap_mod_table" + alias: "vxlan_encap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 20733968 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 39675860 + name: "linux_networking_control.vxlan_encap_vlan_pop_mod_table" + alias: "vxlan_encap_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 26114242 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 46225003 + name: "linux_networking_control.vxlan_encap_v6_mod_table" + alias: "vxlan_encap_v6_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 30345128 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 34318005 + name: "linux_networking_control.vxlan_encap_v6_vlan_pop_mod_table" + alias: "vxlan_encap_v6_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 28284062 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 40980035 + name: "linux_networking_control.vxlan_decap_mod_table" + alias: "vxlan_decap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 28308555 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 37624107 + name: "linux_networking_control.vxlan_decap_and_push_vlan_mod_table" + alias: "vxlan_decap_and_push_vlan_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 31953264 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 41319073 + name: "linux_networking_control.geneve_encap_mod_table" + alias: "geneve_encap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 25818889 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 47977422 + name: "linux_networking_control.geneve_encap_vlan_pop_mod_table" + alias: "geneve_encap_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 26665268 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 42283616 + name: "linux_networking_control.geneve_encap_v6_mod_table" + alias: "geneve_encap_v6_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 29610186 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 47370391 + name: "linux_networking_control.geneve_encap_v6_vlan_pop_mod_table" + alias: "geneve_encap_v6_vlan_pop_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 27347188 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 34173274 + name: "linux_networking_control.geneve_decap_mod_table" + alias: "geneve_decap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 27842378 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 34525815 + name: "linux_networking_control.geneve_decap_and_push_vlan_mod_table" + alias: "geneve_decap_and_push_vlan_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 25073902 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 47484925 + name: "linux_networking_control.ipv4_tunnel_term_table" + alias: "ipv4_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 31163719 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 25342798 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 26749366 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 31208923 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21790705 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21790705 + size: 1024 +} +tables { + preamble { + id: 34601307 + name: "linux_networking_control.ipv6_tunnel_term_table" + alias: "ipv6_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv6_src" + bitwidth: 128 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 31163719 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 25342798 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 26749366 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 31208923 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 44842501 + name: "linux_networking_control.l2_fwd_rx_table" + alias: "l2_fwd_rx_table" + } + match_fields { + id: 2 + name: "user_meta.pmeta.bridge_id" + bitwidth: 8 + match_type: EXACT + } + match_fields { + id: 1 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 21862855 + } + action_refs { + id: 21283156 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21283156 + size: 1024 +} +tables { + preamble { + id: 40240205 + name: "linux_networking_control.l2_fwd_tx_table" + alias: "l2_fwd_tx_table" + } + match_fields { + id: 1 + name: "user_meta.pmeta.bridge_id" + bitwidth: 8 + match_type: EXACT + } + match_fields { + id: 2 + name: "dst_mac" + annotations: "@format(MAC_ADDRESS)" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 19169916 + } + action_refs { + id: 24440746 + } + action_refs { + id: 26412051 + } + action_refs { + id: 19193142 + } + action_refs { + id: 31983357 + } + action_refs { + id: 23849990 + } + action_refs { + id: 23736116 + } + action_refs { + id: 17483375 + } + action_refs { + id: 24842266 + } + action_refs { + id: 33478945 + } + action_refs { + id: 24108243 + } + action_refs { + id: 25690116 + } + action_refs { + id: 20441854 + } + direct_resource_ids: 333810446 + size: 1024 +} +tables { + preamble { + id: 37894008 + name: "linux_networking_control.nexthop_table" + alias: "nexthop_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.nexthop_id" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit16_zeros" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 16795029 + } + action_refs { + id: 25951413 + } + action_refs { + id: 29238102 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + direct_resource_ids: 323002307 + size: 1024 +} +tables { + preamble { + id: 47712712 + name: "linux_networking_control.ecmp_nexthop_table" + alias: "ecmp_nexthop_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.nexthop_id" + bitwidth: 16 + match_type: TERNARY + } + action_refs { + id: 27181644 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 40757978 + name: "linux_networking_control.tx_lag_table" + alias: "tx_lag_table" + } + match_fields { + id: 1 + name: "user_meta.cmeta.lag_group_id" + bitwidth: 8 + match_type: TERNARY + } + match_fields { + id: 2 + name: "hash" + bitwidth: 3 + match_type: TERNARY + } + action_refs { + id: 27998997 + } + action_refs { + id: 24954025 + } + action_refs { + id: 29238102 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 44444143 + name: "linux_networking_control.rx_lag_table" + alias: "rx_lag_table" + } + match_fields { + id: 1 + name: "vmeta.common.port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.cmeta.lag_group_id" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 37566509 + name: "linux_networking_control.ipv4_table" + alias: "ipv4_table" + } + match_fields { + id: 1 + name: "ipv4_table_lpm_root" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv4_dst_match" + annotations: "@intel_byte_order(\"NETWORK\")" + bitwidth: 32 + match_type: LPM + } + action_refs { + id: 22009623 + } + action_refs { + id: 16874810 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 49661222 + name: "linux_networking_control.ecmp_hash_table" + alias: "ecmp_hash_table" + } + match_fields { + id: 1 + name: "flex" + bitwidth: 16 + match_type: TERNARY + } + match_fields { + id: 2 + name: "hash" + bitwidth: 3 + match_type: TERNARY + } + action_refs { + id: 29883644 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 46496254 + name: "linux_networking_control.ipv6_table" + alias: "ipv6_table" + } + match_fields { + id: 1 + name: "ipv6_table_lpm_root" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv6_dst_match" + annotations: "@intel_byte_order(\"NETWORK\")" + bitwidth: 128 + match_type: LPM + } + action_refs { + id: 21321477 + } + action_refs { + id: 27000185 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 40351839 + name: "linux_networking_control.rx_source_port" + alias: "rx_source_port" + } + match_fields { + id: 1 + name: "vmeta.common.port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 32890467 + size: 1024 +} +tables { + preamble { + id: 49097500 + name: "linux_networking_control.rx_ipv4_tunnel_source_port" + alias: "rx_ipv4_tunnel_source_port" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 40981078 + name: "linux_networking_control.rx_ipv6_tunnel_source_port" + alias: "rx_ipv6_tunnel_source_port" + } + match_fields { + id: 1 + name: "ipv6_src" + bitwidth: 128 + match_type: EXACT + } + match_fields { + id: 2 + name: "vni" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 33606489 + name: "linux_networking_control.source_port_to_bridge_map" + alias: "source_port_to_bridge_map" + } + match_fields { + id: 1 + name: "user_meta.cmeta.source_port" + bitwidth: 16 + match_type: TERNARY + } + match_fields { + id: 2 + name: "hdrs.vlan_ext[vmeta.common.depth].hdr.vid" + bitwidth: 12 + match_type: TERNARY + } + action_refs { + id: 31939992 + } + action_refs { + id: 29238102 + } + const_default_action_id: 31939992 + size: 1024 +} +tables { + preamble { + id: 46342225 + name: "linux_networking_control.l2_fwd_smac_table" + alias: "l2_fwd_smac_table" + } + match_fields { + id: 1 + name: "hdrs.mac[vmeta.common.depth].sa" + bitwidth: 48 + match_type: EXACT + } + match_fields { + id: 2 + name: "user_meta.pmeta.bridge_id" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 21257015 + } + action_refs { + id: 21283156 + } + const_default_action_id: 21283156 + size: 1024 +} +tables { + preamble { + id: 42508227 + name: "linux_networking_control.tx_acc_vsi" + alias: "tx_acc_vsi" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 31624713 + } + action_refs { + id: 29238102 + } + const_default_action_id: 31624713 + size: 1024 +} +tables { + preamble { + id: 39041593 + name: "linux_networking_control.tx_source_port" + alias: "tx_source_port" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: TERNARY + } + action_refs { + id: 32890467 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 43337754 + name: "linux_networking_control.l2_to_tunnel_v4" + alias: "l2_to_tunnel_v4" + } + match_fields { + id: 1 + name: "hdrs.mac[vmeta.common.depth].da" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 23805991 + } + action_refs { + id: 29238102 + } + action_refs { + id: 33275382 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 36796227 + name: "linux_networking_control.l2_to_tunnel_v6" + alias: "l2_to_tunnel_v6" + } + match_fields { + id: 1 + name: "hdrs.mac[vmeta.common.depth].da" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 23953453 + } + action_refs { + id: 33275382 + } + action_refs { + id: 29238102 + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 38721082 + name: "linux_networking_control.rx_phy_port_to_pr_map" + alias: "rx_phy_port_to_pr_map" + } + match_fields { + id: 1 + name: "vmeta.common.port_id" + bitwidth: 2 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 16 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 26092385 + size: 1024 +} +tables { + preamble { + id: 35934350 + name: "linux_networking_control.source_port_to_pr_map" + alias: "source_port_to_pr_map" + } + match_fields { + id: 1 + name: "user_meta.cmeta.source_port" + bitwidth: 16 + match_type: EXACT + } + match_fields { + id: 2 + name: "zero_padding" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 26092385 + size: 1024 +} +tables { + preamble { + id: 45509113 + name: "linux_networking_control.vsi_to_vsi_loopback" + alias: "vsi_to_vsi_loopback" + } + match_fields { + id: 1 + name: "vmeta.common.vsi" + bitwidth: 11 + match_type: EXACT + } + match_fields { + id: 2 + name: "target_vsi" + bitwidth: 11 + match_type: EXACT + } + action_refs { + id: 26092385 + } + action_refs { + id: 29238102 + } + const_default_action_id: 29238102 + size: 1024 +} +tables { + preamble { + id: 44641644 + name: "linux_networking_control.hash_ipv4_tcp" + alias: "hash_ipv4_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46678878 + name: "linux_networking_control.hash_ipv4_udp" + alias: "hash_ipv4_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 45972289 + name: "linux_networking_control.hash_ipv4" + alias: "hash_ipv4" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 33896331 + name: "linux_networking_control.hash_l2" + alias: "hash_l2" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46852435 + name: "linux_networking_control.hash_ipv6_tcp" + alias: "hash_ipv6_tcp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 46359163 + name: "linux_networking_control.hash_ipv6_udp" + alias: "hash_ipv6_udp" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 34506208 + name: "linux_networking_control.hash_ipv6" + alias: "hash_ipv6" + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 49349790 + name: "linux_networking_control.ipsec_tunnel_table" + alias: "ipsec_tunnel_table" + } + match_fields { + id: 1 + name: "vmeta.common.saidx" + bitwidth: 24 + match_type: EXACT + } + match_fields { + id: 2 + name: "bit16_zeros" + bitwidth: 13 + match_type: EXACT + } + action_refs { + id: 26423957 + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + size: 1024 +} +tables { + preamble { + id: 47756035 + name: "linux_networking_control.ipsec_spd" + alias: "ipsec_spd" + } + match_fields { + id: 1 + name: "hdrs.ipv4[vmeta.common.depth].dst_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.ipv4[vmeta.common.depth].protocol" + bitwidth: 8 + match_type: EXACT + } + action_refs { + id: 20682322 + } + action_refs { + id: 19192368 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + direct_resource_ids: 330899638 + size: 1024 +} +tables { + preamble { + id: 45022218 + name: "linux_networking_control.ipsec_tx_sa_classification_table" + alias: "ipsec_tx_sa_classification_table" + } + match_fields { + id: 1 + name: "hdrs.ipv4[vmeta.common.depth].dst_ip" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "hdrs.ipv4[vmeta.common.depth].protocol" + bitwidth: 8 + match_type: EXACT + } + match_fields { + id: 3 + name: "user_meta.cmeta.is_tunnel" + bitwidth: 1 + match_type: EXACT + } + action_refs { + id: 24935652 + } + action_refs { + id: 17885953 + } + action_refs { + id: 30154712 + } + action_refs { + id: 29527637 + } + action_refs { + id: 29238102 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + direct_resource_ids: 327348295 + size: 1024 +} +tables { + preamble { + id: 37326952 + name: "linux_networking_control.ipsec_tunnel_encap_mod_table" + alias: "ipsec_tunnel_encap_mod_table" + } + match_fields { + id: 1 + name: "vmeta.common.mod_blob_ptr" + bitwidth: 24 + match_type: EXACT + } + action_refs { + id: 30081157 + } + action_refs { + id: 21257015 + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 43475471 + name: "linux_networking_control.ipv4_ipsec_tunnel_term_table" + alias: "ipv4_ipsec_tunnel_term_table" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + match_fields { + id: 2 + name: "ipv4_dst" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 25138331 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 33275382 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 33275382 + size: 1024 +} +tables { + preamble { + id: 37403444 + name: "linux_networking_control.vm_src_ip4_mac_map_table" + alias: "vm_src_ip4_mac_map_table" + } + match_fields { + id: 1 + name: "ipv4_src" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 28718673 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +tables { + preamble { + id: 50085764 + name: "linux_networking_control.vm_dst_ip4_mac_map_table" + alias: "vm_dst_ip4_mac_map_table" + } + match_fields { + id: 1 + name: "ipv4_dst" + bitwidth: 32 + match_type: EXACT + } + action_refs { + id: 25018769 + annotations: "@tableonly" + scope: TABLE_ONLY + } + action_refs { + id: 21257015 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 21257015 + size: 1024 +} +actions { + preamble { + id: 21257015 + name: "NoAction" + alias: "NoAction" + } +} +actions { + preamble { + id: 30285547 + name: "MainControlDecrypt.ipsec_bypass" + alias: "MainControlDecrypt.ipsec_bypass" + } +} +actions { + preamble { + id: 33177492 + name: "MainControlDecrypt.ipsec_decrypt" + alias: "ipsec_decrypt" + } + params { + id: 1 + name: "saidx" + bitwidth: 24 + } +} +actions { + preamble { + id: 19173135 + name: "linux_networking_control.no_modify" + alias: "no_modify" + } +} +actions { + preamble { + id: 31851898 + name: "linux_networking_control.dummycall" + alias: "dummycall" + } +} +actions { + preamble { + id: 33275382 + name: "linux_networking_control.do_recirculate" + alias: "do_recirculate" + } +} +actions { + preamble { + id: 19169916 + name: "linux_networking_control.l2_fwd" + alias: "l2_fwd" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 31624713 + name: "linux_networking_control.l2_fwd_and_bypass_bridge" + alias: "l2_fwd_and_bypass_bridge" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 24440746 + name: "linux_networking_control.l2_fwd_lag" + alias: "l2_fwd_lag" + } + params { + id: 1 + name: "lag_group_id" + bitwidth: 8 + } +} +actions { + preamble { + id: 21862855 + name: "linux_networking_control.l2_fwd_lag_and_recirculate" + alias: "l2_fwd_lag_and_recirculate" + } + params { + id: 1 + name: "lag_group_id" + bitwidth: 8 + } +} +actions { + preamble { + id: 24954025 + name: "linux_networking_control.bypass" + alias: "bypass" + } +} +actions { + preamble { + id: 29238102 + name: "linux_networking_control.drop" + alias: "drop" + } +} +actions { + preamble { + id: 24137163 + name: "linux_networking_control.vlan_push" + alias: "vlan_push" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 25667542 + name: "linux_networking_control.vlan_pop" + alias: "vlan_pop" + } +} +actions { + preamble { + id: 20733968 + name: "linux_networking_control.vxlan_encap" + alias: "vxlan_encap" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 26114242 + name: "linux_networking_control.vxlan_encap_vlan_pop" + alias: "vxlan_encap_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 30345128 + name: "linux_networking_control.vxlan_encap_v6" + alias: "vxlan_encap_v6" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 28284062 + name: "linux_networking_control.vxlan_encap_v6_vlan_pop" + alias: "vxlan_encap_v6_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 25818889 + name: "linux_networking_control.geneve_encap" + alias: "geneve_encap" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 26665268 + name: "linux_networking_control.geneve_encap_vlan_pop" + alias: "geneve_encap_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "src_port" + bitwidth: 16 + } + params { + id: 4 + name: "dst_port" + bitwidth: 16 + } + params { + id: 5 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 29610186 + name: "linux_networking_control.geneve_encap_v6" + alias: "geneve_encap_v6" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 27347188 + name: "linux_networking_control.geneve_encap_v6_vlan_pop" + alias: "geneve_encap_v6_vlan_pop" + } + params { + id: 1 + name: "src_addr" + bitwidth: 128 + } + params { + id: 2 + name: "dst_addr" + bitwidth: 128 + } + params { + id: 3 + name: "ds" + bitwidth: 6 + } + params { + id: 4 + name: "ecn" + bitwidth: 2 + } + params { + id: 5 + name: "flow_label" + bitwidth: 20 + } + params { + id: 6 + name: "hop_limit" + bitwidth: 8 + } + params { + id: 7 + name: "src_port" + bitwidth: 16 + } + params { + id: 8 + name: "dst_port" + bitwidth: 16 + } + params { + id: 9 + name: "vni" + bitwidth: 24 + } +} +actions { + preamble { + id: 28308555 + name: "linux_networking_control.vxlan_decap_outer_hdr" + alias: "vxlan_decap_outer_hdr" + } +} +actions { + preamble { + id: 27842378 + name: "linux_networking_control.geneve_decap_outer_hdr" + alias: "geneve_decap_outer_hdr" + } +} +actions { + preamble { + id: 31953264 + name: "linux_networking_control.vxlan_decap_and_push_vlan" + alias: "vxlan_decap_and_push_vlan" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 25073902 + name: "linux_networking_control.geneve_decap_and_push_vlan" + alias: "geneve_decap_and_push_vlan" + } + params { + id: 1 + name: "pcp" + bitwidth: 3 + } + params { + id: 2 + name: "dei" + bitwidth: 1 + } + params { + id: 3 + name: "vlan_id" + bitwidth: 12 + } +} +actions { + preamble { + id: 23093409 + name: "linux_networking_control.set_src_mac_start" + alias: "set_src_mac_start" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 30315892 + name: "linux_networking_control.set_src_mac_mid" + alias: "set_src_mac_mid" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 32740970 + name: "linux_networking_control.set_src_mac_last" + alias: "set_src_mac_last" + } + params { + id: 1 + name: "arg" + bitwidth: 16 + } +} +actions { + preamble { + id: 31671750 + name: "linux_networking_control.set_outer_mac" + alias: "set_outer_mac" + } +} +actions { + preamble { + id: 31163719 + name: "linux_networking_control.set_vxlan_decap_outer_hdr" + alias: "set_vxlan_decap_outer_hdr" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 25342798 + name: "linux_networking_control.set_vxlan_decap_outer_and_push_vlan" + alias: "set_vxlan_decap_outer_and_push_vlan" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 26412051 + name: "linux_networking_control.set_vxlan_underlay_v4" + alias: "set_vxlan_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 19193142 + name: "linux_networking_control.set_vxlan_underlay_v6" + alias: "set_vxlan_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 31983357 + name: "linux_networking_control.pop_vlan_set_vxlan_underlay_v4" + alias: "pop_vlan_set_vxlan_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 23849990 + name: "linux_networking_control.pop_vlan_set_vxlan_underlay_v6" + alias: "pop_vlan_set_vxlan_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 26749366 + name: "linux_networking_control.set_geneve_decap_outer_hdr" + alias: "set_geneve_decap_outer_hdr" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 31208923 + name: "linux_networking_control.set_geneve_decap_outer_and_push_vlan" + alias: "set_geneve_decap_outer_and_push_vlan" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 23736116 + name: "linux_networking_control.set_geneve_underlay_v4" + alias: "set_geneve_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 17483375 + name: "linux_networking_control.set_geneve_underlay_v6" + alias: "set_geneve_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 24842266 + name: "linux_networking_control.pop_vlan_set_geneve_underlay_v4" + alias: "pop_vlan_set_geneve_underlay_v4" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 33478945 + name: "linux_networking_control.pop_vlan_set_geneve_underlay_v6" + alias: "pop_vlan_set_geneve_underlay_v6" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 20 + } +} +actions { + preamble { + id: 27998997 + name: "linux_networking_control.set_egress_port" + alias: "set_egress_port" + } + params { + id: 1 + name: "router_interface_id" + bitwidth: 16 + } + params { + id: 2 + name: "egress_port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 16795029 + name: "linux_networking_control.set_nexthop_info_dmac" + alias: "set_nexthop_info_dmac" + } + params { + id: 1 + name: "router_interface_id" + bitwidth: 16 + } + params { + id: 2 + name: "egress_port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } + params { + id: 3 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 4 + name: "dmac_low" + bitwidth: 32 + } +} +actions { + preamble { + id: 25951413 + name: "linux_networking_control.set_nexthop_lag" + alias: "set_nexthop_lag" + } + params { + id: 1 + name: "lag_group_id" + bitwidth: 8 + } + params { + id: 2 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 3 + name: "dmac_low" + bitwidth: 32 + } +} +actions { + preamble { + id: 27181644 + name: "linux_networking_control.ecmp_set_nexthop_info_dmac" + alias: "ecmp_set_nexthop_info_dmac" + } + params { + id: 1 + name: "router_interface_id" + bitwidth: 16 + } + params { + id: 2 + name: "egress_port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } + params { + id: 3 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 4 + name: "dmac_low" + bitwidth: 32 + } +} +actions { + preamble { + id: 29883644 + name: "linux_networking_control.set_nexthop_id" + alias: "set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 16874810 + name: "linux_networking_control.ecmp_hash_action" + alias: "ecmp_hash_action" + } + params { + id: 1 + name: "ecmp_group_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 22009623 + name: "linux_networking_control.ipv4_set_nexthop_id" + alias: "ipv4_set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 21321477 + name: "linux_networking_control.ipv6_set_nexthop_id" + alias: "ipv6_set_nexthop_id" + } + params { + id: 1 + name: "nexthop_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 27000185 + name: "linux_networking_control.ecmp_v6_hash_action" + alias: "ecmp_v6_hash_action" + } + params { + id: 1 + name: "ecmp_group_id" + bitwidth: 16 + } +} +actions { + preamble { + id: 24108243 + name: "linux_networking_control.add_vlan_and_fwd" + alias: "add_vlan_and_fwd" + } + params { + id: 1 + name: "vlan_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "port_id" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 25690116 + name: "linux_networking_control.remove_vlan_and_fwd" + alias: "remove_vlan_and_fwd" + } + params { + id: 1 + name: "vlan_ptr" + bitwidth: 24 + } + params { + id: 2 + name: "port_id" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 32890467 + name: "linux_networking_control.set_source_port" + alias: "set_source_port" + } + params { + id: 1 + name: "source_port" + bitwidth: 16 + } +} +actions { + preamble { + id: 31939992 + name: "linux_networking_control.set_bridge_id" + alias: "set_bridge_id" + } + params { + id: 1 + name: "bridge_id" + bitwidth: 8 + } +} +actions { + preamble { + id: 23805991 + name: "linux_networking_control.set_tunnel_v4" + alias: "set_tunnel_v4" + } + params { + id: 1 + name: "dst_addr" + bitwidth: 32 + } +} +actions { + preamble { + id: 23953453 + name: "linux_networking_control.set_tunnel_v6" + alias: "set_tunnel_v6" + } + params { + id: 1 + name: "ipv6_1" + bitwidth: 32 + } + params { + id: 2 + name: "ipv6_2" + bitwidth: 32 + } + params { + id: 3 + name: "ipv6_3" + bitwidth: 32 + } + params { + id: 4 + name: "ipv6_4" + bitwidth: 32 + } +} +actions { + preamble { + id: 26092385 + name: "linux_networking_control.fwd_to_vsi" + alias: "fwd_to_vsi" + } + params { + id: 1 + name: "port" + bitwidth: 32 + type_name { + name: "PortId_t" + } + } +} +actions { + preamble { + id: 21790705 + name: "linux_networking_control.trap_enable" + alias: "trap_enable" + } +} +actions { + preamble { + id: 19361592 + name: "linux_networking_control.do_trap_enable" + alias: "do_trap_enable" + } +} +actions { + preamble { + id: 20441854 + name: "linux_networking_control.fwd_to_cp_tx" + alias: "fwd_to_cp_tx" + } +} +actions { + preamble { + id: 21283156 + name: "linux_networking_control.fwd_to_cp" + alias: "fwd_to_cp" + } +} +actions { + preamble { + id: 26423957 + name: "linux_networking_control.set_ipsec_tunnel" + alias: "set_ipsec_tunnel" + } + params { + id: 1 + name: "tunnel_id" + bitwidth: 24 + } +} +actions { + preamble { + id: 19192368 + name: "linux_networking_control.ipsec_bypass" + alias: "linux_networking_control.ipsec_bypass" + } +} +actions { + preamble { + id: 29527637 + name: "linux_networking_control.tx_ipsec_tunnel_v6" + alias: "tx_ipsec_tunnel_v6" + } + params { + id: 1 + name: "dst_addr_1" + bitwidth: 32 + } + params { + id: 2 + name: "dst_addr_2" + bitwidth: 32 + } + params { + id: 3 + name: "dst_addr_3" + bitwidth: 16 + } +} +actions { + preamble { + id: 30154712 + name: "linux_networking_control.tx_ipsec_tunnel" + alias: "tx_ipsec_tunnel" + } + params { + id: 1 + name: "dst_addr" + bitwidth: 32 + } +} +actions { + preamble { + id: 24935652 + name: "linux_networking_control.tx_ipsec_transport" + alias: "tx_ipsec_transport" + } +} +actions { + preamble { + id: 17885953 + name: "linux_networking_control.tx_ipsec_transport_with_underlay" + alias: "tx_ipsec_transport_with_underlay" + } +} +actions { + preamble { + id: 25138331 + name: "linux_networking_control.decap_ipsec_tunnel_hdr" + alias: "decap_ipsec_tunnel_hdr" + } +} +actions { + preamble { + id: 20682322 + name: "linux_networking_control.ipsec_protect_set_metadata" + alias: "ipsec_protect_set_metadata" + } + params { + id: 1 + name: "saidx" + bitwidth: 24 + } +} +actions { + preamble { + id: 30081157 + name: "linux_networking_control.ipsec_tunnel_encap_mod" + alias: "ipsec_tunnel_encap_mod" + } + params { + id: 1 + name: "ipsec_src_addr" + bitwidth: 32 + } + params { + id: 2 + name: "ipsec_dst_addr" + bitwidth: 32 + } + params { + id: 3 + name: "proto" + bitwidth: 8 + } +} +actions { + preamble { + id: 33290754 + name: "linux_networking_control.ipsec_transport_mod_action" + alias: "ipsec_transport_mod_action" + } +} +actions { + preamble { + id: 24657351 + name: "linux_networking_control.ipsec_transport_with_underlay_mod_action" + alias: "ipsec_transport_with_underlay_mod_action" + } +} +actions { + preamble { + id: 28758942 + name: "linux_networking_control.ipsec_tunnel_decap" + alias: "ipsec_tunnel_decap" + } +} +actions { + preamble { + id: 28718673 + name: "linux_networking_control.vm_src_ip4_mac_map_action" + alias: "vm_src_ip4_mac_map_action" + } + params { + id: 1 + name: "smac_high" + bitwidth: 16 + } + params { + id: 2 + name: "smac_mid" + bitwidth: 16 + } + params { + id: 3 + name: "smac_low" + bitwidth: 16 + } +} +actions { + preamble { + id: 25018769 + name: "linux_networking_control.vm_dst_ip4_mac_map_action" + alias: "vm_dst_ip4_mac_map_action" + } + params { + id: 1 + name: "dmac_high" + bitwidth: 16 + } + params { + id: 2 + name: "dmac_mid" + bitwidth: 16 + } + params { + id: 3 + name: "dmac_low" + bitwidth: 16 + } +} +actions { + preamble { + id: 17061464 + name: "linux_networking_control.ipv4_lpm_root_lut_action" + alias: "ipv4_lpm_root_lut_action" + } + params { + id: 1 + name: "ipv4_table_lpm_root" + bitwidth: 32 + } +} +actions { + preamble { + id: 25701894 + name: "linux_networking_control.ipv6_lpm_root_lut_action" + alias: "ipv6_lpm_root_lut_action" + } + params { + id: 1 + name: "ipv6_table_lpm_root" + bitwidth: 32 + } +} +direct_counters { + preamble { + id: 333810446 + name: "linux_networking_control.ddcounter_pool_tx2" + alias: "ddcounter_pool_tx2" + } + spec { + unit: BOTH + } +} +direct_counters { + preamble { + id: 323002307 + name: "linux_networking_control.ddcounter_pool_tx3" + alias: "ddcounter_pool_tx3" + } + spec { + unit: BOTH + } +} +direct_counters { + preamble { + id: 327348295 + name: "linux_networking_control.ddcounter_pool_tx4" + alias: "ddcounter_pool_tx4" + } + spec { + unit: BOTH + } +} +direct_counters { + preamble { + id: 330899638 + name: "linux_networking_control.ddcounter_pool_tx5" + alias: "ddcounter_pool_tx5" + } + spec { + unit: BOTH + } +} +type_info { + new_types { + key: "PortId_t" + value { + translated_type { + uri: "p4.org/pna/v1/PortId_t" + sdn_bitwidth: 32 + } + } + } +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.pkg b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.pkg new file mode 100644 index 000000000..fa02ee481 Binary files /dev/null and b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.pkg differ diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.s b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.s new file mode 100644 index 000000000..4633038cd --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.s @@ -0,0 +1,53017 @@ +/* p4c-pna-xxp version: 3.0.70.124 */ + +name "linux_networking"; +version 1.0.73.29; + +segment IDPF_FXP { + label REG 0 PMD_COMMON; + label REG 2 PMD_HOST_INFO_TX_BASE; + label REG 3 PMD_HOST_INFO_RX; + label REG 4 PMD_GENERIC_32; + label REG 5 PMD_FXP_INTERNAL; + label REG 6 PMD_MISC_INTERNAL; + label REG 7 PMD_HOST_INFO_TX_EXTENDED; + label REG 8 PMD_PARSE_PTRS_SHORT; + label REG 10 PMD_RDMARX; + label REG 12 PMD_PARSE_PTRS; + label REG 13 PMD_CONFIG; + label REG 16 PMD_DROP_INFO; + + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 49 TCP; + + block EVMIN { + + set %AUTO_ADD_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_ADD_RX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_RX_TYPE3 %PMD_GENERIC_32; + + set %MD_SEL_RX_TYPE0 %PMD_COMMON; + set %MD_SEL_RX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_RX_TYPE2 %PMD_HOST_INFO_RX; + set %MD_SEL_RX_TYPE3 %PMD_MISC_INTERNAL; + set %MD_SEL_RX_TYPE4 %PMD_GENERIC_32; + + set %AUTO_ADD_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_ADD_TX_TYPE1 %PMD_DROP_INFO; + set %AUTO_ADD_TX_TYPE2 %PMD_PARSE_PTRS; + set %AUTO_ADD_TX_TYPE3 %PMD_MISC_INTERNAL; + set %AUTO_ADD_TX_TYPE4 %PMD_GENERIC_32; + set %AUTO_ADD_TX_TYPE5 %PMD_HOST_INFO_TX_BASE; + set %AUTO_ADD_TX_TYPE6 %PMD_HOST_INFO_TX_EXTENDED; + + set %MD_SEL_TX_TYPE0 %PMD_COMMON; + set %MD_SEL_TX_TYPE1 %PMD_FXP_INTERNAL; + set %MD_SEL_TX_TYPE2 %PMD_HOST_INFO_TX_BASE; + set %MD_SEL_TX_TYPE3 %PMD_HOST_INFO_TX_EXTENDED; + set %MD_SEL_TX_TYPE4 %PMD_MISC_INTERNAL; + set %MD_SEL_TX_TYPE5 %PMD_GENERIC_32; + + set %AUTO_ADD_CFG_TYPE0 %PMD_FXP_INTERNAL; + set %MD_SEL_CFG_TYPE0 %PMD_COMMON; + set %MD_SEL_CFG_TYPE1 %PMD_CONFIG; + set %MD_SEL_CFG_TYPE2 %PMD_FXP_INTERNAL; + } + + block EVMOUT { + set %AUTO_DEL_LAN_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LAN_RX_TYPE1 %PMD_RDMARX; + set %AUTO_DEL_LAN_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_LANP2P_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_LANP2P_RX_TYPE1 %PMD_RDMARX; + + set %AUTO_DEL_RDMA_RX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE1 %PMD_MISC_INTERNAL; + set %AUTO_DEL_RDMA_RX_TYPE2 %PMD_GENERIC_32; + + set %AUTO_DEL_RECIRC_RX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_RX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_RECIRC_TX_TYPE0 %PMD_PARSE_PTRS; + set %AUTO_DEL_RECIRC_TX_TYPE1 %PMD_PARSE_PTRS_SHORT; + + set %AUTO_DEL_TX_TYPE0 %PMD_FXP_INTERNAL; + set %AUTO_DEL_TX_TYPE1 %PMD_HOST_INFO_TX_EXTENDED; + + set %AUTO_DEL_CFG_TYPE0 %PMD_FXP_INTERNAL; + } + + block SEM { + set %PAGE_SIZE 2MB; + } + + block LEM { + set %PAGE_SIZE 2MB; + } + + block LPM { + set %PAGE_SIZE 2MB; + } + + block MOD { + set %PAGE_SIZE 2MB; + } + +} + + +segment IDPF_CXP { + block CHP_MISC { + set %AUTO_ADD_RX_TYPE0 %MD3; //HostInfoRX + set %AUTO_ADD_RX_TYPE1 %MD5; //FXPInternal + set %MD_SEL_RX_TYPE0 %MD0; //Common + set %MD_SEL_RX_TYPE1 %MD3; //HostInfoRx + set %MD_SEL_RX_TYPE2 %MD5; //FXPInternal + set %MD_SEL_CFG_TYPE0 %MD0; //Common + set %MD_SEL_CFG_TYPE1 %MD13; //Config + set %MD_DEL_RX_TYPE0 %MD5; //FXPInternal + } + + block LEM { + set %FETCH_MODE 1; + set %EXCEPTION_PROF 0; + set %CLEAR_PKT_PROF 1; + set %PAGE_SIZE 2MB; + } +} + + +segment IDPF_CXP { + + name "linux_networking"; + version 1.0.73.29; + label PROTOCOL_ID 255 PROTO_ID_INVALID; + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 4 reserved4; + label PROTOCOL_ID 9 ETYPE_IN0; + label PROTOCOL_ID 10 ETYPE_IN1; + label PROTOCOL_ID 11 ETYPE_IN2; + label PROTOCOL_ID 15 PAY; + label PROTOCOL_ID 16 VLAN_EXT_IN0; + label PROTOCOL_ID 17 VLAN_EXT_IN1; + label PROTOCOL_ID 18 VLAN_EXT_IN2; + label PROTOCOL_ID 19 VLAN_INT_IN0; + label PROTOCOL_ID 20 VLAN_INT_IN1; + label PROTOCOL_ID 21 VLAN_INT_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 36 IP_NEXT_HDR_LAST_IN0; + label PROTOCOL_ID 37 IP_NEXT_HDR_LAST_IN1; + label PROTOCOL_ID 38 IP_NEXT_HDR_LAST_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 49 TCP; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 118 ARP; + label PROTOCOL_ID 121 CRYPTO_START; + label PROTOCOL_ID 124 L4_IN0; + label PROTOCOL_ID 125 VXLAN_IN1; + label PROTOCOL_ID 126 VXLAN_IN2; + label PROTOCOL_ID 127 L4_IN1; + label PROTOCOL_ID 128 GENEVE_IN0; + label PROTOCOL_ID 131 GENTUN_IN0; + label PROTOCOL_ID 200 VLAN_ETYPE_START_IN0; + label PROTOCOL_ID 201 VLAN_ETYPE_START_IN1; + label PROTOCOL_ID 202 VLAN_ETYPE_START_IN2; + + label REG STATE[68:68] MARKER0; + label REG STATE[69:69] MARKER1; + + label PTYPE 1 CXP_PTYPE_PAY; + label PTYPE 2 CXP_PTYPE_IPV4_ESP; + label PTYPE 3 CXP_PTYPE_TUN_IPV4_ESP; + label PTYPE 62 PTYPE_REJECT; + + label REG STATE[7:0] S0; + label REG STATE[15:8] S1; + label REG STATE[23:16] S2; + label REG STATE[31:24] S3; + label REG STATE[39:32] S4; + label REG STATE[47:40] S5; + label REG STATE[55:48] S6; + label REG STATE[63:56] S7; + label REG STATE[67:64] NODEID; + label REG STATE[77:68] MARKERS; + label REG STATE[79:78] WAY_SEL; + label REG 31[7:0] NULL; + + +block PARSER { + + + set %LEM_PROFILE 0; + set %DEFAULT_PTYPE 63; + set %CSUM_CONFIG_IPV4_0 32; + set %CSUM_CONFIG_IPV4_1 33; + set %CSUM_CONFIG_IPV4_2 34; + set %PROTO_STACK_SIZE 28; + + tcam PTYPE(%ERROR, %MARKER1, %MARKER0, %NODEID, %STATE[79:70]) { + 'b0, 'b1, 'b0, 8, 'b??_0000_0000 : PTYPE(4), LEMPROF(0); + 'b0, 'b0, 'b0, 8, 'b??_0000_0000 : PTYPE(CXP_PTYPE_PAY), LEMPROF(1); + 'b0, 'b0, 'b1, 7, 'b??_0000_0000 : PTYPE(CXP_PTYPE_IPV4_ESP), LEMPROF(10); + 'b0, 'b1, 'b1, 7, 'b??_0000_0000 : PTYPE(CXP_PTYPE_TUN_IPV4_ESP), LEMPROF(10); + 'b0, 'b0, 'b0, 15, 'b??_0000_0000 : PTYPE(PTYPE_REJECT), LEMPROF(0); + } + + stage 0 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: start */ + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 0; + set %S6 1; + set %S5 127; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 1 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 1, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CXP_ETYPE_Depth0 */ + set %PROTO_SLOT_NEXT 0, ETYPE_IN0, ETYPE_IN1, ETYPE_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 14; + set %S5 126; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 2 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 14, 'h7E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_Depth0 */ + set %MARKER0 1; + set %W0_OFFSET 0; + set %S6 3; + set %S5 124; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 3 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 3, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_NextProto_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W1_OFFSET 6; + set %W2_OFFSET 0; + set %S6 13; + set %S5 123; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 4 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??32, 'b0000_0000_??00_0000, 'h??, 13, 'h7B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ESP_PAY_delay */ + set %S6 5; + set %S5 111; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??11, 'b0000_0000_??00_0000, 'h??, 13, 'h7B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_UDP_Depth0_delay */ + set %S6 6; + set %S5 110; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 5 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 6, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 14; + set %S5 119; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 6 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hB512, 'h????, 'h??, 14, 'h77, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_VXLAN_Depth0 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VXLAN_IN1, VXLAN_IN2, PROTO_ID_INVALID; + set %S6 8; + set %S5 118; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 7 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 8, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_MAC_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 14; + set %S5 117; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 8 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 14, 'h75, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_CTag_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_EXT_IN0, VLAN_EXT_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %WAY_SEL 1; + set %S6 14; + set %S5 116; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @1 { 'h0008, 'h????, 'h??, 14, 'h75, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 14; + set %S5 115; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 9 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 14, 'h74, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 14; + set %S5 115; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 10 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 14, 'h73, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_Depth1 */ + set %MARKER1 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 12; + set %S5 122; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 11 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 12, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: CXP_Parse_IPv4_NextProto_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W1_OFFSET 6; + set %W2_OFFSET 0; + set %S6 13; + set %S5 121; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 12 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??32, 'b0000_0000_??00_0000, 'h??, 13, 'h79, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ESP_PAY_delay */ + set %S6 5; + set %S5 111; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 13, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_CXP_delay */ + set %S6 14; + set %S5 112; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 13 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 5, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ESP_PAY */ + set %NODEID 7; + set %PROTO_SLOT_NEXT 0, CRYPTO_START, CRYPTO_START, CRYPTO_START, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 32, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 15; + set %S5 120; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 14, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_CXP */ + set %NODEID 8; + set %MARKER0 0; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 16; + set %S5 125; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: reject */ + set %NODEID 15; + set %MARKERS 0; + set %FLAG_DONE 1; + set %S5 113; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 14 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 15 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 16 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 17 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 18 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 19 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 20 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 21 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 22 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 23 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } +} + + +block LEM { + table PROFILE_CFG(%PROFILE) { + 0 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + AUX_PREC(0), + PROFILE_GROUP(0), + LUT { + NUM_ACTIONS(0), + OBJECT_ID(0) + }; + 1 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + AUX_PREC(0), + PROFILE_GROUP(1), + LUT { + NUM_ACTIONS(0), + OBJECT_ID(0) + }; + 10 : + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(10), + LUT { + NUM_ACTIONS(4), + OBJECT_ID(0), + MISS_ACTION0(3892380416), + MISS_ACTION1(3909288964), + EXTRACT { + WORD0(32, 12, 'hFFFF), + WORD1(32, 14, 'hFFFF), + WORD2(32, 16, 'hFFFF), + WORD3(32, 18, 'hFFFF), + WORD4(121, 0, 'hFFFF), + WORD5(121, 2, 'hFFFF) + } + }; + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + 1 : + BASE('h24000); + + } + table HASH_SPACE_MAP(%OBJECT_ID) { + 0 : + HASH_SPACE_ID('h0); + 1 : + HASH_SPACE_ID('h1); + + } +} + + +block ICE_MISC { + direction RX { + set %IP_0 32, IS_V4; + set %IP_1 33, IS_V4; + set %IP_2 34, IS_V4; + set %UDP_0 52; + set %UDP_1 53; + set %UDP_2 54; + set %NEXT_HDR_0 36; + set %NEXT_HDR_1 37; + set %NEXT_HDR_2 38; + set %CRYPTO_START 121; + } +} +} + + +segment IDPF_FXP { + + domain 0 { + name "linux_networking"; + } + domain 0 { + version 1.0.73.29; + external_version 0 1.0.73.29; + } + label PROTOCOL_ID 255 PROTO_ID_INVALID; + label PROTOCOL_ID 1 MAC_IN0; + label PROTOCOL_ID 2 MAC_IN1; + label PROTOCOL_ID 3 MAC_IN2; + label PROTOCOL_ID 4 reserved4; + label PROTOCOL_ID 9 ETYPE_IN0; + label PROTOCOL_ID 10 ETYPE_IN1; + label PROTOCOL_ID 11 ETYPE_IN2; + label PROTOCOL_ID 15 PAY; + label PROTOCOL_ID 16 VLAN_EXT_IN0; + label PROTOCOL_ID 17 VLAN_EXT_IN1; + label PROTOCOL_ID 18 VLAN_EXT_IN2; + label PROTOCOL_ID 19 VLAN_INT_IN0; + label PROTOCOL_ID 20 VLAN_INT_IN1; + label PROTOCOL_ID 21 VLAN_INT_IN2; + label PROTOCOL_ID 32 IPV4_IN0; + label PROTOCOL_ID 33 IPV4_IN1; + label PROTOCOL_ID 34 IPV4_IN2; + label PROTOCOL_ID 36 IP_NEXT_HDR_LAST_IN0; + label PROTOCOL_ID 37 IP_NEXT_HDR_LAST_IN1; + label PROTOCOL_ID 38 IP_NEXT_HDR_LAST_IN2; + label PROTOCOL_ID 40 IPV6_IN0; + label PROTOCOL_ID 41 IPV6_IN1; + label PROTOCOL_ID 42 IPV6_IN2; + label PROTOCOL_ID 49 TCP; + label PROTOCOL_ID 52 UDP_IN0; + label PROTOCOL_ID 53 UDP_IN1; + label PROTOCOL_ID 54 UDP_IN2; + label PROTOCOL_ID 118 ARP; + label PROTOCOL_ID 121 CRYPTO_START; + label PROTOCOL_ID 124 L4_IN0; + label PROTOCOL_ID 125 VXLAN_IN1; + label PROTOCOL_ID 126 VXLAN_IN2; + label PROTOCOL_ID 127 L4_IN1; + label PROTOCOL_ID 128 GENEVE_IN0; + label PROTOCOL_ID 131 GENTUN_IN0; + label PROTOCOL_ID 200 VLAN_ETYPE_START_IN0; + label PROTOCOL_ID 201 VLAN_ETYPE_START_IN1; + label PROTOCOL_ID 202 VLAN_ETYPE_START_IN2; + + label FLAG 14 PACKET_FLAG_14; + label FLAG 15 PACKET_FLAG_15; + label FLAG 16 PACKET_FLAG_16; + label FLAG 17 PACKET_FLAG_17; + label FLAG 18 PACKET_FLAG_18; + label FLAG 19 PACKET_FLAG_19; + label FLAG 20 PACKET_FLAG_20; + label FLAG 21 PACKET_FLAG_21; + label FLAG 22 PACKET_FLAG_22; + label FLAG 23 PACKET_FLAG_23; + label FLAG 24 PACKET_FLAG_24; + label FLAG 25 PACKET_FLAG_25; + label FLAG 26 PACKET_FLAG_26; + label FLAG 27 PACKET_FLAG_27; + label REG STATE[60:60] MARKER0; + label REG STATE[61:61] MARKER1; + label REG STATE[62:62] MARKER2; + label REG STATE[63:63] MARKER3; + label REG STATE[64:64] MARKER4; + label REG STATE[65:65] MARKER5; + label REG STATE[66:66] MARKER6; + label REG STATE[67:67] MARKER7; + + label PTYPE 1 PTYPE_MAC_PAY; + label PTYPE 11 PTYPE_MAC_ARP; + label PTYPE 23 PTYPE_MAC_IPV4_PAY; + label PTYPE 24 PTYPE_MAC_IPV4_UDP; + label PTYPE 26 PTYPE_MAC_IPV4_TCP; + label PTYPE 33 PTYPE_MAC_IPV6_PAY; + label PTYPE 34 PTYPE_MAC_IPV6_UDP; + label PTYPE 35 PTYPE_MAC_IPV6_TCP; + label PTYPE 58 PTYPE_MAC_IPV4_TUN_MAC_PAY; + label PTYPE 59 PTYPE_MAC_IPV6_TUN_MAC_PAY; + label PTYPE 60 PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY; + label PTYPE 61 PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP; + label PTYPE 63 PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP; + label PTYPE 70 PTYPE_MAC_IPV4_TUN_MAC_IPV6_PAY; + label PTYPE 71 PTYPE_MAC_IPV4_TUN_MAC_IPV6_UDP; + label PTYPE 72 PTYPE_MAC_IPV4_TUN_MAC_IPV6_TCP; + label PTYPE 80 PTYPE_MAC_IPV6_TUN_MAC_IPV4_PAY; + label PTYPE 81 PTYPE_MAC_IPV6_TUN_MAC_IPV4_UDP; + label PTYPE 82 PTYPE_MAC_IPV6_TUN_MAC_IPV4_TCP; + label PTYPE 90 PTYPE_MAC_IPV6_TUN_MAC_IPV6_PAY; + label PTYPE 91 PTYPE_MAC_IPV6_TUN_MAC_IPV6_UDP; + label PTYPE 92 PTYPE_MAC_IPV6_TUN_MAC_IPV6_TCP; + label PTYPE 100 PTYPE_MAC_IPV4_GENEVE_IPV4_PAY; + label PTYPE 101 PTYPE_MAC_IPV4_GENEVE_IPV4_UDP; + label PTYPE 102 PTYPE_MAC_IPV4_GENEVE_IPV4_TCP; + label PTYPE 103 PTYPE_MAC_IPV4_GENEVE_IPV4_ICMP; + label PTYPE 110 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_PAY; + label PTYPE 111 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_UDP; + label PTYPE 112 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_TCP; + label PTYPE 113 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_ICMP; + label PTYPE 114 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_PAY; + label PTYPE 115 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_UDP; + label PTYPE 116 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_TCP; + label PTYPE 117 PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_ICMP6; + label PTYPE 118 PTYPE_MAC_IPV4_GENEVE_MAC_PAY; + label PTYPE 119 PTYPE_MAC_IPV4_GENEVE_MAC_ARP; + label PTYPE 120 PTYPE_MAC_IPV6_GENEVE_IPV4_PAY; + label PTYPE 121 PTYPE_MAC_IPV6_GENEVE_IPV4_UDP; + label PTYPE 122 PTYPE_MAC_IPV6_GENEVE_IPV4_TCP; + label PTYPE 123 PTYPE_MAC_IPV6_GENEVE_IPV4_ICMP; + label PTYPE 124 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_PAY; + label PTYPE 125 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_UDP; + label PTYPE 126 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_TCP; + label PTYPE 127 PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_ICMP; + label PTYPE 128 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_PAY; + label PTYPE 129 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_UDP; + label PTYPE 130 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_TCP; + label PTYPE 131 PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_ICMP6; + label PTYPE 132 PTYPE_MAC_IPV6_GENEVE_MAC_PAY; + label PTYPE 140 PTYPE_MAC_IPV4_IPV4_PAY; + label PTYPE 141 PTYPE_MAC_IPV4_IPV4_UDP; + label PTYPE 142 PTYPE_MAC_IPV4_IPV4_TCP; + label PTYPE 150 PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_PAY; + label PTYPE 151 PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_UDP; + label PTYPE 152 PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_TCP; + label PTYPE 153 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_PAY; + label PTYPE 154 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_UDP; + label PTYPE 155 PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_TCP; + label PTYPE 287 PTYPE_MAC_IPV4_TUN_MAC_ARP; + label PTYPE 288 PTYPE_MAC_IPV6_TUN_MAC_ARP; + label PTYPE 1022 PTYPE_REJECT; + + label REG STATE[7:0] S0; + label REG STATE[15:8] S1; + label REG STATE[23:16] S2; + label REG STATE[31:24] S3; + label REG STATE[39:32] S4; + label REG STATE[47:40] S5; + label REG STATE[55:48] S6; + label REG STATE[63:56] S7; + label REG STATE[59:56] NODEID; + label REG STATE[77:60] MARKERS; + label REG STATE[79:78] WAY_SEL; + label REG 31[7:0] NULL; + + label REG 31[7:0] UNUSED_INIT_KEY; + +block PARSER { + + + direction RX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + direction TX { + set %INIT_KEY0 %UNUSED_INIT_KEY; + set %INIT_KEY1 %UNUSED_INIT_KEY; + set %INIT_KEY2 %UNUSED_INIT_KEY; + set %INIT_KEY3 %UNUSED_INIT_KEY; + set %INIT_KEY4 %UNUSED_INIT_KEY; + set %INIT_KEY5 %UNUSED_INIT_KEY; + set %INIT_KEY6 %UNUSED_INIT_KEY; + set %INIT_KEY7 %UNUSED_INIT_KEY; + set %INIT_KEY8 %UNUSED_INIT_KEY; + set %INIT_KEY9 %UNUSED_INIT_KEY; + set %INIT_KEY10 %UNUSED_INIT_KEY; + set %INIT_KEY11 %UNUSED_INIT_KEY; + } + + set %DEFAULT_PTYPE 255; + set %CSUM_CONFIG_IPV4_0 32; + set %CSUM_CONFIG_IPV4_1 33; + set %CSUM_CONFIG_IPV4_2 34; + set %CSUM_CONFIG_IPV6_0 40; + set %CSUM_CONFIG_IPV6_1 41; + set %CSUM_CONFIG_IPV6_2 42; + set %CSUM_CONFIG_UDP_0 52; + set %CSUM_CONFIG_UDP_1 53; + set %CSUM_CONFIG_UDP_2 54; + set %CSUM_CONFIG_TCP_0 49; + set %PROTO_STACK_SIZE 26; + + tcam INIT_ID(%INIT_KEY0){ + 'h?? : 0; + } + + table METADATA_INIT(%INIT_ID){ + + 0 : FLAGS('b0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000), + STATE0(0), + STATE1(0), + STATE2(0), + STATE3(0), + STATE4(0), + STATE5(0), + STATE6(0), + STATE7(0), + STATE8(0), + STATE9(0), + HO(0), + W0(0), + W1(0), + W2(0); + } + + + tcam PTYPE(%ERROR, %MARKER7, %MARKER6, %MARKER5, %MARKER4, %MARKER3, %MARKER2, %MARKER1, %MARKER0, %NODEID, %STATE[79:68]) { + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 1, 'b??00_0000_0000 : PTYPE(29), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 1, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_ARP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(17), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(18), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(19), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(20), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(21), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(22), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(25), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b0, 4, 'b??00_0000_0000 : PTYPE(27), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(28), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 4, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_PAY), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 6, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_ICMP6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 6, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_ICMP6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(9), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(10), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(12), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(13), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(14), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b0, 2, 'b??00_0000_0000 : PTYPE(15), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b0, 2, 'b??00_0000_0000 : PTYPE(16), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 2, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_TCP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(2), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(3), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(4), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(5), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(6), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b0, 'b0, 'b1, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b0, 'b1, 'b0, 'b1, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV4_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b0, 3, 'b??00_0000_0000 : PTYPE(7), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b0, 3, 'b??00_0000_0000 : PTYPE(8), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_TUN_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b1, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_TUN_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b0, 'b0, 'b0, 'b1, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV4_GENEVE_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b1, 'b0, 'b1, 'b1, 'b0, 'b0, 'b0, 'b1, 3, 'b??00_0000_0000 : PTYPE(PTYPE_MAC_IPV6_GENEVE_MAC_IPV6_UDP), + L3_IN0_CSUM(ENABLE), + L3_IN1_CSUM(ENABLE), + L3_IN2_CSUM(ENABLE), + L4_IN0_ASSOC(0), + L4_IN1_ASSOC(1), + L4_IN2_ASSOC(2); + 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 'b0, 15, 'b??00_0000_0000 : PTYPE(PTYPE_REJECT), + L3_IN0_CSUM(DISABLE), + L3_IN1_CSUM(DISABLE), + L3_IN2_CSUM(DISABLE), + L4_IN0_ASSOC(DISABLE), + L4_IN1_ASSOC(DISABLE), + L4_IN2_ASSOC(DISABLE); + } + + stage 0 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: start */ + set %W0_OFFSET 0; + set %W1_OFFSET 2; + set %WAY_SEL 0; + set %S6 18; + set %S5 109; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 1 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'hFFFF, 'h??, 18, 'h6D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Maybe_BC_Depth0 */ + set %W0_OFFSET 4; + set %S6 18; + set %S5 108; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_????_???1, 'h????, 'h??, 18, 'h6D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_MC_Depth0 */ + set %PACKET_FLAG_16 1; + set %S6 18; + set %S5 106; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 2 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hFFFF, 'h????, 'h??, 18, 'h6C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_BC_Depth0 */ + set %PACKET_FLAG_15 1; + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 22; + set %S5 107; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 18, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Done_Depth0 */ + set %PROTO_SLOT_NEXT 0, MAC_IN0, MAC_IN1, MAC_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, VLAN_ETYPE_START_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %S6 22; + set %S5 107; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 3 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 22, 'h6B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_Depth0 */ + set %PACKET_FLAG_14 1; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN1, VLAN_EXT_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 22; + set %S5 104; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @1 { 'hA888, 'h????, 'h??, 22, 'h6B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_STag_Depth0 */ + set %PACKET_FLAG_14 1; + set %PROTO_SLOT_NEXT 0, VLAN_EXT_IN0, VLAN_EXT_IN1, VLAN_EXT_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 22; + set %S5 104; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 4 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 22, 'h68, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_DoubleVLAN_Depth0 */ + set %PROTO_SLOT_NEXT 0, VLAN_INT_IN0, VLAN_INT_IN1, VLAN_INT_IN2, PROTO_ID_INVALID; + set %S6 22; + set %S5 102; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 5 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 22, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth0 */ + set %PROTO_SLOT_NEXT 0, ETYPE_IN0, ETYPE_IN1, ETYPE_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 27; + set %S5 101; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 6 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 27, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth0 */ + set %MARKER1 1; + set %W0_OFFSET 0; + set %S6 24; + set %S5 95; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'hDD86, 'h????, 'h??, 27, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth0 */ + set %MARKER4 1; + set %PROTO_SLOT_NEXT 0, IPV6_IN0, IPV6_IN1, IPV6_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %S6 27; + set %S5 93; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @2 { 'h0608, 'h????, 'h??, 27, 'h65, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 26; + set %S5 100; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 7 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 24, 'h5F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 24, 'h5F, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??11, 'h????, 'h??, 27, 'h5D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, L4_IN0, L4_IN1, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 60; + set %S5 66; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @3 { 'h??06, 'h????, 'h??, 27, 'h5D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h??3A, 'h????, 'h??, 27, 'h5D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6 */ + set %NODEID 6; + set %W0_OFFSET 0; + set %S6 27; + set %S5 85; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 24, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth0 */ + set %W0_OFFSET 6; + set %S6 33; + set %S5 91; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 8 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 33, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 55; + set %S5 88; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 33, 'h5B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth0 */ + set %PACKET_FLAG_18 1; + set %S6 33; + set %S5 82; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 9 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 55, 'h58, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0_delay */ + set %S6 34; + set %S5 51; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 55, 'h58, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??04, 'h????, 'h??, 55, 'h58, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPV4_In_IPV4_Depth1 */ + set %PACKET_FLAG_20 1; + set %PACKET_FLAG_21 0; + set %S6 35; + set %S5 97; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 33, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth0 */ + set %PROTO_SLOT_NEXT 9, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, IP_NEXT_HDR_LAST_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, IPV4_IN0, IPV4_IN1, IPV4_IN2, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 59; + set %S5 79; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 10 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 34, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth0 */ + set %PROTO_SLOT_NEXT 0, UDP_IN0, UDP_IN1, UDP_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, L4_IN0, L4_IN1, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 60; + set %S5 66; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 35, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 37; + set %S5 94; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 11 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'hB512, 'h????, 'h??, 60, 'h42, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_VXLAN_Depth0 */ + set %PACKET_FLAG_20 0; + set %PACKET_FLAG_21 1; + set %MARKER6 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VXLAN_IN1, VXLAN_IN2, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 4, GENTUN_IN0, GENTUN_IN0, GENTUN_IN0, PROTO_ID_INVALID; + set %S6 38; + set %S5 62; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @1 { 'hC117, 'h????, 'h??, 60, 'h42, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_GENEVE_Depth0 */ + set %MARKER7 1; + set %PROTO_SLOT_NEXT 0, GENEVE_IN0, GENEVE_IN0, GENEVE_IN0, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 4, GENTUN_IN0, GENTUN_IN0, GENTUN_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 2; + set %S6 27; + set %S5 61; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 12 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h5865, 'h????, 'h??, 27, 'h3D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Depth1 */ + set %MARKER0 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 43; + set %S5 60; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + @1 { 'h0008, 'h????, 'h??, 27, 'h3D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 37; + set %S5 94; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'hDD86, 'h????, 'h??, 27, 'h3D, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth1 */ + set %MARKER5 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV6_IN0, IPV6_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %WAY_SEL 1; + set %S6 27; + set %S5 92; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 38, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_MAC_Depth1 */ + set %MARKER0 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, MAC_IN0, MAC_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 12, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, VLAN_ETYPE_START_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 12; + set %WAY_SEL 1; + set %S6 43; + set %S5 60; + alu 0 { ADD %HO, 12; } + alu 1 { NOP; } + } + + } + + } + } + stage 13 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 43, 'h3C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_EXT_IN0, VLAN_EXT_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 43; + set %S5 59; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @1 { 'hA888, 'h????, 'h??, 43, 'h3C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_STag_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_EXT_IN0, VLAN_EXT_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 4; + set %S6 43; + set %S5 59; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + + } + } + stage 14 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0081, 'h????, 'h??, 43, 'h3B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_CTag_DoubleVLAN_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, VLAN_INT_IN0, VLAN_INT_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_26 4, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %S6 43; + set %S5 57; + alu 0 { ADD %HO, 6; } + alu 1 { NOP; } + } + + } + + } + } + stage 15 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 43, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ETYPE_Depth1 */ + set %PROTO_SLOT_26 0, PROTO_ID_INVALID, ETYPE_IN0, ETYPE_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 0; + set %S6 27; + set %S5 56; + alu 0 { ADD %HO, 2; } + alu 1 { NOP; } + } + + } + + } + } + stage 16 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h0008, 'h????, 'h??, 27, 'h38, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Depth1 */ + set %MARKER2 1; + set %W0_OFFSET 0; + set %WAY_SEL 1; + set %S6 37; + set %S5 94; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'hDD86, 'h????, 'h??, 27, 'h38, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv6_Depth1 */ + set %MARKER5 1; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV6_IN0, IPV6_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 6; + set %WAY_SEL 1; + set %S6 27; + set %S5 92; + alu 0 { ADD %HO, 40; } + alu 1 { NOP; } + } + + } + @2 { 'h0608, 'h????, 'h??, 27, 'h38, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_ARP */ + set %NODEID 1; + set %PROTO_SLOT_NEXT 0, ARP, ARP, ARP, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 28, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 26; + set %S5 100; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 17 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 37, 'h5E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 37, 'h5E, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??11, 'h????, 'h??, 27, 'h5C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, UDP_IN0, UDP_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, PROTO_ID_INVALID, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %S6 60; + set %S5 65; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + @3 { 'h??06, 'h????, 'h??, 27, 'h5C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h??3A, 'h????, 'h??, 27, 'h5C, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6 */ + set %NODEID 6; + set %W0_OFFSET 0; + set %S6 27; + set %S5 85; + alu 0 { ADD %HO, 4; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 37, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth1 */ + set %W0_OFFSET 6; + set %S6 48; + set %S5 90; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 18 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 48, 'h5A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 55; + set %S5 87; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 48, 'h5A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth1 */ + set %PACKET_FLAG_18 1; + set %S6 48; + set %S5 81; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??87, 'h????, 'h??, 27, 'h55, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6_ns */ + set %PACKET_FLAG_26 1; + set %S6 27; + set %S5 84; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h??88, 'h????, 'h??, 27, 'h55, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_icmpv6_na */ + set %PACKET_FLAG_27 1; + set %S6 27; + set %S5 83; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 19 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 55, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1_delay */ + set %S6 51; + set %S5 50; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 55, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h??04, 'h????, 'h??, 55, 'h57, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPV4_In_IPV4_Depth2 */ + set %PACKET_FLAG_20 1; + set %PACKET_FLAG_21 1; + set %MARKER3 1; + set %W0_OFFSET 0; + set %WAY_SEL 2; + set %S6 52; + set %S5 96; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 48, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth1 */ + set %PROTO_SLOT_NEXT 9, PROTO_ID_INVALID, IP_NEXT_HDR_LAST_IN0, IP_NEXT_HDR_LAST_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, IPV4_IN0, IPV4_IN1, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 59; + set %S5 78; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 20 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_????_00??, 'h????, 'h??, 52, 'h60, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h???4, 'h????, 'h??, 52, 'h60, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 52, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Check_Frag_Depth2 */ + set %W0_OFFSET 6; + set %S6 56; + set %S5 89; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 51, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth1 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, UDP_IN0, UDP_IN1, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, PROTO_ID_INVALID, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %S6 60; + set %S5 65; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 21 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b0000_0000_??00_0000, 'h????, 'h??, 56, 'h59, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_NextProto_Depth2 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, PROTO_ID_INVALID, IPV4_IN0, PROTO_ID_INVALID; + set %W0_OFFSET 9; + set %W2_OFFSET 0; + set %S6 55; + set %S5 86; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + @1 { 'b0000_0000_??10_0000, 'h????, 'h??, 56, 'h59, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Head_Depth2 */ + set %PACKET_FLAG_18 1; + set %S6 56; + set %S5 80; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 22 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h??11, 'h????, 'h??, 55, 'h56, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth2_delay */ + set %S6 57; + set %S5 49; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??06, 'h????, 'h??, 55, 'h56, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP */ + set %W0_OFFSET 12; + set %S6 30; + set %S5 75; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'h????, 'h????, 'h??, 55, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY_delay */ + set %S6 27; + set %S5 53; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 56, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IPv4_Frag_Depth2 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, PROTO_ID_INVALID, IPV4_IN0, PROTO_ID_INVALID; + set %W2_OFFSET 0; + set %S6 59; + set %S5 77; + alu 0 { ADD %HO, (%W2 & 'h0F) << 2 + 0; } + alu 1 { NOP; } + } + + } + + } + } + stage 23 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_00??_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h??4?, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_Hdr_Too_Short */ + set %PACKET_FLAG_17 1; + set %S6 27; + set %S5 99; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_??01_????_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN */ + set %PACKET_FLAG_23 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @3 { 'b????_??10_????_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_SYN */ + set %PACKET_FLAG_22 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @4 { 'b????_??11_????_????, 'h????, 'h??, 30, 'h4B, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_FIN_SYN */ + set %PACKET_FLAG_23 1; + set %PACKET_FLAG_22 1; + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 30, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_No_FIN_SYN */ + set %PROTO_SLOT_NEXT 0, TCP, TCP, TCP, PROTO_ID_INVALID; + set %PROTO_SLOT_27 0, L4_IN0, L4_IN0, PROTO_ID_INVALID, PROTO_ID_INVALID; + set %W0_OFFSET 13; + set %W2_OFFSET 12; + set %S6 61; + set %S5 74; + alu 0 { ADD %HO, (%W2 & 'hF0) >> 2 + 0; } + alu 1 { NOP; } + } + + } + @6 { 'h????, 'h????, 'h??, 59, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_IP_Frag */ + set %PACKET_FLAG_19 1; + set %S6 27; + set %S5 76; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @7 { 'h????, 'h????, 'h??, 57, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_Depth2 */ + set %PROTO_SLOT_NEXT 0, PROTO_ID_INVALID, PROTO_ID_INVALID, UDP_IN0, PROTO_ID_INVALID; + set %S6 60; + set %S5 64; + alu 0 { ADD %HO, 8; } + alu 1 { NOP; } + } + + } + + } + } + stage 24 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'b????_????_???0_?1??, 'h????, 'h??, 61, 'h4A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST */ + set %PACKET_FLAG_24 1; + set %S6 64; + set %S5 70; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'b????_????_???1_?0??, 'h????, 'h??, 61, 'h4A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_ACK */ + set %PACKET_FLAG_25 1; + set %S6 64; + set %S5 69; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @2 { 'b????_????_???1_?1??, 'h????, 'h??, 61, 'h4A, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_RST_ACK */ + set %PACKET_FLAG_24 1; + set %PACKET_FLAG_25 1; + set %S6 64; + set %S5 68; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @3 { 'h????, 'h????, 'h??, 61, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay_delay */ + set %S6 64; + set %S5 52; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @4 { 'h????, 'h????, 'h??, 27, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_PAY */ + set %NODEID 4; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 68; + set %S5 98; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @5 { 'h????, 'h????, 'h??, 60, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_UDP_PAY */ + set %NODEID 3; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 63; + set %S5 63; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 25 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + @0 { 'h????, 'h????, 'h??, 64, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: Parse_TCP_Pay */ + set %NODEID 2; + set %PROTO_SLOT_NEXT 0, PAY, PAY, PAY, PAY; + set %FLAG_DONE 1; + set %S6 69; + set %S5 67; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + @1 { 'h????, 'h????, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h??, 'h?? + { /* State: reject */ + set %NODEID 15; + set %MARKERS 0; + set %FLAG_DONE 1; + set %S5 54; + alu 0 { NOP; } + alu 1 { NOP; } + } + + } + + } + } + stage 26 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 27 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 28 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 29 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 30 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 31 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 32 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 33 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 34 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 35 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 36 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 37 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 38 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 39 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 40 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 41 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 42 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 43 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 44 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 45 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 46 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } + stage 47 { + + tmem RULES(%W0, %W1, %S7, %S6, %S5, %S4, %S3, %S2, %S1, %S0) { + default(); + + } + } +} + + +block SEM { + + domain 0 { + + owner PROFILE_CFG 1..1023 0; + owner PROFILE 12..1023 0; + owner OBJECT_CACHE_CFG 0..4 0; + owner CACHE_BANK 0..5 0; + owner PROFILE 4095..4095 0; + owner PROFILE_CFG 0 0; + + tcam MD_PRE_EXTRACT(%TX, %PTYPE) { + + 1, 'b??_????_???? : %MD4[7:0], %NULL, %NULL, %NULL; + 0, 'b??_????_???? : %MD4[7:0], %NULL, %NULL, %NULL; + } + + + tcam SEM_MD2(%MD_PRE_EXTRACT, %FLAGS[15:0], %PARSER_FLAGS[39:8]) { + 'h????_????, 16'b????_????_????_???1, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(53), KEY(50), KEY(49), KEY(51), KEY(34), KEY(52), KEY(48), KEY(45), KEY(44), KEY(33), KEY(32); + 'h????_????, 16'b????_????_????_???0, 32'b????_????_????_????_????_????_????_???? : BASE(0), KEY(34), KEY(52), KEY(48), KEY(45), KEY(44), KEY(33), KEY(32); + + } + + table PTYPE_GROUP(%PTYPE) { + + 255 : 255, DROP(0); + 1 : 1, DROP(0); + 11 : 11, DROP(0); + 23 : 23, DROP(0); + 24 : 24, DROP(0); + 26 : 26, DROP(0); + 33 : 33, DROP(0); + 34 : 34, DROP(0); + 35 : 35, DROP(0); + 58 : 58, DROP(0); + 287 : 287, DROP(0); + 59 : 59, DROP(0); + 288 : 288, DROP(0); + 60 : 60, DROP(0); + 61 : 61, DROP(0); + 63 : 63, DROP(0); + 70 : 70, DROP(0); + 71 : 71, DROP(0); + 72 : 72, DROP(0); + 80 : 80, DROP(0); + 81 : 81, DROP(0); + 82 : 82, DROP(0); + 90 : 90, DROP(0); + 91 : 91, DROP(0); + 92 : 92, DROP(0); + 150 : 150, DROP(0); + 152 : 152, DROP(0); + 151 : 151, DROP(0); + 153 : 153, DROP(0); + 154 : 154, DROP(0); + 155 : 155, DROP(0); + 140 : 140, DROP(0); + 141 : 141, DROP(0); + 142 : 142, DROP(0); + 100 : 100, DROP(0); + 101 : 101, DROP(0); + 102 : 102, DROP(0); + 103 : 103, DROP(0); + 118 : 118, DROP(0); + 119 : 119, DROP(0); + 110 : 110, DROP(0); + 111 : 111, DROP(0); + 112 : 112, DROP(0); + 113 : 113, DROP(0); + 114 : 114, DROP(0); + 115 : 115, DROP(0); + 116 : 116, DROP(0); + 117 : 117, DROP(0); + 132 : 132, DROP(0); + 120 : 120, DROP(0); + 121 : 121, DROP(0); + 122 : 122, DROP(0); + 123 : 123, DROP(0); + 124 : 124, DROP(0); + 125 : 125, DROP(0); + 126 : 126, DROP(0); + 127 : 127, DROP(0); + 128 : 128, DROP(0); + 129 : 129, DROP(0); + 130 : 130, DROP(0); + 131 : 131, DROP(0); + } + + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %SEM_MD2, %PORT) { + + @12 { 11, 'b???_????_????, 'h???0, 'b?? : 11; } + @13 { 119, 'b???_????_????, 'h???0, 'b?? : 11; } + @14 { 287, 'b???_????_????, 'h???0, 'b?? : 11; } + @15 { 288, 'b???_????_????, 'h???0, 'b?? : 11; } + @16 { 58, 'b???_????_????, 'h???0, 'b?? : 13; } + @17 { 60, 'b???_????_????, 'h???0, 'b?? : 13; } + @18 { 61, 'b???_????_????, 'h???0, 'b?? : 13; } + @19 { 63, 'b???_????_????, 'h???0, 'b?? : 13; } + @20 { 70, 'b???_????_????, 'h???0, 'b?? : 13; } + @21 { 71, 'b???_????_????, 'h???0, 'b?? : 13; } + @22 { 72, 'b???_????_????, 'h???0, 'b?? : 13; } + @23 { 100, 'b???_????_????, 'h???0, 'b?? : 13; } + @24 { 101, 'b???_????_????, 'h???0, 'b?? : 13; } + @25 { 102, 'b???_????_????, 'h???0, 'b?? : 13; } + @26 { 110, 'b???_????_????, 'h???0, 'b?? : 13; } + @27 { 111, 'b???_????_????, 'h???0, 'b?? : 13; } + @28 { 112, 'b???_????_????, 'h???0, 'b?? : 13; } + @29 { 114, 'b???_????_????, 'h???0, 'b?? : 13; } + @30 { 115, 'b???_????_????, 'h???0, 'b?? : 13; } + @31 { 116, 'b???_????_????, 'h???0, 'b?? : 13; } + @32 { 118, 'b???_????_????, 'h???0, 'b?? : 13; } + @33 { 140, 'b???_????_????, 'h???0, 'b?? : 13; } + @34 { 141, 'b???_????_????, 'h???0, 'b?? : 13; } + @35 { 142, 'b???_????_????, 'h???0, 'b?? : 13; } + @36 { 150, 'b???_????_????, 'h???0, 'b?? : 13; } + @37 { 151, 'b???_????_????, 'h???0, 'b?? : 13; } + @38 { 152, 'b???_????_????, 'h???0, 'b?? : 13; } + @39 { 153, 'b???_????_????, 'h???0, 'b?? : 13; } + @40 { 154, 'b???_????_????, 'h???0, 'b?? : 13; } + @41 { 155, 'b???_????_????, 'h???0, 'b?? : 13; } + @42 { 1, 'b???_????_????, 'h???0, 'b?? : 15; } + @43 { 23, 'b???_????_????, 'h???0, 'b?? : 15; } + @44 { 24, 'b???_????_????, 'h???0, 'b?? : 15; } + @45 { 26, 'b???_????_????, 'h???0, 'b?? : 15; } + @46 { 33, 'b???_????_????, 'h???0, 'b?? : 15; } + @47 { 34, 'b???_????_????, 'h???0, 'b?? : 15; } + @48 { 35, 'b???_????_????, 'h???0, 'b?? : 15; } + @49 { 59, 'b???_????_????, 'h???0, 'b?? : 15; } + @50 { 80, 'b???_????_????, 'h???0, 'b?? : 15; } + @51 { 81, 'b???_????_????, 'h???0, 'b?? : 15; } + @52 { 82, 'b???_????_????, 'h???0, 'b?? : 15; } + @53 { 90, 'b???_????_????, 'h???0, 'b?? : 15; } + @54 { 91, 'b???_????_????, 'h???0, 'b?? : 15; } + @55 { 92, 'b???_????_????, 'h???0, 'b?? : 15; } + @56 { 120, 'b???_????_????, 'h???0, 'b?? : 15; } + @57 { 121, 'b???_????_????, 'h???0, 'b?? : 15; } + @58 { 122, 'b???_????_????, 'h???0, 'b?? : 15; } + @59 { 124, 'b???_????_????, 'h???0, 'b?? : 15; } + @60 { 125, 'b???_????_????, 'h???0, 'b?? : 15; } + @61 { 126, 'b???_????_????, 'h???0, 'b?? : 15; } + @62 { 128, 'b???_????_????, 'h???0, 'b?? : 15; } + @63 { 129, 'b???_????_????, 'h???0, 'b?? : 15; } + @64 { 130, 'b???_????_????, 'h???0, 'b?? : 15; } + @65 { 132, 'b???_????_????, 'h???0, 'b?? : 15; } + @66 { 58, 'b???_????_????, 'h???4, 'b?? : 1; } + @67 { 60, 'b???_????_????, 'h???4, 'b?? : 1; } + @68 { 61, 'b???_????_????, 'h???4, 'b?? : 1; } + @69 { 63, 'b???_????_????, 'h???4, 'b?? : 1; } + @70 { 70, 'b???_????_????, 'h???4, 'b?? : 1; } + @71 { 71, 'b???_????_????, 'h???4, 'b?? : 1; } + @72 { 72, 'b???_????_????, 'h???4, 'b?? : 1; } + @73 { 100, 'b???_????_????, 'h???4, 'b?? : 1; } + @74 { 101, 'b???_????_????, 'h???4, 'b?? : 1; } + @75 { 102, 'b???_????_????, 'h???4, 'b?? : 1; } + @76 { 110, 'b???_????_????, 'h???4, 'b?? : 1; } + @77 { 111, 'b???_????_????, 'h???4, 'b?? : 1; } + @78 { 112, 'b???_????_????, 'h???4, 'b?? : 1; } + @79 { 114, 'b???_????_????, 'h???4, 'b?? : 1; } + @80 { 115, 'b???_????_????, 'h???4, 'b?? : 1; } + @81 { 116, 'b???_????_????, 'h???4, 'b?? : 1; } + @82 { 118, 'b???_????_????, 'h???4, 'b?? : 1; } + @83 { 119, 'b???_????_????, 'h???4, 'b?? : 1; } + @84 { 140, 'b???_????_????, 'h???4, 'b?? : 1; } + @85 { 141, 'b???_????_????, 'h???4, 'b?? : 1; } + @86 { 142, 'b???_????_????, 'h???4, 'b?? : 1; } + @87 { 150, 'b???_????_????, 'h???4, 'b?? : 1; } + @88 { 151, 'b???_????_????, 'h???4, 'b?? : 1; } + @89 { 152, 'b???_????_????, 'h???4, 'b?? : 1; } + @90 { 153, 'b???_????_????, 'h???4, 'b?? : 1; } + @91 { 154, 'b???_????_????, 'h???4, 'b?? : 1; } + @92 { 155, 'b???_????_????, 'h???4, 'b?? : 1; } + @93 { 287, 'b???_????_????, 'h???4, 'b?? : 1; } + @94 { 59, 'b???_????_????, 'h???4, 'b?? : 2; } + @95 { 80, 'b???_????_????, 'h???4, 'b?? : 2; } + @96 { 81, 'b???_????_????, 'h???4, 'b?? : 2; } + @97 { 82, 'b???_????_????, 'h???4, 'b?? : 2; } + @98 { 90, 'b???_????_????, 'h???4, 'b?? : 2; } + @99 { 91, 'b???_????_????, 'h???4, 'b?? : 2; } + @100 { 92, 'b???_????_????, 'h???4, 'b?? : 2; } + @101 { 120, 'b???_????_????, 'h???4, 'b?? : 2; } + @102 { 121, 'b???_????_????, 'h???4, 'b?? : 2; } + @103 { 122, 'b???_????_????, 'h???4, 'b?? : 2; } + @104 { 124, 'b???_????_????, 'h???4, 'b?? : 2; } + @105 { 125, 'b???_????_????, 'h???4, 'b?? : 2; } + @106 { 126, 'b???_????_????, 'h???4, 'b?? : 2; } + @107 { 128, 'b???_????_????, 'h???4, 'b?? : 2; } + @108 { 129, 'b???_????_????, 'h???4, 'b?? : 2; } + @109 { 130, 'b???_????_????, 'h???4, 'b?? : 2; } + @110 { 132, 'b???_????_????, 'h???4, 'b?? : 2; } + @111 { 288, 'b???_????_????, 'h???4, 'b?? : 2; } + @112 { 'b??_????_????, 'b???_????_????, 'h???4, 'b?? : 3; } + @113 { 'b??_????_????, 'b???_????_????, 'b????_????_???1_??00, 'b?? : 11; } + @114 { 'b??_????_????, 'b???_????_????, 'b????_????_???1_????, 'b?? : 6; } + @115 { 'b??_????_????, 'b???_????_????, 'b????_????_??1?_????, 'b?? : 5; } + @116 { 'b??_????_????, 'b???_????_????, 'h???2, 'b?? : 4; } + @117 { 11, 2, 'b????_????_????_00?1, 'b?? : 16; } + @118 { 119, 2, 'b????_????_????_00?1, 'b?? : 16; } + @119 { 287, 2, 'b????_????_????_00?1, 'b?? : 16; } + @120 { 288, 2, 'b????_????_????_00?1, 'b?? : 16; } + @121 { 'b??_????_????, 1, 'b????_????_????_00?1, 'b?? : 10; } + @122 { 1, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @123 { 11, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @124 { 23, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @125 { 24, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @126 { 26, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 8; } + @127 { 33, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 9; } + @128 { 34, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 9; } + @129 { 35, 'b???_????_????, 'b????_????_?0??_00?1, 'b?? : 9; } + @130 { 58, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @131 { 59, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @132 { 60, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @133 { 61, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @134 { 63, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @135 { 70, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @136 { 71, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @137 { 72, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @138 { 80, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @139 { 81, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @140 { 82, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @141 { 90, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @142 { 91, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @143 { 92, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @144 { 100, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @145 { 101, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @146 { 102, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @147 { 110, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @148 { 111, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @149 { 112, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @150 { 114, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @151 { 115, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @152 { 116, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @153 { 118, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @154 { 119, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @155 { 120, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @156 { 121, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @157 { 122, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @158 { 124, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @159 { 125, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @160 { 126, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @161 { 128, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @162 { 129, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @163 { 130, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @164 { 132, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @165 { 140, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @166 { 141, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @167 { 142, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @168 { 150, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @169 { 151, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @170 { 152, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @171 { 153, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @172 { 154, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @173 { 155, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @174 { 287, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @175 { 288, 'b???_????_????, 'b????_?1??_?0??_01?1, 'b?? : 14; } + @176 { 1, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @177 { 11, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @178 { 23, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @179 { 24, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @180 { 26, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @181 { 33, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @182 { 34, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @183 { 35, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @184 { 58, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @185 { 59, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @186 { 60, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @187 { 61, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @188 { 63, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @189 { 70, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @190 { 71, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @191 { 72, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @192 { 80, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @193 { 81, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @194 { 82, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @195 { 90, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @196 { 91, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @197 { 92, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @198 { 110, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @199 { 111, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @200 { 112, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @201 { 114, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @202 { 115, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @203 { 116, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @204 { 118, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @205 { 119, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @206 { 124, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @207 { 125, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @208 { 126, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @209 { 128, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @210 { 129, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @211 { 130, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @212 { 132, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @213 { 287, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @214 { 288, 'b???_????_????, 'b????_?0??_?0??_01?1, 'b?? : 14; } + @215 { 1, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @216 { 11, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @217 { 23, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @218 { 24, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @219 { 26, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @220 { 33, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @221 { 34, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @222 { 35, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @223 { 58, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @224 { 59, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @225 { 60, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @226 { 61, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @227 { 63, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @228 { 70, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @229 { 71, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @230 { 72, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @231 { 80, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @232 { 81, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @233 { 82, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @234 { 90, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @235 { 91, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @236 { 92, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @237 { 110, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @238 { 111, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @239 { 112, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @240 { 114, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @241 { 115, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @242 { 116, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @243 { 118, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @244 { 119, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @245 { 124, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @246 { 125, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @247 { 126, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @248 { 128, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @249 { 129, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @250 { 130, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @251 { 132, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @252 { 287, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @253 { 288, 'b???_????_????, 'b????_?1??_?0??_10?1, 'b?? : 14; } + @4095 { 'b??_????_????, 'b???_????_????, 'h????, 'b?? : 0; } + } + + table OBJECT_CACHE_CFG(%OBJECT_ID) { + + 0 : BASE(0), ENTRY_SIZE(32), START_BANK(0), NUM_BANKS(2); + 1 : BASE(10424320), ENTRY_SIZE(64), START_BANK(2), NUM_BANKS(2); + 2 : BASE(31272960), ENTRY_SIZE(64), START_BANK(4), NUM_BANKS(2); + } + + table PROFILE_CFG(%PROFILE) { + + 11 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_phy_port_to_pr_map + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3825336332), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 13 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // ipv4_ipsec_tunnel_term_table + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(8), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (33, 12, 'hFFFF), + WORD1 (33, 14, 'hFFFF), + WORD2 (33, 16, 'hFFFF), + WORD3 (33, 18, 'hFFFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 15 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // always_recirculate_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (4, 0, 'hFFFF), + WORD1 (4, 0, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 1 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_ipv4_tunnel_source_port + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (33, 12, 'hFFFF), + WORD1 (33, 14, 'hFFFF), + WORD2 (131, 0, 'hFFFF), + WORD3 (131, 2, 'hFF) + } + + } +, + // ipv4_tunnel_term_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774988352), + MISS_ACTION1(3896508673), + EXTRACT { + WORD0 (33, 12, 'hFFFF), + WORD1 (33, 14, 'hFFFF), + WORD2 (131, 0, 'hFFFF), + WORD3 (131, 2, 'hFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 2 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_ipv6_tunnel_source_port + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (41, 8, 'hFFFF), + WORD1 (41, 10, 'hFFFF), + WORD2 (41, 12, 'hFFFF), + WORD3 (41, 14, 'hFFFF), + WORD4 (41, 16, 'hFFFF), + WORD5 (41, 18, 'hFFFF), + WORD6 (41, 20, 'hFFFF), + WORD7 (41, 22, 'hFFFF), + WORD8 (131, 0, 'hFFFF), + WORD9 (131, 2, 'hFF) + } + + } +, + // ipv6_tunnel_term_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + EXTRACT { + WORD0 (41, 8, 'hFFFF), + WORD1 (41, 10, 'hFFFF), + WORD2 (41, 12, 'hFFFF), + WORD3 (41, 14, 'hFFFF), + WORD4 (41, 16, 'hFFFF), + WORD5 (41, 18, 'hFFFF), + WORD6 (41, 20, 'hFFFF), + WORD7 (41, 22, 'hFFFF), + WORD8 (131, 0, 'hFFFF), + WORD9 (131, 2, 'hFF) + } + + } +; + 3 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_source_port + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3921936385), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 6 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // source_port_to_pr_map + LUT { + OBJECT_ID(1), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3825336332), + EXTRACT { + WORD0 (228, 8, 'hFFFF), + WORD1 (228, 5, 'hFF) + } + + } +, + // empty_sem_1 + LUT { + OBJECT_ID(1), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 5 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // rx_lag_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (224, 5, 'h18), + WORD1 (228, 1, 'hFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 4 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // vsi_to_vsi_loopback + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774874625), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (230, 2, 'hFFE) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 16 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // always_trap_arp_table + LUT { + OBJECT_ID(0), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3774988352), + MISS_ACTION1(3896508673), + EXTRACT { + WORD0 (4, 0, 'hFFFF), + WORD1 (4, 0, 'hFFFF) + } + + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // empty_sem_0 + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 10 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // tx_acc_vsi + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(4), + MISS_ACTION0(3825369089), + MISS_ACTION1(3897757712), + EXTRACT { + WORD0 (224, 24, 'h7FF), + WORD1 (228, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 8 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_to_tunnel_v4 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 9 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // l2_to_tunnel_v6 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + MISS_ACTION0(3774988352), + EXTRACT { + WORD0 (1, 0, 'hFFFF), + WORD1 (1, 2, 'hFFFF), + WORD2 (1, 4, 'hFFFF) + } + + } +, + // empty_sem_2 + LUT { + OBJECT_ID(2), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + 14 : SWID_SRC(DERIVE), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(18), HASH_SIZE1(15), HASH_SIZE2(14), HASH_SIZE3(13), HASH_SIZE4(12), HASH_SIZE5(11), PINNED_LOOKUP(0), AGING_MODE(NONE), + // nexthop_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + EXTRACT { + WORD0 (228, 2, 'hFFFF), + WORD1 (228, 5, 'hFF) + } + + } +, + // ipsec_tx_sa_classification_table + LUT { + OBJECT_ID(2), + VSI_LIST_EN(1), + INV_ACTION(0), + NUM_ACTIONS(12), + EXTRACT { + WORD0 (32, 16, 'hFFFF), + WORD1 (32, 18, 'hFFFF), + WORD2 (32, 9, 'hFF), + WORD3 (228, 0, 'h2) + } + + } +; + 0 : SWID_SRC(0), COMPRESS_KEY(0), AUX_PREC(0), HASH_SIZE0(1), HASH_SIZE1(1), HASH_SIZE2(1), HASH_SIZE3(1), HASH_SIZE4(1), HASH_SIZE5(1), PINNED_LOOKUP(0), AGING_MODE(NONE), + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +, + // compiler_internal_sem_bypass + LUT { + OBJECT_ID(0), + VSI_LIST_EN(0), + INV_ACTION(0), + NUM_ACTIONS(1) + } +; + } + + } +} + +block LEM { + + domain 0 { + + owner PROFILE_CFG 1..100 0; + owner OBJECT_CACHE_CFG 0..3 0; + owner HASH_SPACE_CFG 0 0; + owner HASH_SPACE_CFG 1 0; + owner CACHE_BANK 0..5 0; + owner PROFILE_CFG 0 0; + table OBJECT_CACHE_CFG(%OBJECT_ID) { + 0 : + ENTRY_SIZE(64), + START_BANK(0), + NUM_BANKS(2); + 1 : + ENTRY_SIZE(64), + START_BANK(2), + NUM_BANKS(2); + + } + table PROFILE_CFG(%PROFILE) { + 7 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(7), + LUT { + NUM_ACTIONS(4), + OBJECT_ID(0), + EXTRACT { + WORD0(32, 12, 'hFFFF), + WORD1(32, 14, 'hFFFF) + } + }; + 8 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(8), + LUT { + NUM_ACTIONS(4), + OBJECT_ID(0), + EXTRACT { + WORD0(32, 16, 'hFFFF), + WORD1(32, 18, 'hFFFF) + } + }; + 1 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(1), + LUT { + NUM_ACTIONS(8), + OBJECT_ID(0), + MISS_ACTION0(964689920), + MISS_ACTION1(3774988352), + MISS_ACTION2(3896508673), + EXTRACT { + WORD0(229, 4, 'hFF), + WORD1(1, 0, 'hFFFF), + WORD2(1, 2, 'hFFFF), + WORD3(1, 4, 'hFFFF) + } + }; + 9 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(9), + LUT { + NUM_ACTIONS(8), + OBJECT_ID(0), + MISS_ACTION0(964689920), + MISS_ACTION1(3774988352), + MISS_ACTION2(3896508673), + EXTRACT { + WORD0(1, 6, 'hFFFF), + WORD1(1, 8, 'hFFFF), + WORD2(1, 10, 'hFFFF), + WORD3(229, 4, 'hFF) + } + }; + 4 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(4), + LUT { + NUM_ACTIONS(8), + OBJECT_ID(0), + MISS_ACTION0(964689920), + MISS_ACTION1(3774988352), + MISS_ACTION2(1656437820), + MISS_ACTION3(1946157057), + MISS_ACTION4(3896508673), + EXTRACT { + WORD0(229, 4, 'hFF), + WORD1(1, 0, 'hFFFF), + WORD2(1, 2, 'hFFFF), + WORD3(1, 4, 'hFFFF) + } + }; + 10 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(10), + LUT { + NUM_ACTIONS(12), + OBJECT_ID(0), + EXTRACT { + WORD0(32, 16, 'hFFFF), + WORD1(32, 18, 'hFFFF), + WORD2(32, 9, 'hFF) + } + }; + 11 : + PINNED(0), + HASH_SIZE0(18), + HASH_SIZE1(15), + HASH_SIZE2(14), + HASH_SIZE3(13), + HASH_SIZE4(12), + HASH_SIZE5(11), + AUX_PREC(0), + PROFILE_GROUP(11), + LUT { + NUM_ACTIONS(12), + OBJECT_ID(0), + EXTRACT { + WORD0(224, 15, 'hFFFF), + WORD1(224, 17, 'hFF), + WORD2(228, 4, 'hFFF8) + } + }; + 0 : + HASH_SIZE0(1), + HASH_SIZE1(1), + HASH_SIZE2(1), + HASH_SIZE3(1), + HASH_SIZE4(1), + HASH_SIZE5(1), + LUT { + NUM_ACTIONS(0), + KEY_SIZE(0) + }; + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + 1 : + BASE('h0); + + } + + } +} + +block HASH { + + domain 0 { + + owner PROFILE 0..127 0; + owner PROFILE_LUT_CFG 1..15 0; + owner KEY_EXTRACT 1..15 0; + owner SYMMETRICIZE 1..15 0; + owner KEY_MASK 1..15 0; + owner PROFILE 4095..4095 0; + owner PROFILE_LUT_CFG 0 0; + owner KEY_EXTRACT 0 0; + owner KEY_MASK 0 0; + tcam MD_EXTRACT(%PTYPE, %MD_DIGEST, %FLAGS[15:0]) { + 'b????_????_??, 'h??, 'b????_????_????_???1 : %MD4[7:0], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + 'b????_????_??, 'h??, 'b????_????_????_???0 : %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + + } + tcam MD_KEY(%PTYPE, %MD_EXTRACT, %FLAGS[15:0], %PARSER_FLAGS[39:8]) { + 'b????_????_??, 'h????_????, 'b????_????_????_???1, 'h????_???? : + MASK('hFFFF), + KEY(52), + KEY(51), + KEY(45), + KEY(44), + KEY(33), + KEY(32); + 'b????_????_??, 'h????_????, 'b????_????_????_???0, 'h????_???? : + MASK('hFFFF), + KEY(45), + KEY(44), + KEY(33), + KEY(32); + + } + table PTYPE_GROUP(%PTYPE) { + 26 : 1; + 63 : 1; + 82 : 1; + 102 : 1; + 112 : 1; + 142 : 1; + 152 : 1; + 155 : 1; + 122 : 1; + 126 : 1; + 24 : 2; + 61 : 2; + 81 : 2; + 101 : 2; + 111 : 2; + 141 : 2; + 151 : 2; + 154 : 2; + 121 : 2; + 125 : 2; + 23 : 3; + 60 : 3; + 80 : 3; + 100 : 3; + 110 : 3; + 140 : 3; + 150 : 3; + 153 : 3; + 120 : 3; + 124 : 3; + 35 : 4; + 72 : 4; + 92 : 4; + 116 : 4; + 130 : 4; + 34 : 5; + 71 : 5; + 91 : 5; + 115 : 5; + 129 : 5; + 33 : 6; + 70 : 6; + 90 : 6; + 114 : 6; + 128 : 6; + 1 : 10; + 11 : 10; + 12 : 10; + 58 : 10; + 59 : 10; + 287 : 10; + 288 : 10; + 118 : 10; + 119 : 10; + 132 : 10; + + } + tcam PROFILE(%PTYPE_GROUP, %VSI_GROUP, %MD_KEY) { + @0 { 10, 'b????_?, 'b????_????_????_???0 : 1; } + @1 { 1, 'b????_?, 'b????_????_????_???0 : 1; } + @2 { 2, 'b????_?, 'b????_????_????_???0 : 2; } + @3 { 3, 'b????_?, 'b????_????_????_???0 : 3; } + @4 { 6, 'b????_?, 'b????_????_????_???0 : 1; } + @5 { 4, 'b????_?, 'b????_????_????_???0 : 4; } + @6 { 5, 'b????_?, 'b????_????_????_???0 : 5; } + @7 { 10, 'b????_?, 'b????_????_???1_00?1 : 7; } + @8 { 3, 'b????_?, 'b????_????_???1_00?1 : 7; } + @9 { 2, 'b????_?, 'b????_????_???1_00?1 : 7; } + @10 { 1, 'b????_?, 'b????_????_???1_00?1 : 7; } + @11 { 6, 'b????_?, 'b????_????_???1_00?1 : 8; } + @12 { 5, 'b????_?, 'b????_????_???1_00?1 : 8; } + @13 { 4, 'b????_?, 'b????_????_???1_00?1 : 8; } + @14 { 10, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @15 { 3, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @16 { 2, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @17 { 1, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @18 { 6, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @19 { 5, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @20 { 4, 'b????_?, 'b????_????_??1?_00?1 : 9; } + @21 { 10, 'b????_?, 'b????_????_????_00?1 : 11; } + @22 { 3, 'b????_?, 'b????_????_????_00?1 : 11; } + @23 { 2, 'b????_?, 'b????_????_????_00?1 : 11; } + @24 { 1, 'b????_?, 'b????_????_????_00?1 : 11; } + @25 { 6, 'b????_?, 'b????_????_????_00?1 : 11; } + @26 { 5, 'b????_?, 'b????_????_????_00?1 : 11; } + @27 { 4, 'b????_?, 'b????_????_????_00?1 : 11; } + @4095 { 'b????, 'b????_?, 'h???? : 0; } + + } + + define LUT linux_networking_control_hash_ipv4_tcp_lut { + BASE('h0), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv4_udp_lut { + BASE('h80), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv4_lut { + BASE('h100), + SIZE('h80) + } + + define LUT linux_networking_control_hash_l2_lut { + BASE('h180), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_tcp_lut { + BASE('h200), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_udp_lut { + BASE('h280), + SIZE('h80) + } + + define LUT linux_networking_control_hash_ipv6_lut { + BASE('h300), + SIZE('h80) + } + table PROFILE_LUT_CFG(%PROFILE) { + 1 : + TYPE(QUEUE), + MASK_SELECT(1), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 2 : + TYPE(QUEUE), + MASK_SELECT(2), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 3 : + TYPE(QUEUE), + MASK_SELECT(3), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 4 : + TYPE(QUEUE), + MASK_SELECT(4), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 5 : + TYPE(QUEUE), + MASK_SELECT(5), + TC_OVR(0), + VSI_PROFILE_OVR(1); + 7 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(6), + VSI_PROFILE_OVR(1); + 8 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(7), + VSI_PROFILE_OVR(1); + 9 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(8), + VSI_PROFILE_OVR(1); + 11 : + TYPE(INTERNAL), + ALG(TOEPLITZ), + MASK_SELECT(9), + VSI_PROFILE_OVR(1); + 0 : + TYPE(QUEUE), + MASK_SELECT(0), + TC_OVR(0), + VSI_PROFILE_OVR(1); + + } + table KEY_EXTRACT(%PROFILE) { + 1 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(49, 0), + BYTE9(49, 1), + BYTE10(49, 2), + BYTE11(49, 3); + 2 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(52, 0), + BYTE9(52, 1), + BYTE10(52, 2), + BYTE11(52, 3); + 3 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19); + 4 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(49, 0), + BYTE33(49, 1), + BYTE34(49, 2), + BYTE35(49, 3); + 5 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(52, 0), + BYTE33(52, 1), + BYTE34(52, 2), + BYTE35(52, 3); + 7 : + BYTE0(32, 12), + BYTE1(32, 13), + BYTE2(32, 14), + BYTE3(32, 15), + BYTE4(32, 16), + BYTE5(32, 17), + BYTE6(32, 18), + BYTE7(32, 19), + BYTE8(32, 9), + BYTE9(52, 0), + BYTE10(52, 1), + BYTE11(52, 2), + BYTE12(52, 3); + 8 : + BYTE0(40, 8), + BYTE1(40, 9), + BYTE2(40, 10), + BYTE3(40, 11), + BYTE4(40, 12), + BYTE5(40, 13), + BYTE6(40, 14), + BYTE7(40, 15), + BYTE8(40, 16), + BYTE9(40, 17), + BYTE10(40, 18), + BYTE11(40, 19), + BYTE12(40, 20), + BYTE13(40, 21), + BYTE14(40, 22), + BYTE15(40, 23), + BYTE16(40, 24), + BYTE17(40, 25), + BYTE18(40, 26), + BYTE19(40, 27), + BYTE20(40, 28), + BYTE21(40, 29), + BYTE22(40, 30), + BYTE23(40, 31), + BYTE24(40, 32), + BYTE25(40, 33), + BYTE26(40, 34), + BYTE27(40, 35), + BYTE28(40, 36), + BYTE29(40, 37), + BYTE30(40, 38), + BYTE31(40, 39), + BYTE32(40, 6), + BYTE33(52, 0), + BYTE34(52, 1), + BYTE35(52, 2), + BYTE36(52, 3); + 9 : + BYTE0(1, 0), + BYTE1(1, 1), + BYTE2(1, 2), + BYTE3(1, 3), + BYTE4(1, 4), + BYTE5(1, 5), + BYTE6(1, 6), + BYTE7(1, 7), + BYTE8(1, 8), + BYTE9(1, 9), + BYTE10(1, 10), + BYTE11(1, 11); + 11 : + BYTE0(1, 0), + BYTE1(1, 1), + BYTE2(1, 2), + BYTE3(1, 3), + BYTE4(1, 4), + BYTE5(1, 5), + BYTE6(1, 6), + BYTE7(1, 7), + BYTE8(1, 8), + BYTE9(1, 9), + BYTE10(1, 10), + BYTE11(1, 11), + BYTE12(9, 0), + BYTE13(9, 1); + 0 : + BYTE0(255, 255), + BYTE1(255, 255); + + } + table KEY_MASK(%MASK_SELECT) { + 1 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 2 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 3 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF); + 4 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF); + 5 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF); + 6 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF); + 7 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF), + BYTE14('hFF), + BYTE15('hFF), + BYTE16('hFF), + BYTE17('hFF), + BYTE18('hFF), + BYTE19('hFF), + BYTE20('hFF), + BYTE21('hFF), + BYTE22('hFF), + BYTE23('hFF), + BYTE24('hFF), + BYTE25('hFF), + BYTE26('hFF), + BYTE27('hFF), + BYTE28('hFF), + BYTE29('hFF), + BYTE30('hFF), + BYTE31('hFF), + BYTE32('hFF), + BYTE33('hFF), + BYTE34('hFF), + BYTE35('hFF), + BYTE36('hFF); + 8 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF); + 9 : + BYTE0('hFF), + BYTE1('hFF), + BYTE2('hFF), + BYTE3('hFF), + BYTE4('hFF), + BYTE5('hFF), + BYTE6('hFF), + BYTE7('hFF), + BYTE8('hFF), + BYTE9('hFF), + BYTE10('hFF), + BYTE11('hFF), + BYTE12('hFF), + BYTE13('hFF); + 0 : + BYTE0('hFF), + BYTE1('hFF); + + } + + } +} + +block MOD { + + domain 0 { + + owner PROFILE_CFG 0..31 0; + owner FV_EXTRACT 0..31 0; + owner FIELD_MAP0_CFG 0..2047 0; + owner FIELD_MAP1_CFG 0..2047 0; + owner FIELD_MAP2_CFG 0..2047 0; + owner META_PROFILE_CFG 0..15 0; + table PROFILE_CFG(%PROFILE) { + 4 : /* vlan_push*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(200), INS(0,16,4)}; + 5 : /* vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 1 : /* vxlan_encap*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}; + 8 : /* vxlan_encap_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 6 : /* vxlan_encap_v6*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}; + 9 : /* vxlan_encap_v6_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,125,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 10 : /* geneve_encap*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}; + 12 : /* geneve_encap_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,33,20), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 11 : /* geneve_encap_v6*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}; + 13 : /* geneve_encap_v6_vlan_pop*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(1), INS(0,2,12), INS(0,10,2), INS(0,41,40), INS(0,53,8)}, + GROUP{PID(1), INS(0,128,8)}, + GROUP{PID(16), DEL(1)}, + GROUP{PID(9), NOP()}; + 2 : /* vxlan_decap_outer_hdr*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}; + 14 : /* geneve_decap_outer_hdr*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}; + 7 : /* vxlan_decap_and_push_vlan*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}, + GROUP{PID(201), INS(0,16,4)}; + 15 : /* geneve_decap_and_push_vlan*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(2), DEL(1)}, + GROUP{PID(1), NOP()}, + GROUP{PID(201), INS(0,16,4)}; + 3 : /* set_outer_mac*/ + EXTRACT(1), + GROUP{0}, + GROUP{PID(2), REP_FLD(6,0,0), REP_FLD_LU_2B(10,0,2,255), REP_FLD_LU_2B(8,0,1,255), REP_FLD_LU_2B(6,0,0,255)}, + GROUP{PID(53), REP_FLD(2,0,0)}; + 16 : /* ipsec_tunnel_encap_mod*/ + EXTRACT(2), + GROUP{0}, + GROUP{PID(1), REP_FLD(6,0,0), REP_FLD_LU_2B(10,0,2,255), REP_FLD_LU_2B(8,0,1,255), REP_FLD_LU_2B(6,0,0,255)}, + GROUP{PID(32), INS(0,34,9), INS(0,38,1), INS(0,255,10), INS_Z(121,0)}; + 17 : /* ipsec_transport_mod_action*/ + EXTRACT(0), + GROUP{0}, + GROUP{PID(124), INS_Z(121,0)}; + 18 : /* ipsec_transport_with_underlay_mod_action*/ + EXTRACT(3), + GROUP{0}, + GROUP{PID(2), REP_FLD(6,0,0), REP_FLD_LU_2B(10,0,2,255), REP_FLD_LU_2B(8,0,1,255), REP_FLD_LU_2B(6,0,0,255)}, + GROUP{PID(53), REP_FLD(2,0,0)}, + GROUP{PID(124), INS_Z(121,0)}; + 19 : /* ipsec_tunnel_decap*/ + EXTRACT(4), + GROUP{0}, + GROUP{PID(2), REP_FLD(6,0,0), REP_FLD(6,6,0)}, + GROUP{PID(33), DEL(1)}, + GROUP{PID(32), NOP()}; + + } + table FV_EXTRACT(%EXTRACT) { + 0 : /* Default*/ + BYTE(255, 255); + 1 : /* set_outer_mac*/ + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(224, 27), + BYTE(224, 26); + 2 : /* ipsec_tunnel_encap_mod*/ + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5); + 3 : /* ipsec_transport_with_underlay_mod_action*/ + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(229, 6), + BYTE(229, 5), + BYTE(224, 27), + BYTE(224, 26); + 4 : /* ipsec_tunnel_decap*/ + BYTE(228, 21), + BYTE(228, 20), + BYTE(228, 19), + BYTE(228, 18), + BYTE(228, 17), + BYTE(228, 16), + BYTE(228, 15), + BYTE(228, 14), + BYTE(228, 13), + BYTE(228, 12), + BYTE(228, 11), + BYTE(228, 10); + + } + table FIELD_MAP0_CFG(%PROFILE) { + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 16 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 18 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + table FIELD_MAP1_CFG(%PROFILE) { + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 16 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 18 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + table FIELD_MAP2_CFG(%PROFILE) { + 3 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 16 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + 18 : + IDX_SHIFT(0), + IDX_SIZE(11), + BASE_SHIFT(0), + BASE_SIZE(0), + OUTPUT_SHIFT(0), + OUTPUT_MASK('hFFFF); + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + 1 : + BASE('h400000); + + } + + set %CSUM_CONFIG_IPV4_0 IPV4_IN0; + set %CSUM_CONFIG_IPV4_1 IPV4_IN1; + set %CSUM_CONFIG_IPV4_2 IPV4_IN2; + set %CSUM_CONFIG_IPV6_0 IPV6_IN0; + set %CSUM_CONFIG_IPV6_1 IPV6_IN1; + set %CSUM_CONFIG_IPV6_2 IPV6_IN2; + set %CSUM_CONFIG_UDP_0 UDP_IN0; + set %CSUM_CONFIG_UDP_1 UDP_IN1; + set %CSUM_CONFIG_UDP_2 UDP_IN2; + set %CSUM_CONFIG_TCP_0 TCP; + set %CSUM_CONFIG_RAW_VLAN_EXT_0 VLAN_EXT_IN0; + set %CSUM_CONFIG_RAW_VLAN_EXT_1 VLAN_EXT_IN1; + set %CSUM_CONFIG_RAW_VLAN_EXT_2 VLAN_EXT_IN2; + set %CSUM_CONFIG_RAW_VLAN_INT_0 VLAN_INT_IN0; + set %CSUM_CONFIG_RAW_VLAN_INT_1 VLAN_INT_IN1; + set %CSUM_CONFIG_RAW_VLAN_INT_2 VLAN_INT_IN2; + set %CSUM_CONFIG_RAW_MAC_0 MAC_IN0; + set %CSUM_CONFIG_RAW_MAC_1 MAC_IN1; + set %CSUM_CONFIG_RAW_MAC_2 MAC_IN2; + set %CSUM_CONFIG_CRYPTO_START CRYPTO_START; + } +} + +block WLPG_PROFILES { + + domain 0 { + + owner WLPG_PROFILE 16384 0; + + direction RX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + + direction TX { + set %MISS_LEM_PROF0 0; + set %MISS_LEM_PROF1 0; + set %MISS_WCM_PROF0 0; + set %MISS_WCM_PROF1 0; + set %MISS_LPM_PROF 0; + } + table PTYPE_GROUP(%PTYPE) { + 255 : 255; + 1 : 1; + 11 : 11; + 23 : 23; + 24 : 24; + 26 : 26; + 58 : 58; + 287 : 287; + 60 : 60; + 61 : 61; + 63 : 63; + 33 : 33; + 34 : 34; + 35 : 35; + 59 : 59; + 288 : 288; + 70 : 70; + 71 : 71; + 72 : 72; + 80 : 80; + 81 : 81; + 82 : 82; + 90 : 90; + 91 : 91; + 92 : 92; + 150 : 150; + 151 : 151; + 152 : 152; + 153 : 153; + 154 : 154; + 155 : 155; + 140 : 140; + 141 : 141; + 142 : 142; + 100 : 100; + 101 : 101; + 102 : 102; + 103 : 103; + 118 : 118; + 119 : 119; + 110 : 110; + 111 : 111; + 112 : 112; + 113 : 113; + 114 : 114; + 115 : 115; + 116 : 116; + 117 : 117; + 132 : 132; + 120 : 120; + 121 : 121; + 122 : 122; + 123 : 123; + 124 : 124; + 125 : 125; + 126 : 126; + 127 : 127; + 128 : 128; + 129 : 129; + 130 : 130; + 131 : 131; + + } + tcam GEN_MD1(%PTYPE, %FLAGS[15:0], %MD_DIGEST) { + 'b??_????_????, 'b????_????_????_???1, 'h?? : %MD4[7:0], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + 'b??_????_????, 'b????_????_????_???0, 'h?? : %MD4[7:0], %NULL_MD_8BIT, %NULL_MD_8BIT, %NULL_MD_8BIT; + + } + tcam GEN_MD2(%GEN_MD1, %FLAGS[15:0], %PARSER_FLAGS[39:8], %PTYPE) { + 'h????_????, 'b????_????_????_???1, 'h????_????, 'b??_????_???? : + BASE('h0), + KEY(51), + KEY(20), + KEY(48), + KEY(52), + KEY(34), + KEY(53), + KEY(50), + KEY(49), + KEY(33), + KEY(45), + KEY(44), + KEY(32); + 'h????_????, 'b????_????_????_???0, 'h????_????, 'b??_????_???? : + BASE('h0), + KEY(52), + KEY(34), + KEY(53), + KEY(50), + KEY(49), + KEY(33), + KEY(45), + KEY(44), + KEY(32); + + } + table WLPG_PROFILE(%PTYPE_GROUP, %VSI_GROUP, %GEN_MD2) { + 58, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 100, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 101, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 102, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 140, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 141, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 142, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 150, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 151, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 152, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 153, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 154, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 16 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 48 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 80 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 112 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 144 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 176 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 208 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 240 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 272 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 304 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 336 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 368 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 400 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 432 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 464 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 155, 2, 496 : + LEM_PROF0(7), + LEM_PROF1(8), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 2 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 18 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 34 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 50 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 66 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 82 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 98 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 114 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 130 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 146 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 162 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 178 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 194 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 210 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 226 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 242 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 258 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 274 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 290 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 306 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 322 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 338 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 354 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 370 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 386 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 402 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 418 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 434 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 450 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 466 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 482 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 498 : + LEM_PROF0(1), + LEM_PROF1(9), + WCM_PROF0(0), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 23, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 24, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 26, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 33, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 34, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 17 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 25 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 81 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 89 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 273 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 281 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 529 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 537 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 785 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 793 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2065 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2073 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2129 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2137 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2321 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2329 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2385 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2393 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2577 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2585 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2641 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2649 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2833 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2841 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2897 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 35, 2, 2905 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(1); + 1, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 1, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 23, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 24, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 26, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 33, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 34, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 33 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 41 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 97 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 105 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 289 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 297 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 353 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 361 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 545 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 553 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 609 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 617 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 801 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 809 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 865 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 873 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2081 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2089 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2145 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2153 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2337 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2345 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2401 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2409 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2593 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2601 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2657 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2665 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2849 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2857 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2913 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 35, 2, 2921 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(2); + 11, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 1 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 9 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 257 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 265 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 513 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 521 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 769 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 777 : + LEM_PROF0(0), + LEM_PROF1(0), + WCM_PROF0(1), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 1, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 23, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 24, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 26, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 33, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 34, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 35, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 59, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 60, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 61, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 63, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 70, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 71, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 72, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 80, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 81, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 82, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 90, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 91, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 92, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 110, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 111, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 112, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 114, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 115, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 116, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 118, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 124, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 125, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 126, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 128, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 129, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 130, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 1 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 9 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 257 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 265 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 513 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 521 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 769 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 132, 2, 777 : + LEM_PROF0(4), + LEM_PROF1(9), + WCM_PROF0(1), + WCM_PROF1(1), + LPM_PROF(0); + 58, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 59, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 60, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 61, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 63, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 70, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 71, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 72, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 80, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 81, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 82, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 90, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 91, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 92, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 100, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 101, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 102, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 110, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 111, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 112, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 114, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 115, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 116, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 118, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 119, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 120, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 121, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 122, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 124, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 125, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 126, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 128, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 129, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 130, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 132, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 140, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 141, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 142, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 150, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 151, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 152, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 153, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 154, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 155, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 287, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(3), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 288, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(2), + LPM_PROF(1); + 58, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 83 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 91 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 115 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 123 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 243 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 251 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 371 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 379 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 499 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 507 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2515 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2523 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2547 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2555 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 100, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 101, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 102, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 120, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 121, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 122, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 140, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 141, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 142, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 150, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 151, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 152, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 153, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 154, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 155, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 99 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2531 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2539 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2323 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2331 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2339 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2347 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2355 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2363 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2451 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2459 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2467 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2475 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2483 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2491 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 259 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 267 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 275 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 283 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 291 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 299 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 387 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 395 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 403 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 411 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 419 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 427 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2307 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2315 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2435 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2443 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 11, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 23, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 24, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 26, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 33, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 34, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2067 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2075 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2083 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2091 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2099 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2107 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2195 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2203 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2211 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2219 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2227 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 35, 2, 2235 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 58, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 59, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 60, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 61, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 63, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 70, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 71, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 72, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 80, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 81, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 82, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 90, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 91, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 92, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 110, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 111, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 112, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 114, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 115, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 116, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 118, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 119, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 124, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 125, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 126, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 128, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 129, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 130, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 132, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 287, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 3 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 11 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 19 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 27 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 35 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 43 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 51 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 59 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 131 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 139 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 147 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 155 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 163 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 171 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2051 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2059 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2179 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 288, 2, 2187 : + LEM_PROF0(10), + LEM_PROF1(0), + WCM_PROF0(0), + WCM_PROF1(0), + LPM_PROF(1); + 1, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 1, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 11, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 23, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 24, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 26, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 33, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 34, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 35, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 58, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 59, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 60, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 61, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 63, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 70, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 71, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 72, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 80, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 81, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 82, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 90, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 91, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 92, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 110, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 111, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 112, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 114, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 115, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 116, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 118, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 119, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 124, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 125, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 126, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 128, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 129, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 130, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 132, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 287, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 69 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 77 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 85 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 93 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 101 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 109 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 117 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 125 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 197 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 205 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 213 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 221 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 229 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 237 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 245 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + 288, 2, 253 : + LEM_PROF0(11), + LEM_PROF1(0), + WCM_PROF0(2), + WCM_PROF1(0), + LPM_PROF(0); + + } + + } +} + +block WCM { + + domain 0 { + + owner PROFILE_CFG0 1..1023 0; + owner KEY_EXTRACT0 1..1023 0; + owner ACTION_MAP0 1..1023 0; + owner PROFILE_CFG1 1..1023 0; + owner KEY_EXTRACT1 1..1023 0; + owner ACTION_MAP1 1..1023 0; + owner GRP0_SLICE0 0..7 0; + owner GRP0_SLICE1 0..7 0; + owner GRP0_SLICE2 0..7 0; + owner GRP0_SLICE3 0..7 0; + owner GRP0_SLICE4 0..7 0; + owner GRP0_SLICE5 0..7 0; + owner GRP0_SLICE6 0..7 0; + owner GRP0_SLICE7 0..7 0; + owner GRP1_SLICE0 0..1023 0; + owner GRP1_SLICE1 0..1023 0; + owner GRP1_SLICE2 0..1023 0; + owner GRP1_SLICE3 0..1023 0; + owner GRP1_SLICE4 0..1023 0; + owner GRP1_SLICE5 0..1023 0; + owner GRP1_SLICE6 0..1023 0; + owner GRP1_SLICE7 0..1023 0; + owner PROFILE_CFG0 0 0; + owner PROFILE_CFG1 0 0; + + define MAT mat2 { + START_SLICE('h4), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h2), + KEY_SEL4('h2) + + } + + define MAT mat4 { + START_SLICE('h6), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h4), + KEY_SEL4('h4) + + } + + define MAT mat3 { + START_SLICE('h5), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h2), + KEY_SEL2('h4), + KEY_SEL3('h4), + KEY_SEL4('h4) + + } + + define MAT mat0 { + START_SLICE('h0), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h3), + KEY_SEL4('h4) + + } + + define MAT mat1 { + START_SLICE('h1), + KEY_WIDTH('h28), + START_RULE('h0), + NUM_RULES('h400), + PREC('h0), + KEY_SEL0('h0), + KEY_SEL1('h1), + KEY_SEL2('h2), + KEY_SEL3('h2), + KEY_SEL4('h2) + + } + table PROFILE_CFG0(%WCM_PROFILE0) { + 1 : + MAT(mat2); + 3 : + MAT(mat4); + 2 : + MAT(mat3); + 0 : + BYPASS(1); + + } + table PROFILE_CFG1(%WCM_PROFILE1) { + 1 : + MAT(mat0); + 2 : + MAT(mat1); + 0 : + BYPASS(1); + + } + table ACTION_MAP0(%WCM_PROFILE0, %SLICE) { + 1, 4 : 8; + 3, 6 : 13, 14; + 2, 5 : 9, 10, 11, 12; + + } + table ACTION_MAP1(%WCM_PROFILE1, %SLICE) { + 1, 0 : 0, 1; + 2, 1 : 2, 3, 4, 5, 6; + + } + table KEY_EXTRACT0(%WCM_PROFILE0) { + 1 : + WORD0(224, 24); + 3 : + WORD0(228, 6), + WORD1(224, 26); + 2 : + WORD0(228, 1), + WORD1(224, 26); + + } + table KEY_EXTRACT1(%WCM_PROFILE1) { + 1 : + WORD0(228, 8), + WORD1(16, 2); + 2 : + WORD0(228, 2); + + } + + } +} + +block RC { + + domain 0 { + + + } +} + +block LPM { + + domain 0 { + + owner PROFILE_CFG 1..2 0; + owner KEY_EXTRACT 0..1023 0; + owner PROFILE_CFG 0 0; + table PROFILE_CFG(%PROFILE) { + 1 : + KEY_SIZE('h8), + AUX_PREC('h1), + DEF_ACTION_PTR('h1); + 2 : + KEY_SIZE('h14), + AUX_PREC('h1), + DEF_ACTION_PTR('h2); + 0 : + KEY_SIZE('h0); + + } + table KEY_EXTRACT(%PROFILE) { + 1 : + BYTE0(228, 4, 'hFF), + BYTE1(228, 5, 'hFF), + BYTE2(255, 255, 'h0), + BYTE3(255, 255, 'h0), + BYTE4(228, 28, 'hFF), + BYTE5(228, 29, 'hFF), + BYTE6(228, 30, 'hFF), + BYTE7(228, 31, 'hFF); + 2 : + BYTE0(228, 4, 'hFF), + BYTE1(228, 5, 'hFF), + BYTE2(255, 255, 'h0), + BYTE3(255, 255, 'h0), + BYTE4(228, 16, 'hFF), + BYTE5(228, 17, 'hFF), + BYTE6(228, 18, 'hFF), + BYTE7(228, 19, 'hFF), + BYTE8(228, 20, 'hFF), + BYTE9(228, 21, 'hFF), + BYTE10(228, 22, 'hFF), + BYTE11(228, 23, 'hFF), + BYTE12(228, 24, 'hFF), + BYTE13(228, 25, 'hFF), + BYTE14(228, 26, 'hFF), + BYTE15(228, 27, 'hFF), + BYTE16(228, 28, 'hFF), + BYTE17(228, 29, 'hFF), + BYTE18(228, 30, 'hFF), + BYTE19(228, 31, 'hFF); + + } + table HASH_SPACE_CFG(%HASH_SPACE_ID) { + 0 : + BASE('h0); + + } + + } +} + +block MNG { + define KEY_EXTRACT { + MAC_DA(1, 0), + VLAN_TAG(16, 2), + ETHERTYPE(9, 0), + ARP_OPER(118, 6), + ARP_TPA(118, 24), + TCP_DPORT(49, 2), + UDP_DPORT(52, 2), + IPV4_DA(32, 16), + IPV6_DA(40, 24), + TCP_SPORT(49, 0), + UDP_SPORT(52, 0) + } +} + + +block PKB_MISC { + domain 0 { + set %IPV4_CSUM_IN0 32; + set %IPV4_CSUM_IN1 33; + set %IPV4_CSUM_IN2 34; + set %IPV6_CSUM_IN0 40; + set %IPV6_CSUM_IN1 41; + set %IPV6_CSUM_IN2 42; + set %UDP_CSUM_IN0 52; + set %UDP_CSUM_IN1 53; + set %UDP_CSUM_IN2 54; + set %TCP_CSUM_IN0 49; + set %IPV4_ICRC_IN0 32; + set %IPV6_ICRC_IN0 40; + set %UDP_ICRC_IN0 52; + set %PAY 15; + } +} + +block RSC_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + set %UDP_IN0 52; + set %UDP_IN1 53; + set %UDP_IN2 54; + set %TCP 49; + set %VLAN_EXT_IN0 16; + set %VLAN_EXT_IN1 17; + set %VLAN_EXT_IN2 18; + set %VLAN_INT_IN0 19; + set %VLAN_INT_IN1 20; + set %VLAN_INT_IN2 21; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %PAY 15; + } +} + +block ICE_MISC { + domain 0 { + direction TX { + set %IP_0 32, IS_V4; + set %IP_1 33, IS_V4; + set %IP_2 34, IS_V4; + set %IP_3 40, IS_V6; + set %IP_4 41, IS_V6; + set %IP_5 42, IS_V6; + set %UDP_0 52; + set %UDP_1 53; + set %UDP_2 54; + set %NEXT_HDR_0 36; + set %NEXT_HDR_1 37; + set %NEXT_HDR_2 38; + set %CRYPTO_START 121; + } + } +} + +block RDMA_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + set %UDP_IN0 52; + set %TCP 49; + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + set %VLAN_INT_IN0 19; + set %VLAN_EXT_IN0 16; + set %VLAN_INT_IN1 20; + set %VLAN_EXT_IN1 17; + set %PAY 15; + } +} + +block EVMOUT { + domain 0 { + set %MAC_IN0 1; + set %MAC_IN1 2; + set %MAC_IN2 3; + } +} + +block SCTP_VAL_MISC { + domain 0 { + set %IPV4_IN0 32; + set %IPV4_IN1 33; + set %IPV4_IN2 34; + set %IPV6_IN0 40; + set %IPV6_IN1 41; + set %IPV6_IN2 42; + } +} +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json new file mode 100644 index 000000000..ea1fd09f5 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/fxp-net_linux-networking/fxp-net_linux-networking.tdi.json @@ -0,0 +1,5020 @@ +{ + "schema_version" : "1.0.0", + "tables" : [ + { + "name" : "main.MainControlDecrypt.lem_exception", + "id" : 48773578, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.MainControlDecrypt.lem_clear", + "id" : 38116127, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.MainControlDecrypt.ipsec_rx_sa_classification_table", + "id" : 45068641, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.ipv4[vmeta.common.depth].src_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "hdrs.ipv4[vmeta.common.depth].dst_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "hdrs.esp.spi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 33177492, + "name" : "MainControlDecrypt.ipsec_decrypt", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "saidx", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 30285547, + "name" : "MainControlDecrypt.ipsec_bypass", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_start", + "id" : 42605135, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id0", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 23093409, + "name" : "linux_networking_control.set_src_mac_start", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_mid", + "id" : 43970557, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id1", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 30315892, + "name" : "linux_networking_control.set_src_mac_mid", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rif_mod_table_last", + "id" : 47499906, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "rif_mod_map_id2", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 32740970, + "name" : "linux_networking_control.set_src_mac_last", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "arg", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.always_trap_arp_table", + "id" : 48081556, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 19361592, + "name" : "linux_networking_control.do_trap_enable", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.always_recirculate_table", + "id" : 47372228, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hdrs.inval.data", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vlan_push_mod_table", + "id" : 40312237, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 24137163, + "name" : "linux_networking_control.vlan_push", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vlan_pop_mod_table", + "id" : 38884256, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 25667542, + "name" : "linux_networking_control.vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_mod_table", + "id" : 40763773, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 20733968, + "name" : "linux_networking_control.vxlan_encap", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_vlan_pop_mod_table", + "id" : 39675860, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 26114242, + "name" : "linux_networking_control.vxlan_encap_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_v6_mod_table", + "id" : 46225003, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 30345128, + "name" : "linux_networking_control.vxlan_encap_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_encap_v6_vlan_pop_mod_table", + "id" : 34318005, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 28284062, + "name" : "linux_networking_control.vxlan_encap_v6_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_decap_mod_table", + "id" : 40980035, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 28308555, + "name" : "linux_networking_control.vxlan_decap_outer_hdr", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vxlan_decap_and_push_vlan_mod_table", + "id" : 37624107, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 31953264, + "name" : "linux_networking_control.vxlan_decap_and_push_vlan", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_mod_table", + "id" : 41319073, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 25818889, + "name" : "linux_networking_control.geneve_encap", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_vlan_pop_mod_table", + "id" : 47977422, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 26665268, + "name" : "linux_networking_control.geneve_encap_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 5, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_v6_mod_table", + "id" : 42283616, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 29610186, + "name" : "linux_networking_control.geneve_encap_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_encap_v6_vlan_pop_mod_table", + "id" : 47370391, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 27347188, + "name" : "linux_networking_control.geneve_encap_v6_vlan_pop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 3, + "name" : "ds", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 6 + } + }, + { + "id" : 4, + "name" : "ecn", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 5, + "name" : "flow_label", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + }, + { + "id" : 6, + "name" : "hop_limit", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 7, + "name" : "src_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 8, + "name" : "dst_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 9, + "name" : "vni", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_decap_mod_table", + "id" : 34173274, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 27842378, + "name" : "linux_networking_control.geneve_decap_outer_hdr", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.geneve_decap_and_push_vlan_mod_table", + "id" : 34525815, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 25073902, + "name" : "linux_networking_control.geneve_decap_and_push_vlan", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "pcp", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 2, + "name" : "dei", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 1 + } + }, + { + "id" : 3, + "name" : "vlan_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 12 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_tunnel_term_table", + "id" : 47484925, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 31163719, + "name" : "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 25342798, + "name" : "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 26749366, + "name" : "linux_networking_control.set_geneve_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 31208923, + "name" : "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 21790705, + "name" : "linux_networking_control.trap_enable", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv6_tunnel_term_table", + "id" : 34601307, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv6_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 31163719, + "name" : "linux_networking_control.set_vxlan_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 25342798, + "name" : "linux_networking_control.set_vxlan_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 26749366, + "name" : "linux_networking_control.set_geneve_decap_outer_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 31208923, + "name" : "linux_networking_control.set_geneve_decap_outer_and_push_vlan", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_rx_table", + "id" : 44842501, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 2, + "name" : "user_meta.pmeta.bridge_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 1, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 21862855, + "name" : "linux_networking_control.l2_fwd_lag_and_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "lag_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 21283156, + "name" : "linux_networking_control.fwd_to_cp", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_tx_table", + "id" : 40240205, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.pmeta.bridge_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 2, + "name" : "dst_mac", + "repeated" : false, + "annotations" : [ + { + "name" : "@format(MAC_ADDRESS)" + } + ], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 19169916, + "name" : "linux_networking_control.l2_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 24440746, + "name" : "linux_networking_control.l2_fwd_lag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "lag_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 26412051, + "name" : "linux_networking_control.set_vxlan_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 19193142, + "name" : "linux_networking_control.set_vxlan_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 31983357, + "name" : "linux_networking_control.pop_vlan_set_vxlan_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 23849990, + "name" : "linux_networking_control.pop_vlan_set_vxlan_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 23736116, + "name" : "linux_networking_control.set_geneve_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 17483375, + "name" : "linux_networking_control.set_geneve_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 24842266, + "name" : "linux_networking_control.pop_vlan_set_geneve_underlay_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 33478945, + "name" : "linux_networking_control.pop_vlan_set_geneve_underlay_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 20 + } + } + ] + }, + { + "id" : 24108243, + "name" : "linux_networking_control.add_vlan_and_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vlan_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25690116, + "name" : "linux_networking_control.remove_vlan_and_fwd", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "vlan_ptr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "port_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 20441854, + "name" : "linux_networking_control.fwd_to_cp_tx", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.nexthop_table", + "id" : 37894008, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.nexthop_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 16795029, + "name" : "linux_networking_control.set_nexthop_info_dmac", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "router_interface_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "egress_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 25951413, + "name" : "linux_networking_control.set_nexthop_lag", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "lag_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 2, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 3, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ecmp_nexthop_table", + "id" : 47712712, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.nexthop_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 27181644, + "name" : "linux_networking_control.ecmp_set_nexthop_info_dmac", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "router_interface_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "egress_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 4, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.tx_lag_table", + "id" : 40757978, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.lag_group_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 2, + "name" : "hash", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 27998997, + "name" : "linux_networking_control.set_egress_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "router_interface_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "egress_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 24954025, + "name" : "linux_networking_control.bypass", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_lag_table", + "id" : 44444143, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "user_meta.cmeta.lag_group_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_table", + "id" : 37566509, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "ipv4_table_lpm_root", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv4_dst_match", + "repeated" : false, + "annotations" : [ + { + "name" : "@intel_byte_order(\"NETWORK\")" + } + ], + "mandatory" : false, + "match_type" : "LPM", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 22009623, + "name" : "linux_networking_control.ipv4_set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 16874810, + "name" : "linux_networking_control.ecmp_hash_action", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ecmp_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ecmp_hash_table", + "id" : 49661222, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "flex", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hash", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 3 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 29883644, + "name" : "linux_networking_control.set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv6_table", + "id" : 46496254, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "ipv6_table_lpm_root", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv6_dst_match", + "repeated" : false, + "annotations" : [ + { + "name" : "@intel_byte_order(\"NETWORK\")" + } + ], + "mandatory" : false, + "match_type" : "LPM", + "type" : { + "type" : "bytes", + "width" : 128 + } + } + ], + "action_specs" : [ + { + "id" : 21321477, + "name" : "linux_networking_control.ipv6_set_nexthop_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "nexthop_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 27000185, + "name" : "linux_networking_control.ecmp_v6_hash_action", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ecmp_group_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_source_port", + "id" : 40351839, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_ipv4_tunnel_source_port", + "id" : 49097500, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_ipv6_tunnel_source_port", + "id" : 40981078, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv6_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 128 + } + }, + { + "id" : 2, + "name" : "vni", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.source_port_to_bridge_map", + "id" : 33606489, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.source_port", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "hdrs.vlan_ext[vmeta.common.depth].hdr.vid", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 12 + } + }, + { + "id" : 3, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 31939992, + "name" : "linux_networking_control.set_bridge_id", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "bridge_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_fwd_smac_table", + "id" : 46342225, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.mac[vmeta.common.depth].sa", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + }, + { + "id" : 2, + "name" : "user_meta.pmeta.bridge_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21283156, + "name" : "linux_networking_control.fwd_to_cp", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.tx_acc_vsi", + "id" : 42508227, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 31624713, + "name" : "linux_networking_control.l2_fwd_and_bypass_bridge", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.tx_source_port", + "id" : 39041593, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "action_specs" : [ + { + "id" : 32890467, + "name" : "linux_networking_control.set_source_port", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "source_port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_to_tunnel_v4", + "id" : 43337754, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.mac[vmeta.common.depth].da", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 23805991, + "name" : "linux_networking_control.set_tunnel_v4", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.l2_to_tunnel_v6", + "id" : 36796227, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.mac[vmeta.common.depth].da", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 48 + } + } + ], + "action_specs" : [ + { + "id" : 23953453, + "name" : "linux_networking_control.set_tunnel_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ipv6_1", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv6_2", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "ipv6_3", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 4, + "name" : "ipv6_4", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.rx_phy_port_to_pr_map", + "id" : 38721082, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.port_id", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 2 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.source_port_to_pr_map", + "id" : 35934350, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.source_port", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "zero_padding", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vsi_to_vsi_loopback", + "id" : 45509113, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + }, + { + "id" : 2, + "name" : "target_vsi", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 11 + } + } + ], + "action_specs" : [ + { + "id" : 26092385, + "name" : "linux_networking_control.fwd_to_vsi", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "port", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4_tcp", + "id" : 44641644, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4_udp", + "id" : 46678878, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv4", + "id" : 45972289, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_l2", + "id" : 33896331, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_tcp", + "id" : 46852435, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6_udp", + "id" : 46359163, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.hash_ipv6", + "id" : 34506208, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [], + "action_specs" : [ + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_tunnel_table", + "id" : 49349790, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.saidx", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + }, + { + "id" : 2, + "name" : "bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 13 + } + } + ], + "action_specs" : [ + { + "id" : 26423957, + "name" : "linux_networking_control.set_ipsec_tunnel", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "tunnel_id", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_spd", + "id" : 47756035, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.ipv4[vmeta.common.depth].dst_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "hdrs.ipv4[vmeta.common.depth].protocol", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ], + "action_specs" : [ + { + "id" : 20682322, + "name" : "linux_networking_control.ipsec_protect_set_metadata", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "saidx", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ] + }, + { + "id" : 19192368, + "name" : "linux_networking_control.ipsec_bypass", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_tx_sa_classification_table", + "id" : 45022218, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "hdrs.ipv4[vmeta.common.depth].dst_ip", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "hdrs.ipv4[vmeta.common.depth].protocol", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 8 + } + }, + { + "id" : 3, + "name" : "user_meta.cmeta.is_tunnel", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 1 + } + } + ], + "action_specs" : [ + { + "id" : 24935652, + "name" : "linux_networking_control.tx_ipsec_transport", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 17885953, + "name" : "linux_networking_control.tx_ipsec_transport_with_underlay", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 30154712, + "name" : "linux_networking_control.tx_ipsec_tunnel", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ] + }, + { + "id" : 29527637, + "name" : "linux_networking_control.tx_ipsec_tunnel_v6", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "dst_addr_1", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "dst_addr_2", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "dst_addr_3", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 29238102, + "name" : "linux_networking_control.drop", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [ + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65553, + "name" : "$COUNTER_SPEC_BYTES", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + }, + { + "mandatory" : false, + "read_only" : true, + "singleton" : { + "id" : 65554, + "name" : "$COUNTER_SPEC_PKTS", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "uint64", + "default_value" : 0 + } + } + } + ], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipsec_tunnel_encap_mod_table", + "id" : 37326952, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "vmeta.common.mod_blob_ptr", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 24 + } + } + ], + "action_specs" : [ + { + "id" : 30081157, + "name" : "linux_networking_control.ipsec_tunnel_encap_mod", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [ + { + "id" : 1, + "name" : "ipsec_src_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipsec_dst_addr", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 3, + "name" : "proto", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 8 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "TableAndDefault", + "annotations" : [], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_ipsec_tunnel_term_table", + "id" : 43475471, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + }, + { + "id" : 2, + "name" : "ipv4_dst", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 25138331, + "name" : "linux_networking_control.decap_ipsec_tunnel_hdr", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [] + }, + { + "id" : 33275382, + "name" : "linux_networking_control.do_recirculate", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vm_src_ip4_mac_map_table", + "id" : 37403444, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_src", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 28718673, + "name" : "linux_networking_control.vm_src_ip4_mac_map_action", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "smac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "smac_mid", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 3, + "name" : "smac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.vm_dst_ip4_mac_map_table", + "id" : 50085764, + "table_type" : "MatchAction_Direct", + "size" : 1024, + "annotations" : [], + "depends_on" : [], + "has_const_default_action" : true, + "key" : [ + { + "id" : 1, + "name" : "ipv4_dst", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "bytes", + "width" : 32 + } + } + ], + "action_specs" : [ + { + "id" : 25018769, + "name" : "linux_networking_control.vm_dst_ip4_mac_map_action", + "action_scope" : "TableOnly", + "annotations" : [ + { + "name" : "@tableonly" + } + ], + "data" : [ + { + "id" : 1, + "name" : "dmac_high", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "dmac_mid", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 3, + "name" : "dmac_low", + "repeated" : false, + "mandatory" : true, + "read_only" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 16 + } + } + ] + }, + { + "id" : 21257015, + "name" : "NoAction", + "action_scope" : "DefaultOnly", + "annotations" : [ + { + "name" : "@defaultonly" + } + ], + "data" : [] + } + ], + "data" : [], + "supported_operations" : [], + "attributes" : [] + }, + { + "name" : "main.linux_networking_control.ipv4_lpm_root_lut", + "id" : 41667918, + "table_type" : "MatchValueLookupTable", + "size" : 1, + "annotations" : [ + { + "name" : "@intel_lut_type(\"lpm_table\")" + } + ], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "data" : [ + { + "id" : 1, + "name" : "ipv4_table_lpm_root", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + }, + "mandatory" : false, + "read_only" : false + } + ] + }, + { + "name" : "main.linux_networking_control.ipv6_lpm_root_lut", + "id" : 43524029, + "table_type" : "MatchValueLookupTable", + "size" : 1, + "annotations" : [ + { + "name" : "@intel_lut_type(\"lpm_table\")" + } + ], + "depends_on" : [], + "has_const_default_action" : false, + "key" : [ + { + "id" : 1, + "name" : "user_meta.cmeta.bit16_zeros", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Ternary", + "type" : { + "type" : "bytes", + "width" : 16 + } + }, + { + "id" : 2, + "name" : "$MATCH_PRIORITY", + "repeated" : false, + "annotations" : [], + "mandatory" : false, + "match_type" : "Exact", + "type" : { + "type" : "uint32" + } + } + ], + "data" : [ + { + "id" : 1, + "name" : "ipv6_table_lpm_root", + "repeated" : false, + "annotations" : [], + "type" : { + "type" : "bytes", + "width" : 32 + }, + "mandatory" : false, + "read_only" : false + } + ] + } + ], + "learn_filters" : [] +} \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/go.mod b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/go.mod new file mode 100644 index 000000000..86eb69c1f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/go.mod @@ -0,0 +1,55 @@ +module github.com/intel/ipu-opi-plugins/ipu-plugin + +go 1.22.4 + +require ( + github.com/onsi/ginkgo/v2 v2.20.2 + github.com/onsi/gomega v1.34.1 + github.com/openshift/dpu-operator/dpu-api v0.0.0-20241023094403-a185e0f16e84 + github.com/opiproject/opi-api v0.0.0-20240808163627-6cd218088dda + github.com/p4lang/p4runtime v1.4.0-rc.5 + github.com/pkg/sftp v1.13.6 + github.com/sirupsen/logrus v1.9.3 + github.com/spf13/cobra v1.8.1 + github.com/spf13/viper v1.19.0 + github.com/vishvananda/netlink v1.3.0 + golang.org/x/crypto v0.32.0 + google.golang.org/grpc v1.65.0 + google.golang.org/protobuf v1.34.2 + k8s.io/kubelet v0.31.1 +) + +require ( + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/pprof v0.0.0-20241017200806-017d972448fc // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/kr/fs v0.1.0 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace // indirect + github.com/subosito/gotenv v1.6.0 // indirect + github.com/vishvananda/netns v0.0.4 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/text v0.21.0 // indirect + golang.org/x/tools v0.26.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/go.sum b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/go.sum new file mode 100644 index 000000000..8dc69ee0f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/go.sum @@ -0,0 +1,240 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20241017200806-017d972448fc h1:NGyrhhFhwvRAZg02jnYVg3GBQy0qGBKmFQJwaPmpmxs= +github.com/google/pprof v0.0.0-20241017200806-017d972448fc/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/onsi/ginkgo/v2 v2.20.2 h1:7NVCeyIWROIAheY21RLS+3j2bb52W0W82tkberYytp4= +github.com/onsi/ginkgo/v2 v2.20.2/go.mod h1:K9gyxPIlb+aIvnZ8bd9Ak+YP18w3APlR+5coaZoE2ag= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= +github.com/openshift/dpu-operator/dpu-api v0.0.0-20241023094403-a185e0f16e84 h1:ZfyZSmfv/xjdL1lcGo0vSJiqu9nrKgQGw5bBsR9cKlE= +github.com/openshift/dpu-operator/dpu-api v0.0.0-20241023094403-a185e0f16e84/go.mod h1:O2Qx9Y17u8hsEB39Je3YqLdaCCc7zq6Km9AwFN1KDA0= +github.com/opiproject/opi-api v0.0.0-20240808163627-6cd218088dda h1:yNZlmm+QZ8HjQfZEA1iTaB/br8jYDlf+6YD9DCLGuYE= +github.com/opiproject/opi-api v0.0.0-20240808163627-6cd218088dda/go.mod h1:92pv4ulvvPMuxCJ9ND3aYbmBfEMLx0VCjpkiR7ZTqPY= +github.com/p4lang/p4runtime v1.4.0-rc.5 h1:zztZGEkRM09Hf25SIX0p0ML07dmRCgsy0oC8uafmjtg= +github.com/p4lang/p4runtime v1.4.0-rc.5/go.mod h1:m9laObIMXM9N1ElGXijc66/MSM5eheZJLRLxg/TG+fU= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo= +github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace h1:9PNP1jnUjRhfmGMlkXHjYPishpcw4jpSt/V/xYY3FMA= +github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/vishvananda/netlink v1.3.0 h1:X7l42GfcV4S6E4vHTsw48qbrV+9PVojNfIhZcwQdrZk= +github.com/vishvananda/netlink v1.3.0/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= +github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= +golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/kubelet v0.31.1 h1:aAxwVxGzbbMKKk/FnSjvkN52K3LdHhjhzmYcyGBuE0c= +k8s.io/kubelet v0.31.1/go.mod h1:8ZbexYHqUO946gXEfFmnMZiK2UKRGhk7LlGvJ71p2Ig= diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/hack/cicd/check-go-fmt.sh b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/hack/cicd/check-go-fmt.sh new file mode 100755 index 000000000..e870233d9 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/hack/cicd/check-go-fmt.sh @@ -0,0 +1,16 @@ +#!/bin/bash +#Copyright (C) 2023 Intel Corporation +#SPDX-License-Identifier: Apache-2.0 + +set -e +GOFMTOUT=$(find . -type f -name '*.go' -not -path "./sriov_cni/*" -print0 | xargs -0 gofmt -d 2>&1); +if [[ -z $GOFMTOUT ]]; then + exit 0; +else + echo "$GOFMTOUT" + echo "" + echo "gomft found formatting issues above ^^^ " + echo "Please run go fmt ./... to format your go source files." + echo "" + exit 1; +fi; diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/images/Dockerfile b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/images/Dockerfile new file mode 100644 index 000000000..ca5242714 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/images/Dockerfile @@ -0,0 +1,42 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2024 Intel Corporation +FROM golang:1.22.5-alpine@sha256:0d3653dd6f35159ec6e3d10263a42372f6f194c3dea0b35235d72aabde86486e AS builder +RUN apk add --no-cache git +ARG TARGETOS +ARG TARGETARCH + +RUN apk add --no-cache --virtual build-dependencies build-base +COPY . /usr/src/ipu-opi-plugin +WORKDIR /usr/src/ipu-opi-plugin +RUN go mod download +RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o bin/ipuplugin ipuplugin/main.go + +FROM alpine:3@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b +ARG P4_NAME +ENV P4_NAME=$P4_NAME + +COPY --from=builder /usr/src/ipu-opi-plugin/bin/ipuplugin /usr/bin/ +COPY ${P4_NAME}/${P4_NAME}.pkg / +RUN mkdir -p /opt/p4/p4-cp-nws/bin/p4 +COPY bin/p4rt-ctl /opt/p4/p4-cp-nws/bin/ +#TODO: Update to newer p4runtime, for latest release. +COPY bin/p4runtime-2023.11.0/p4 /opt/p4/p4-cp-nws/bin/p4 +COPY bin/p4runtime-2023.11.0/copy_p4rt_python_deps.sh /opt/p4/p4-cp-nws/bin/p4 + +WORKDIR / +LABEL io.k8s.display-name="IPU OPI Plugin" +ENV PYTHONUNBUFFERED=1 +#Install deps for p4runtime(previously deps got installed per p4runtime wheel package's->p4runtime-2023.11.0.dist-info/METADATA) +RUN apk add -U --no-cache python3'>='3.8 py3-pip'=='23.3.1-r0 \ + py3-grpcio'=='1.59.3-r0 \ + py3-netaddr'=='0.9.0-r0 + +#Install deps for p4runtime(previously deps got installed per p4runtime wheel package's->p4runtime-2023.11.0.dist-info/METADATA) +RUN python3 -m pip install --no-cache-dir --break-system-packages -v "protobuf==4.25.0" "googleapis-common-protos==1.66.0" + +#Note: Redhat's build system does not allow p4runtime wheel package. Manually installing python protobuf +#files(for p4runtime) under pip's installation path. +RUN chmod a+x /opt/p4/p4-cp-nws/bin/p4/copy_p4rt_python_deps.sh && /opt/p4/p4-cp-nws/bin/p4/copy_p4rt_python_deps.sh + +RUN rm -rf /var/cache/apk/* +RUN apk add --update --no-cache openssh networkmanager-cli openvswitch iproute2 diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/cmd/rootcmd.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/cmd/rootcmd.go index 120414923..725114bb0 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/cmd/rootcmd.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/cmd/rootcmd.go @@ -17,6 +17,7 @@ package cmd import ( "fmt" "io" + "net" "os" "os/exec" "path" @@ -47,8 +48,7 @@ const ( defaultBridgeIntf = "enp0s1f0d6" defaulP4Pkg = "linux" defaultP4rtBin = "/opt/p4/p4-cp-nws/bin/p4rt-ctl" - defaultP4rtIpPort = "vsp-p4-service.openshift-dpu-operator.svc.cluster.local" - defaultP4Image = "" + defaultP4rtIpPort = "vsp-p4-service.default.svc.cluster.local" defaultOvsCliDir = "/usr/bin" defaultOvsDbPath = "/opt/p4/p4-cp-nws/var/run/openvswitch/db.sock" defaultPortMuxVsi = 0x0a //this is just a place-holder, since VSI can change. @@ -56,6 +56,7 @@ const ( defaultDaemonHostIp = "192.168.1.1" defaultDaemonIpuIp = "192.168.1.2" defaultDaemonPort = 50151 + p4rtPort = "9559" ) var ( @@ -73,7 +74,6 @@ var ( p4pkg string p4rtbin string p4rtName string - p4Image string portMuxVsi int verbosity string mode string @@ -105,7 +105,6 @@ var ( p4pkg := viper.GetString("p4pkg") p4rtbin := viper.GetString("p4rtbin") p4rtName := viper.GetString("p4rtName") - p4Image := viper.GetString("p4Image") portMuxVsi := viper.GetInt("portMuxVsi") mode := config.mode daemonHostIp := viper.GetString("daemonHostIp") @@ -141,7 +140,6 @@ var ( "p4pkg": p4pkg, "p4rtbin": p4rtbin, "p4rtName": p4rtName, - "p4Image": p4Image, "portMuxVsi": portMuxVsi, "mode": mode, "daemonHostIp": daemonHostIp, @@ -150,10 +148,17 @@ var ( }).Info("Configurations") brCtlr, brType := getBridgeController(bridgeName, bridgeType, ovsCliDir, ovsDbPath) + // In case of failure, revert to using localhost:9559 which works for P4 in container + // but not for P4 in pod. In case of P4 in pod in failure case, we will error out in the + // waitForInfraP4d() + p4rtIpPort, err := convertNameToIpAndPort(p4rtName) + if err != nil { + log.Warnf("Error %v while converting %s to IP. Using %s instead", err, p4rtName, p4rtIpPort) + } - p4Client := getP4Client(p4pkg, p4rtbin, p4rtName, portMuxVsi, defaultP4BridgeName, brType) + p4Client := getP4Client(p4pkg, p4rtbin, p4rtIpPort, portMuxVsi, defaultP4BridgeName, brType) - mgr := ipuplugin.NewIpuPlugin(port, brCtlr, p4Client, p4Image, servingAddr, servingProto, bridgeName, intf, ovsCliDir, mode, daemonHostIp, daemonIpuIp, daemonPort) + mgr := ipuplugin.NewIpuPlugin(port, brCtlr, p4Client, servingAddr, servingProto, bridgeName, intf, ovsCliDir, mode, daemonHostIp, daemonIpuIp, daemonPort) if err := mgr.Run(); err != nil { exitWithError(err, 4) } @@ -220,8 +225,7 @@ func init() { rootCmd.PersistentFlags().StringVar(&config.bridgeType, "bridgeType", defaultBridge, "The bridge type that IPU plugin will manage") rootCmd.PersistentFlags().StringVar(&config.p4pkg, "p4pkg", defaulP4Pkg, "The P4 package plugin is running with") rootCmd.PersistentFlags().StringVar(&config.p4rtbin, "p4rtbin", defaultP4rtBin, "The directory where the p4rt-ctl binary is located") - rootCmd.PersistentFlags().StringVar(&config.p4rtName, "p4rtName", defaultP4rtIpPort, "p4rt server full name to DNS lookup. Eg: vsp-p4-service.openshift-dpu-operator.svc.cluster.local") - rootCmd.PersistentFlags().StringVar(&config.p4Image, "p4Image", defaultP4Image, "P4Image that needs to be pulled. If none is given, then P4IMAGE env is used") + rootCmd.PersistentFlags().StringVar(&config.p4rtName, "p4rtName", defaultP4rtIpPort, "p4rt server full name to DNS lookup. Eg: p4rtservice.openshift-dpu-operator.svc.cluster.local") rootCmd.PersistentFlags().IntVar(&config.portMuxVsi, "portMuxVsi", defaultPortMuxVsi, "The port mux VSI number. This must be for the same interface from --interface flags") //Default Log level value is the warn level @@ -248,7 +252,6 @@ func init() { "p4pkg", "p4rtbin", "p4rtName", - "p4Image", "portMuxVsi", "verbosity", "daemonHostIp", @@ -264,8 +267,8 @@ func init() { } fmt.Printf("Default Config, configFile=%s, bridgeName=%s bridgeType=%s daemonPort=%v daemonHostIp=%v daemonIpuIp=%v\n", viper.ConfigFileUsed(), viper.GetString("bridgeName"), viper.GetString("bridgeType"), viper.GetString("daemonPort"), viper.GetString("daemonHostIp"), viper.GetString("daemonIpuIp")) - fmt.Printf("Default Config, interface=%s mode=%v ovsCliDir=%v ovsDbPath=%v p4pkg=%v p4rtbin=%v p4rtName=%v p4Image=%v servingPort=%v portMuxVsi=%d\n", - viper.GetString("interface"), config.mode, viper.GetString("ovsCliDir"), viper.GetString("OvsDbPath"), viper.GetString("p4pkg"), viper.GetString("p4rtbin"), viper.GetString("p4rtName"), viper.GetString("p4Image"), viper.GetString("port"), viper.GetInt("portMuxVsi")) + fmt.Printf("Default Config, interface=%s mode=%v ovsCliDir=%v ovsDbPath=%v p4pkg=%v p4rtbin=%v p4rtName=%v servingPort=%v portMuxVsi=%d\n", + viper.GetString("interface"), config.mode, viper.GetString("ovsCliDir"), viper.GetString("OvsDbPath"), viper.GetString("p4pkg"), viper.GetString("p4rtbin"), viper.GetString("p4rtName"), viper.GetString("port"), viper.GetInt("portMuxVsi")) fmt.Printf("Default Config, servingAddr=%v servingProto=%v \n", viper.GetString("servingAddr"), viper.GetString("servingProto")) } @@ -366,12 +369,26 @@ func getPluginMode() string { } } -func getP4Client(p4pkg string, p4rtbin string, p4rtServiceName string, portMuxVsi int, p4BridgeName string, brType types.BridgeType) types.P4RTClient { +func convertNameToIpAndPort(p4rtName string) (string, error) { + + p4rtIp := "127.0.0.1" + ip, err := net.LookupIP(p4rtName) + if err != nil { + log.Errorf("Couldn't resolve Name %s to IP: err->%s", p4rtName, err) + } else { + p4rtIp = ip[0].String() + } + + log.Infof("Setting p4runtime Ip to %s", p4rtIp) + return p4rtIp + ":" + p4rtPort, err +} + +func getP4Client(p4pkg string, p4rtbin string, p4rtIpPort string, portMuxVsi int, p4BridgeName string, brType types.BridgeType) types.P4RTClient { switch p4pkg { case "linux": - return p4rtclient.NewP4RtClient(p4rtbin, p4rtServiceName, portMuxVsi, p4BridgeName, brType) + return p4rtclient.NewP4RtClient(p4rtbin, p4rtIpPort, portMuxVsi, p4BridgeName, brType) case "redhat": - return p4rtclient.NewRHP4Client(p4rtbin, p4rtServiceName, portMuxVsi, p4BridgeName, brType) + return p4rtclient.NewRHP4Client(p4rtbin, p4rtIpPort, portMuxVsi, p4BridgeName, brType) default: return nil } diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/main.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/main.go new file mode 100644 index 000000000..4952c69b5 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/main.go @@ -0,0 +1,23 @@ +// Copyright (c) 2023 Intel Corporation. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "github.com/intel/ipu-opi-plugins/ipu-plugin/ipuplugin/cmd" +) + +func main() { + cmd.Execute() +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/firewall/firewall.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/firewall/firewall.go deleted file mode 100644 index 430c7a30b..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/firewall/firewall.go +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright (c) 2025 Intel Corporation. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License") -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package firewall - -import ( - "bytes" - "fmt" - log "github.com/sirupsen/logrus" - "os" - "os/exec" - "strings" -) - -// portRule defines a set of ports under a zone and protocol. -type portRule struct { - Zone string - Proto string - Ports []string -} - -// trustedCIDRs are the subnets granted full access in the internal zone. -var trustedCIDRs = []string{ - "169.254.169.0/24", - "192.168.0.0/24", -} - -// portRules lists the ports opened per zone in configure mode. -var portRules = []portRule{ - {Zone: "internal", Proto: "tcp", Ports: []string{"9559"}}, -} - -// run executes a command and logs detailed errors on failure. -func run(cmd string, args ...string) error { - full := append([]string{cmd}, args...) - log.Infof("executing command %s", strings.Join(full, " ")) - c := exec.Command(cmd, args...) - var buf bytes.Buffer - c.Stdout, c.Stderr = &buf, &buf - if err := c.Run(); err != nil { - return fmt.Errorf("%s failed: %w\n%s", strings.Join(full, " "), err, buf.String()) - } - return nil -} - -// runSilent executes a command without logging output. -func runSilent(cmd string, args ...string) error { - return exec.Command(cmd, args...).Run() -} - -// ensureService starts and enables a systemd service if not already running. -func ensureService(name string) error { - if err := runSilent("systemctl", "is-active", "--quiet", name); err != nil { - log.Infof("starting service %s", name) - if err := run("systemctl", "start", name); err != nil { - return fmt.Errorf("start %s: %w", name, err) - } - } - if err := runSilent("systemctl", "enable", name); err != nil { - return fmt.Errorf("enable %s: %w", name, err) - } - return nil -} - -// applyRules adds or removes firewall rules based on mode ("configure" or "cleanup"). -func applyInternalRules(mode string) error { - // set default zone - zoneMap := map[string]string{"configure": "drop", "cleanup": "public"} - zone, ok := zoneMap[mode] - if !ok { - return fmt.Errorf("invalid mode %s", mode) - } - if err := run("firewall-cmd", "--set-default-zone="+zone); err != nil { - return fmt.Errorf("set default zone: %w", err) - } - - // create or delete internal zone - if mode == "configure" { - _ = run("firewall-cmd", "--permanent", "--new-zone=internal") - } else { - _ = run("firewall-cmd", "--permanent", "--delete-zone=internal") - } - - // prepare --permanent batch args - args := []string{"--permanent"} - - // allow ingress (source) and egress (destination) for trusted CIDRs - for _, cidr := range trustedCIDRs { - // ingress rule via add/remove source - opSrc := "--add-source=" + cidr - // egress rule via rich rule - rule := fmt.Sprintf("rule family=\"ipv4\" destination address=\"%s\" accept", cidr) - opDst := fmt.Sprintf("--add-rich-rule=%s", rule) - // cleanup adjustments - if mode == "cleanup" { - opSrc = "--remove-source=" + cidr - // remove rich-rule syntax - rule = fmt.Sprintf("rule family=\"ipv4\" destination address=\"%s\" accept", cidr) - opDst = fmt.Sprintf("--remove-rich-rule=%s", rule) - } - args = append(args, "--zone=internal", opSrc, "--zone=internal", opDst) - } - - // handle ports per rule - for _, rule := range portRules { - for _, p := range rule.Ports { - op := fmt.Sprintf("--add-port=%s/%s", p, rule.Proto) - if mode == "cleanup" { - op = fmt.Sprintf("--remove-port=%s/%s", p, rule.Proto) - } - args = append(args, fmt.Sprintf("--zone=%s", rule.Zone), op) - } - } - - // execute single batch command - cmd := append([]string{"firewall-cmd"}, args...) - return run(cmd[0], cmd[1:]...) -} - -// Configure applies a hardened firewall configuration and reloads. -func Configure() error { - if os.Geteuid() != 0 { - return fmt.Errorf("must run as root") - } - if _, err := exec.LookPath("firewall-cmd"); err != nil { - return fmt.Errorf("firewalld not installed: %w", err) - } - - if err := ensureService("firewalld"); err != nil { - return err - } - - if err := applyInternalRules("configure"); err != nil { - return err - } - if err := run("firewall-cmd", "--reload"); err != nil { - return fmt.Errorf("reload: %w", err) - } - - log.Info("firewalld hardened successfully") - return nil -} - -// CleanUp removes the hardened firewall configuration while preserving SSH connectivity. -func CleanUp() error { - if err := ensureService("firewalld"); err != nil { - return err - } - - if err := applyInternalRules("cleanup"); err != nil { - return err - } - if err := run("firewall-cmd", "--reload"); err != nil { - return fmt.Errorf("reload after cleanup: %w", err) - } - - log.Info("firewalld cleanup complete") - return nil -} - diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4-pvc/05.vsp_p4_pv.yaml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4-pvc/05.vsp_p4_pv.yaml deleted file mode 100644 index 3dad774ff..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4-pvc/05.vsp_p4_pv.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: vsp-p4-pv - namespace: {{.Namespace}} -spec: - selector: - app: vsp-p4 - capacity: - storage: 3Gi - accessModes: - - ReadWriteMany - persistentVolumeReclaimPolicy: Retain - local: - path: /opt/p4/ - storageClassName: local-storage - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - {{.HostName}} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4-pvc/06.vsp_p4_pvc.yaml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4-pvc/06.vsp_p4_pvc.yaml deleted file mode 100644 index b9ff1d3ca..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4-pvc/06.vsp_p4_pvc.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: vsp-p4-pvc - namespace: {{.Namespace}} -spec: - accessModes: - - ReadWriteMany - provisioner: kubernetes.io/no-provisioner - resources: - requests: - storage: 3Gi - storageClassName: local-storage diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/01.vsp_p4_sa.yaml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/01.vsp_p4_sa.yaml deleted file mode 100644 index dd0a15c23..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/01.vsp_p4_sa.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: vsp-p4-sa - namespace: {{.Namespace}} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/02.vsp_p4_role.yaml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/02.vsp_p4_role.yaml deleted file mode 100644 index e1909ce16..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/02.vsp_p4_role.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: vsp-p4-role - namespace: {{.Namespace}} -rules: -- apiGroups: - - security.openshift.io - resourceNames: - - privileged - resources: - - securitycontextconstraints - verbs: - - use -- apiGroups: - - apps - resources: - - daemonsets - verbs: - - get - - list - - watch - - create - - update - - delete diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/03.vsp_p4_role_binding.yaml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/03.vsp_p4_role_binding.yaml deleted file mode 100644 index 0540653d8..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/03.vsp_p4_role_binding.yaml +++ /dev/null @@ -1,13 +0,0 @@ -kind: RoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: vsp-p4-role-binding - namespace: {{.Namespace}} -subjects: -- kind: ServiceAccount - name: vsp-p4-sa -roleRef: - kind: Role - name: vsp-p4-role - apiGroup: rbac.authorization.k8s.io - diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/04.vsp_p4_service.yaml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/04.vsp_p4_service.yaml deleted file mode 100644 index 045f0ad44..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/04.vsp_p4_service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: vsp-p4-service - namespace: {{.Namespace}} -spec: - selector: - app: vsp-p4 - ports: - - protocol: TCP - port: 9559 - targetPort: 9559 diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/99.vsp_p4.yaml b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/99.vsp_p4.yaml deleted file mode 100644 index fe38fd6ea..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/bindata/vsp-p4/99.vsp_p4.yaml +++ /dev/null @@ -1,67 +0,0 @@ -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: vsp-p4 - namespace: {{.Namespace}} -spec: - selector: - matchLabels: - app: vsp-p4 - template: - metadata: - labels: - app: vsp-p4 - spec: - nodeSelector: - dpu: "true" - serviceAccountName: vsp-p4-sa - containers: - - name: p4-container - image: {{.ImageName}} - securityContext: - privileged: true - ports: - - containerPort: 9559 - hostPort: 9559 - resources: - requests: - cpu: 500m - memory: 4Gi - hugepages-2Mi: 256Mi - limits: - cpu: 1 - memory: 4Gi - hugepages-2Mi: 256Mi - volumeMounts: - - name: lib-modules - mountPath: /lib/modules/ - - name: var-run - mountPath: /opt/p4/p4-cp-nws/var/run - - name: sys - mountPath: /sys - - name: dev - mountPath: /dev - - name: hugepages - mountPath: /dev/hugepages - - name: opt-p4 - mountPath: /opt/p4 - dnsPolicy: ClusterFirstWithHostNet - volumes: - - name: lib-modules - hostPath: - path: /lib/modules/ - - name: var-run - hostPath: - path: /opt/p4/p4-cp-nws/var/run - - name: sys - hostPath: - path: /sys - - name: dev - hostPath: - path: /dev - - name: hugepages - hostPath: - path: /dev/hugepages - - name: opt-p4 - persistentVolumeClaim: - claimName: vsp-p4-pvc diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/infrapod.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/infrapod.go deleted file mode 100644 index 8fbdba1c7..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod/infrapod.go +++ /dev/null @@ -1,286 +0,0 @@ -package infrapod - -import ( - "context" - "embed" - "fmt" - "os" - "strconv" - "time" - - "github.com/bombsimon/logrusr/v4" - "github.com/go-logr/logr" - "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/k8s/render" - "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" - logrus "github.com/sirupsen/logrus" - appsv1 "k8s.io/api/apps/v1" - corev1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/runtime" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/apimachinery/pkg/util/wait" - clientgoscheme "k8s.io/client-go/kubernetes/scheme" - - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/cache" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/manager" - - "k8s.io/client-go/rest" -) - -//go:embed bindata/* -var binData embed.FS -var ( - scheme = runtime.NewScheme() -) - -func init() { - utilruntime.Must(clientgoscheme.AddToScheme(scheme)) - utilruntime.Must(appsv1.AddToScheme(scheme)) // Add apps/v1 scheme -} - -type DaemonSetReconciler struct { - client.Client - Scheme *runtime.Scheme -} - -func (r *DaemonSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - // Needs logic once we need reconcile logic for infrapod bringup - return ctrl.Result{}, nil -} - -// SetupWithManager sets up the controller with the Manager. -func (r *DaemonSetReconciler) SetupWithManager(mgr ctrl.Manager) error { - return ctrl.NewControllerManagedBy(mgr). - For(&appsv1.DaemonSet{}). - Complete(r) -} - -type InfrapodMgrOcImpl struct { - log logr.Logger - mgr manager.Manager - vspP4Template VspP4TemplateVars -} -type VspP4TemplateVars struct { - ImageName string - Namespace string - HostName string -} - -func (v VspP4TemplateVars) ToMap() map[string]string { - return map[string]string{ - "ImageName": v.ImageName, - "Namespace": v.Namespace, - "HostName": v.HostName, - } -} - -func NewVspP4TemplateVars(imageName string, namespace string) (VspP4TemplateVars, error) { - hostName, err := os.Hostname() - if err != nil { - return VspP4TemplateVars{}, fmt.Errorf("Failed to get error hostname: %v", err) - } - return VspP4TemplateVars{ - ImageName: imageName, - Namespace: namespace, - HostName: hostName, - }, nil -} - -func NewInfrapodMgr(imageName string, namespace string) (types.InfrapodMgr, error) { - // TODO: refactor entire logging framework to use a logr - // We are using https://github.com/bombsimon/logrusr temporarily - // here which is a logr implementation of logrus - logrusLog := logrus.New() - log := logrusr.New(logrusLog) - ctrl.SetLogger(log) - vspP4template, err := NewVspP4TemplateVars(imageName, namespace) - if err != nil { - log.Error(err, "unable to get template vars : %v", err) - return nil, err - } - // The duration below indicates the amount of time the pod - // should wait before starting again - t := time.Duration(0) - - mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ - Scheme: scheme, - NewCache: func(config *rest.Config, opts cache.Options) (cache.Cache, error) { - opts.DefaultNamespaces = map[string]cache.Config{ - vspP4template.Namespace: {}, - } - return cache.New(config, opts) - }, - // A timout needs to be specified, or else the mananger will wait indefinitely on stop() - GracefulShutdownTimeout: &t, - }) - if err != nil { - log.Error(err, "unable to start manager :%v", err) - return nil, err - } - if err = (&DaemonSetReconciler{ - Client: mgr.GetClient(), - Scheme: mgr.GetScheme(), - }).SetupWithManager(mgr); err != nil { - log.Error(err, "unable to create controller", "controller", "DaemonSet") - return nil, err - } - - return &InfrapodMgrOcImpl{ - log: log, - mgr: mgr, - vspP4Template: vspP4template, - }, nil -} - -/* Starts the controller manager in a different goroutine -* It blocks on the start. We register all DaemonSets and the -* Reconcile func would be called for any changes to events - */ -func (infrapodMgr *InfrapodMgrOcImpl) StartMgr() error { - infrapodMgr.log.Info("starting manager") - if err := infrapodMgr.mgr.Start(ctrl.SetupSignalHandler()); err != nil { - infrapodMgr.log.Error(err, "problem running manager") - return err - } - return nil -} - -/* -* Get PV and PVC. It returns false if it is not present and true if it does -* It doesn't return error if it is a NotFound error - */ -func (infrapodMgr *InfrapodMgrOcImpl) getPvCrs() (error, bool) { - obj := client.ObjectKey{Namespace: infrapodMgr.vspP4Template.Namespace, Name: "vsp-p4-pvc"} - pvc := &corev1.PersistentVolumeClaim{} - err := infrapodMgr.mgr.GetClient().Get(context.TODO(), obj, pvc) - if err == nil { - return nil, true - } - if err != nil && apierrors.IsNotFound(err) { - return nil, false - } - return err, false -} - -/* -Create p4 pvc This will create -> -persistentvolumes -persistentvolumeclaims -*/ -func (infrapodMgr *InfrapodMgrOcImpl) CreatePvCrs() error { - err, isPresent := infrapodMgr.getPvCrs() - if err != nil { - infrapodMgr.log.Error(err, "failed to start PV") - return fmt.Errorf("failed to get PV due to: %v", err) - } - if isPresent { - infrapodMgr.log.Error(err, "PV already present") - return nil - } - err = render.OperateAllFromBinData(infrapodMgr.log, "vsp-p4-pvc", - infrapodMgr.vspP4Template.ToMap(), binData, infrapodMgr.mgr.GetClient(), - nil, infrapodMgr.mgr.GetScheme(), false) - if err != nil { - infrapodMgr.log.Error(err, "failed to start PV") - return fmt.Errorf("failed to start PV due to: %v", err) - } - return nil -} - -/* -Create p4 pod This will create -> -ServiceAccount -role -rolebindings -service for p4runtime -P4 pod -*/ -func (infrapodMgr *InfrapodMgrOcImpl) CreateCrs() error { - err := render.OperateAllFromBinData(infrapodMgr.log, "vsp-p4", - infrapodMgr.vspP4Template.ToMap(), binData, infrapodMgr.mgr.GetClient(), - nil, infrapodMgr.mgr.GetScheme(), false) - if err != nil { - infrapodMgr.log.Error(err, "failed to start vsp-p4") - return fmt.Errorf("failed to start vsp-p4 (p4Image:%s) due to: %v", infrapodMgr.vspP4Template.ImageName, err) - } - return nil -} - -/* -Delete p4 pod This will delete -> -ServiceAccount -role -rolebindings -service for p4runtime -P4 pod -*/ -func (infrapodMgr *InfrapodMgrOcImpl) DeleteCrs() error { - err := render.OperateAllFromBinData(infrapodMgr.log, "vsp-p4", - infrapodMgr.vspP4Template.ToMap(), binData, infrapodMgr.mgr.GetClient(), - nil, infrapodMgr.mgr.GetScheme(), true) - if err != nil { - infrapodMgr.log.Error(err, "failed to delete vsp-p4") - return fmt.Errorf("failed to delete vsp-p4 (p4Image:%s) due to: %v", infrapodMgr.vspP4Template.ImageName, err) - } - return nil -} - -func (infrapodMgr *InfrapodMgrOcImpl) WaitForPodDelete(timeout time.Duration) error { - /* - This waits for P4 pod status to be ready. - This is different than the actual p4runtime grpc - server and waits for the instance managed by this mgr - to come up and not accidentally connect to previous instance - */ - obj := client.ObjectKey{Namespace: infrapodMgr.vspP4Template.Namespace, Name: "vsp-p4"} - ds := &appsv1.DaemonSet{} - var i = 0 - ctx, _ := context.WithTimeout(context.Background(), timeout) - err := wait.PollImmediate(5, timeout, func() (bool, error) { - err := infrapodMgr.mgr.GetClient().Get(ctx, obj, ds) - if err != nil && apierrors.IsNotFound(err) { - infrapodMgr.log.Info("Pod not found while waiting for delete: ") - return true, nil - } - infrapodMgr.log.Info("Pod still running while waiting for delete. Retry: " + strconv.Itoa(i)) - i++ - return false, nil - }) - if err == context.DeadlineExceeded { - return fmt.Errorf("timeout waiting for Pod deletion") - } - return nil -} - -func (infrapodMgr *InfrapodMgrOcImpl) WaitForPodReady(timeout time.Duration) error { - /* - This waits for P4 pod status to be ready. - This is different than the actual p4runtime grpc - server and waits for the instance managed by this mgr - to come up and not accidentally connect to previous instance - */ - obj := client.ObjectKey{Namespace: infrapodMgr.vspP4Template.Namespace, Name: "vsp-p4"} - ds := &appsv1.DaemonSet{} - var i = 0 - ctx, _ := context.WithTimeout(context.Background(), timeout) - err := wait.PollImmediate(5, timeout, func() (bool, error) { - err := infrapodMgr.mgr.GetClient().Get(ctx, obj, ds) - if err != nil { - infrapodMgr.log.Error(err, "failed to get infrapod. retry : "+strconv.Itoa(i)) - i++ - return false, client.IgnoreNotFound(err) // Important to ignore NotFound errors during polling. - } - - if ds.Status.DesiredNumberScheduled == ds.Status.NumberReady && ds.Status.DesiredNumberScheduled == 1 { - infrapodMgr.log.Info("Pod is running now") - return true, nil - } - return false, nil - }) - if err == context.DeadlineExceeded { - return fmt.Errorf("timeout waiting for Pod creation") - } - return err -} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/bridgeport.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/bridgeport.go index 5f23d8b5f..4d5fcb434 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/bridgeport.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/bridgeport.go @@ -17,7 +17,7 @@ package ipuplugin import ( "context" "fmt" - "sync" + "strconv" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" @@ -28,98 +28,65 @@ import ( "google.golang.org/protobuf/types/known/emptypb" ) -/* -interfaces slice will be populated with PortIds on ACC(port representators->PRs on ACC, for Host VFs), -for example, if ACC interface name is enp0s1f0d4, PortId(vportId) will be 4. -Will also include port representators->PRs needed for Network Functions. -interfaces = {HOST_VF_START_ID(22) to HOST_VF_END_ID(37), NF_PR_START_ID(6) to NF_PR_END_ID(13)} -intfMap is a map, that has key:value, between interfaceId and whether it is available(true or false) for use. -*/ -var interfaces []uint -var intfMap map[uint]bool +const ( + outerVlanId = 0 // hardcoded s-tag +) + var intfMapInit bool = false -// through bridgeport and network function service APIs(grpc), -// resource allocation apis can get invoked concurrently. -// serialize access to resources-> intfMap and interfaces -var ResourceMutex sync.Mutex +// Note: 3 reserved(last digit of interface name, for example, enp0s1f0d8, is 8) in exlude list in deviceplugin. +var interfaces [3]string = [3]string{"6", "7", "8"} +var intfMap map[string]bool func initMap() error { - var index uint - if !intfMapInit { - for index = HOST_VF_START_ID; index <= HOST_VF_END_ID; index = index + 1 { - interfaces = append(interfaces, index) - } - for index = NF_PR_START_ID; index <= NF_PR_END_ID; index = index + 1 { - interfaces = append(interfaces, index) - } - intfMap = make(map[uint]bool) + if intfMapInit == false { + intfMap = make(map[string]bool) for _, intf := range interfaces { intfMap[intf] = false } if len(interfaces) != len(intfMap) { - log.Errorf("initMap setup error") - return fmt.Errorf("initMap setup error") + log.Errorf("initMap setup error\n") + return fmt.Errorf("initMap setup error\n") } intfMapInit = true } return nil } -// in-order(sorted by interface IDs) allocation. Based on available ACC interfaces(for Host VF -// and NF PRs). Currently there are 2 ranges, first range(sorted) is for available Host-VF interface IDs -// (HOST_VF_START_ID to HOST_VF_END_ID) and second range(sorted) for NF PRs(NF_PR_START_ID to NF_PR_END_ID) -func AllocateAccInterface(allocPr string) (uint, error) { - var intfId uint = 0 - start, end := 0, 0 - - ResourceMutex.Lock() - defer ResourceMutex.Unlock() - - found := false - log.Debugf("AllocateAccInterface\n") - if !intfMapInit { +// in-order(sorted by interface name->interfaces) allocation, based on available ACC interfaces(for Host VF) +func allocateAccInterface() (error, string) { + var intfName string = "" + log.Debugf("allocateAccInterface\n") + if intfMapInit == false { initMap() } - if allocPr == types.HostVfPr { - start = 0 - end = HOST_VF_END_ID - HOST_VF_START_ID - } else { - start = HOST_VF_END_ID - HOST_VF_START_ID + 1 - end = start + NF_PR_END_ID - NF_PR_START_ID - } - for i := start; i <= end; i++ { - key := interfaces[i] + for _, key := range interfaces { + log.Debugf("intfName->%v\n", key) value, present := intfMap[key] - if present && !value { + if present == true && value == false { log.Debugf("Found avail Intf->%v: \n", key) intfMap[key] = true - intfId = key - found = true + intfName = key break } } - if found { - return intfId, nil + if intfName != "" { + return nil, intfName } - log.Errorf("AllocateAccInterface: Interface not available") - return intfId, fmt.Errorf("AllocateAccInterface: interface not available") + log.Errorf("Interface not available\n") + return fmt.Errorf("Interface not available\n"), intfName } -func FreeAccInterface(intfId uint) error { - log.Debugf("FreeAccInterface\n") - - ResourceMutex.Lock() - defer ResourceMutex.Unlock() - - value, present := intfMap[intfId] - if present && value { - log.Debugf("Found allocated Intf->%v: \n", intfId) - intfMap[intfId] = false +func freeAccInterface(intfName string) error { + log.Debugf("freeAccInterface\n") + value, present := intfMap[intfName] + if present == true && value == true { + log.Debugf("Found allocated Intf->%v: \n", intfName) + intfMap[intfName] = false return nil } - log.Errorf("Interface->%v not found in FreeAccInterface", intfId) - return fmt.Errorf("interface->%v not found in FreeAccInterface", intfId) + log.Errorf("Interface->%s not found in freeAccInterface\n", intfName) + return fmt.Errorf("Interface->%s not found in freeAccInterface\n", intfName) } // CreateBridgePort executes the creation of the port @@ -142,6 +109,12 @@ func (s *server) CreateBridgePort(_ context.Context, in *pb.CreateBridgePortRequ if in.BridgePort.Spec.LogicalBridges == nil || len(in.BridgePort.Spec.LogicalBridges) < 1 { return nil, fmt.Errorf("vlan id is not provided") } + vlan := s.getFirstVlanID(in.BridgePort.Spec.LogicalBridges) + + if vlan < 2 || vlan > 4094 { + s.log.WithField("vlan", vlan).Debug("invalid vlan") + return nil, fmt.Errorf("invalid vlan %d, vlan must be within 2-4094 range", vlan) + } if vfVsi < 1 { s.log.WithField("vfVsi", vfVsi).Debug("invalid VSI") @@ -154,33 +127,32 @@ func (s *server) CreateBridgePort(_ context.Context, in *pb.CreateBridgePortRequ CheckAndAddPeerToPeerP4Rules(s.p4rtClient) - intfId, err := AllocateAccInterface(types.HostVfPr) + err, intfName := allocateAccInterface() if err != nil { - return nil, fmt.Errorf("error from AllocateAccInterface->%v", err) + return nil, fmt.Errorf("error from allocateAccInterface->%v", err) } - log.Infof("intfId->%v, fullIntfName->%v", intfId, AccApfInfo[intfId].Name) + intIndex, err := strconv.Atoi(string(intfName)) + if err != nil { + log.Errorf("error->%v converting, intfName->%v", err, intfName) + return nil, fmt.Errorf("error->%v converting, intfName->%v", err, intfName) + } else { + log.Infof("intIndex->%v, fullIntfName->%v", intIndex, AccIntfNames[intIndex]) + } - if err := s.bridgeCtlr.AddPort(AccApfInfo[intfId].Name); err != nil { - log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[intfId].Name) - FreeAccInterface(intfId) - return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[intfId].Name) + if err := s.bridgeCtlr.AddPort(AccIntfNames[intIndex]); err != nil { + log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[intIndex]) + freeAccInterface(intfName) + return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[intIndex]) } // Add FXP rules - log.Infof("AddHostVfP4Rules, path->%s, 1->%v, 2->%v", s.p4rtClient.GetBin(), in.BridgePort.Spec.MacAddress, AccApfInfo[intfId].Mac) - err = p4rtclient.AddHostVfP4Rules(s.p4rtClient, in.BridgePort.Spec.MacAddress, AccApfInfo[intfId].Mac) - - if err != nil { - log.Errorf("CBP: err-> %v, from AddHostVfP4Rules", err) - DeletePortWrapper(s.bridgeCtlr, intfId) - FreeAccInterface(intfId) - return nil, fmt.Errorf("CBP: err-> %v, from AddHostVfP4Rules", err) - } + log.Infof("AddHostVfP4Rules, path->%s, 1->%v, 2->%v", s.p4rtClient.GetBin(), in.BridgePort.Spec.MacAddress, AccApfMacList[intIndex]) + p4rtclient.AddHostVfP4Rules(s.p4rtClient, in.BridgePort.Spec.MacAddress, AccApfMacList[intIndex]) resp := proto.Clone(in.BridgePort).(*pb.BridgePort) resp.Status = &pb.BridgePortStatus{OperStatus: pb.BPOperStatus_BP_OPER_STATUS_UP} - pbBridgePortInfo := &types.BridgePortInfo{PbBrPort: resp, PortId: intfId} + pbBridgePortInfo := &types.BridgePortInfo{PbBrPort: resp, PortInterface: intfName} s.Ports[in.BridgePort.Name] = pbBridgePortInfo return resp, nil } @@ -206,24 +178,26 @@ func (s *server) DeleteBridgePort(_ context.Context, in *pb.DeleteBridgePortRequ // in such case avoid delete call loop from CNI Agent which otherwise will repeatedly call DeleteBridgePort as retry return &emptypb.Empty{}, nil } - - FreeAccInterface(brPortInfo.PortId) - delete(s.Ports, in.Name) - portInfo = brPortInfo.PbBrPort - intfId := brPortInfo.PortId - log.Infof("intfIndex->%v, fullIntfName->%v", intfId, AccApfInfo[intfId].Name) - - if err := s.bridgeCtlr.DeletePort(AccApfInfo[intfId].Name); err != nil { - log.Errorf("unable to delete port from bridge: %v, for interface->%v", err, AccApfInfo[intfId].Name) - return nil, fmt.Errorf("unable to delete port from bridge: %v, for interface->%v", err, AccApfInfo[intfId].Name) + intIndex, err := strconv.Atoi(string(brPortInfo.PortInterface)) + if err != nil { + log.Errorf("error->%v converting, intfName->%v", err, brPortInfo.PortInterface) + return nil, fmt.Errorf("error->%v converting, intfName->%v", err, brPortInfo.PortInterface) + } else { + log.Infof("intIndex->%v, fullIntfName->%v", intIndex, AccIntfNames[intIndex]) } + if err := s.bridgeCtlr.DeletePort(AccIntfNames[intIndex]); err != nil { + log.Errorf("unable to delete port from bridge: %v, for interface->%v", err, AccIntfNames[intIndex]) + return nil, fmt.Errorf("unable to delete port from bridge: %v, for interface->%v", err, AccIntfNames[intIndex]) + } + freeAccInterface(brPortInfo.PortInterface) // Delete FXP rules - log.Infof("DeleteHostVfP4Rules, path->%s, 1->%v, 2->%v", s.p4rtClient.GetBin(), portInfo.Spec.MacAddress, AccApfInfo[intfId].Mac) - p4rtclient.DeleteHostVfP4Rules(s.p4rtClient, portInfo.Spec.MacAddress, AccApfInfo[intfId].Mac) + log.Infof("DeleteHostVfP4Rules, path->%s, 1->%v, 2->%v", s.p4rtClient.GetBin(), portInfo.Spec.MacAddress, AccApfMacList[intIndex]) + p4rtclient.DeleteHostVfP4Rules(s.p4rtClient, portInfo.Spec.MacAddress, AccApfMacList[intIndex]) + delete(s.Ports, in.Name) return &emptypb.Empty{}, nil } @@ -245,10 +219,11 @@ func (s *server) ListBridgePorts(_ context.Context, in *pb.ListBridgePortsReques return &pb.ListBridgePortsResponse{}, nil } -func DeletePortWrapper(bridgeCtlr types.BridgeController, intfId uint) error { - if err := bridgeCtlr.DeletePort(AccApfInfo[intfId].Name); err != nil { - log.Errorf("deletePortWrapper:failed to delete port to bridge: %v, for interface->%v", err, AccApfInfo[intfId].Name) - return err +func (s *server) getFirstVlanID(bridges []string) int { + vlanId, err := strconv.Atoi(bridges[0]) + if err != nil { + s.log.Errorf("unable to parse vlan ID %s. conversion error %s", bridges[0], err) + return 0 } - return nil + return vlanId } diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/bridgeport_test.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/bridgeport_test.go new file mode 100644 index 000000000..8ed660ad5 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/bridgeport_test.go @@ -0,0 +1,153 @@ +// Copyright (c) 2023 Intel Corporation. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ipuplugin + +import ( + "context" + + "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + pb "github.com/opiproject/opi-api/network/evpn-gw/v1alpha1/gen/go" + log "github.com/sirupsen/logrus" + "github.com/vishvananda/netlink" +) + +var _ = Describe("bridgeport", Serial, func() { + + Describe("CreateBridgePort", Serial, func() { + var ipuServer *server + BeforeEach(func() { + fakeBrCtlr := &mockBrCtlr{} + fakeP4rtClient := &mockP4rtClient{} + ExecutableHandlerGlobal = &MockExecutableHandlerImpl{} + ExecutableHandlerGlobal.SetupAccApfs() + ipuServer = &server{ + bridgeCtlr: fakeBrCtlr, + p4rtClient: fakeP4rtClient, + log: log.WithField("pkg", "bridgeport_test.go"), + } + }) + Context("when mac address in CreateBridgePortRequest is not valid", func() { + It("should return error", func() { + fakeReq := &pb.CreateBridgePortRequest{ + BridgePort: &pb.BridgePort{ + Spec: &pb.BridgePortSpec{}, // []MacAddress is not initialized + }, + } + _, err := ipuServer.CreateBridgePort(context.TODO(), fakeReq) + Expect(err).To(HaveOccurred()) + }) + }) + Context("when no vlan id in CreateBridgePortRequest", func() { + It("should return error", func() { + fakeMacAddr := []byte{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff} + fakeReq := &pb.CreateBridgePortRequest{ + BridgePort: &pb.BridgePort{ + Spec: &pb.BridgePortSpec{ + MacAddress: fakeMacAddr, + }, + }, + } + _, err := ipuServer.CreateBridgePort(context.TODO(), fakeReq) + Expect(err).To(HaveOccurred()) + }) + }) + Context("when no vlan id is not in valid vlan range", func() { + It("should return error", func() { + fakeMacAddr := []byte{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff} + fakeReq := &pb.CreateBridgePortRequest{ + BridgePort: &pb.BridgePort{ + Spec: &pb.BridgePortSpec{ + MacAddress: fakeMacAddr, + LogicalBridges: []string{"0"}, + }, + }, + } + _, err := ipuServer.CreateBridgePort(context.TODO(), fakeReq) + Expect(err).To(HaveOccurred()) + }) + }) + Context("when no VF VSI is 0", func() { + It("should return error", func() { + fakeMacAddr := []byte{0xaa, 0x00, 0xcc, 0xdd, 0xee, 0xff} // the second octet here is the VSI number + fakeReq := &pb.CreateBridgePortRequest{ + BridgePort: &pb.BridgePort{ + Spec: &pb.BridgePortSpec{ + MacAddress: fakeMacAddr, + LogicalBridges: []string{"100"}, + }, + }, + } + _, err := ipuServer.CreateBridgePort(context.TODO(), fakeReq) + Expect(err).To(HaveOccurred()) + }) + }) + Context("when port is present in internal Port Map", func() { + It("should return without any error", func() { + + fakeMacAddr := []byte{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff} + fakePort := &pb.BridgePort{ + Name: "fakePort", + Spec: &pb.BridgePortSpec{ + MacAddress: fakeMacAddr, + LogicalBridges: []string{"100"}, + }, + } + fakePortBridgeInfo := &types.BridgePortInfo{ + fakePort, "fakePort1", + } + + fakeReq := &pb.CreateBridgePortRequest{BridgePort: fakePort} + + ipuServer.Ports = make(map[string]*types.BridgePortInfo) + ipuServer.Ports["fakePort"] = fakePortBridgeInfo // fakePort already exists in internal Map + _, err := ipuServer.CreateBridgePort(context.TODO(), fakeReq) + Expect(err).NotTo(HaveOccurred()) + }) + }) + + Context("when CreateBridgePortRequest is valid and port is present in internal Port Map", func() { + It("should return without any error", func() { + ipuServer.Ports = make(map[string]*types.BridgePortInfo) + fakeMacAddr := []byte{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff} + fakePort := &pb.BridgePort{ + Name: "fakePort", + Spec: &pb.BridgePortSpec{ + MacAddress: fakeMacAddr, + LogicalBridges: []string{"100"}, + }, + } + fakePortBridgeInfo := &types.BridgePortInfo{ + fakePort, "fakePort1", + } + ipuServer.Ports["fakePort"] = fakePortBridgeInfo // fakePort already exists in internal Map + + // mock other internal functions and other dependencies + linkByNameFn = func(ifName string) (netlink.Link, error) { + vLink := &netlink.Vlan{} + vLink.Name = ifName + return vLink, nil + } + linkAddFn = fakeLinkAdd + ipuServer.uplinkInterface = "dummyUplink" + + fakeReq := &pb.CreateBridgePortRequest{BridgePort: fakePort} + _, err := ipuServer.CreateBridgePort(context.TODO(), fakeReq) + Expect(err).NotTo(HaveOccurred()) + }) + }) + }) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/deviceplugin.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/deviceplugin.go index 75b64172d..dbec387d4 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/deviceplugin.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/deviceplugin.go @@ -24,9 +24,8 @@ type DevicePluginService struct { var ( //TODO: Use (GetFilteredPfs), to find interface names to be excluded. - //excluding d3(host-acc), reserving D4,D1(QSPF ports) D6-D8(for max 3 host VFs), D9-D10(for single NF) - exclude = []string{"enp0s1f0", "enp0s1f0d1", "enp0s1f0d2", "enp0s1f0d3", - "enp0s1f0d4", "enp0s1f0d5", "enp0s1f0d6", + //excluding d3(host-acc), reserving D4-D5(QSPF ports) D6-D8(for max 3 host VFs), D9-D10(for single NF) + exclude = []string{"enp0s1f0", "enp0s1f0d1", "enp0s1f0d2", "enp0s1f0d3", "enp0s1f0d4", "enp0s1f0d5", "enp0s1f0d6", "enp0s1f0d7", "enp0s1f0d8", "enp0s1f0d9", "enp0s1f0d10"} sysClassNet = "/sys/class/net" sysBusPciDevices = "/sys/bus/pci/devices" @@ -36,13 +35,6 @@ var ( maxVfsSupported = 64 ) -/* -hostVfDevs uses a map(where key is pci-address(for example-> 0000:cb:00.6)) -accDevs uses a map(where key is ACC netdev interface name(for example-> enp0s1f0d14)) -*/ -var hostVfDevs map[string]*pb.Device -var accDevs map[string]*pb.Device - func NewDevicePluginService(mode string) *DevicePluginService { return &DevicePluginService{mode: mode} } @@ -241,54 +233,9 @@ func (s *DevicePluginService) SetNumVfs(ctx context.Context, vfCountReq *pb.VfCo return res, err } -// GetPciFromNetDev takes in a network device name and returns its PCI address -// Note: This function(GetPciFromNetDev) is based on similar api in dpu-operator/dpu-cni/pkgs/sriovutils -func GetPciFromNetDev(ifName string) (string, error) { - netDevPath := filepath.Join(sysClassNet, ifName, "device") - pciAddr, err := filepath.EvalSymlinks(netDevPath) - if err != nil { - return "", fmt.Errorf("failed to find PCI address for net device %s: %v", ifName, err) - } - - return filepath.Base(pciAddr), nil -} - -/* -For the first call, we query the devices(on host or ACC) and cache it. -For subsequent calls, we return cached list of devices. Caching helps in -addressing the case, wherein, if host-VF is allocated for a pod, it is no -longer available in host netnamespace, so doesnt show up under /sys/class/net, -so we were returning 1 less device, but DPU's allocator still expects, the -overall count of Host-VFs(even if one of them is in allocated state). -DPU resource allocation, maintains its own list of total vs how-many VFs available. -*/ func discoverHostDevices(mode string) (map[string]*pb.Device, error) { - if mode != types.IpuMode && mode != types.HostMode { - return make(map[string]*pb.Device), fmt.Errorf("Invalid mode->%v", mode) - } - //Note: It is expected that VSP's-Init(on ACC) gets invoked prior to GetDevices, - //this check is meant to catch any anomalies. - if mode == types.IpuMode { - if len(AccApfsAvailForCNI) == 0 { - log.Errorf("discoverHostDevices: Error, AccApfsAvailForCNI not setup") - return make(map[string]*pb.Device), fmt.Errorf("discoverHostDevices: Error, AccApfsAvailForCNI not setup") - } - } - - if mode == types.IpuMode { - if accDevs == nil { - accDevs = make(map[string]*pb.Device) - } else if len(accDevs) > 0 { - return accDevs, nil - } - } else { //mode == types.HostMode - if hostVfDevs == nil { - hostVfDevs = make(map[string]*pb.Device) - } else if len(hostVfDevs) > 0 { - return hostVfDevs, nil - } - } + devices := make(map[string]*pb.Device) files, err := os.ReadDir(sysClassNet) if err != nil { @@ -306,25 +253,15 @@ func discoverHostDevices(mode string) (map[string]*pb.Device, error) { device_code := strings.TrimSpace(string(deviceCodeByte)) if mode == types.IpuMode { if device_code == deviceCode { - if slices.Contains(AccApfsAvailForCNI, file.Name()) { - accDevs[file.Name()] = &pb.Device{ID: file.Name(), Health: pluginapi.Healthy} + if !slices.Contains(exclude, file.Name()) { + devices[file.Name()] = &pb.Device{ID: file.Name(), Health: pluginapi.Healthy} } } } else if mode == types.HostMode { if device_code == deviceCodeVf { - pciAddr, err := GetPciFromNetDev(file.Name()) - if err != nil { - log.Errorf("Error->%v finding pci addr from netinterface->%s", err, file.Name()) - continue - } - hostVfDevs[pciAddr] = &pb.Device{ID: pciAddr, Health: pluginapi.Healthy} + devices[file.Name()] = &pb.Device{ID: file.Name(), Health: pluginapi.Healthy} } } } - - if mode == types.IpuMode { - return accDevs, nil - } - - return hostVfDevs, nil + return devices, nil } diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ipuplugin.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ipuplugin.go index aa0e867c9..660826895 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ipuplugin.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ipuplugin.go @@ -17,8 +17,13 @@ package ipuplugin import ( "context" "fmt" - "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/firewall" - "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/infrapod" + "net" + "os" + "os/signal" + "path/filepath" + "syscall" + "time" + "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/utils" @@ -28,16 +33,6 @@ import ( log "github.com/sirupsen/logrus" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" - "net" - "os" - "os/signal" - "path/filepath" - "syscall" - "time" -) - -const ( - dpuNamespace = "openshift-dpu-operator" ) type server struct { @@ -54,16 +49,14 @@ type server struct { Ports map[string]*types.BridgePortInfo bridgeCtlr types.BridgeController p4rtClient types.P4RTClient - p4Image string mode string daemonHostIp string daemonIpuIp string daemonPort int - infrapodMgr types.InfrapodMgr } func NewIpuPlugin(port int, brCtlr types.BridgeController, - p4Client types.P4RTClient, p4Image string, servingAddr, servingProto, bridge, intf, p4cpInstall, mode, daemonHostIp, daemonIpuIp string, daemonPort int) types.Runnable { + p4Client types.P4RTClient, servingAddr, servingProto, bridge, intf, p4cpInstall, mode, daemonHostIp, daemonIpuIp string, daemonPort int) types.Runnable { return &server{ servingAddr: servingAddr, servingPort: port, @@ -76,37 +69,24 @@ func NewIpuPlugin(port int, brCtlr types.BridgeController, Ports: make(map[string]*types.BridgePortInfo), bridgeCtlr: brCtlr, p4rtClient: p4Client, - p4Image: p4Image, mode: mode, daemonHostIp: daemonHostIp, daemonIpuIp: daemonIpuIp, daemonPort: daemonPort, - infrapodMgr: nil, // Created in Run() } } -func waitForInfraP4d(p4rtClient types.P4RTClient, inCluster bool) (string, error) { +func waitForInfraP4d(p4rtClient types.P4RTClient) (string, error) { ctx := context.Background() - // Higher retries because ipu-plugin itself starts infrapod - // and if it doesn't wait the minimum, then there is a chance that it - // will keep restarting and hence restarting infrapod too - maxRetries := 50 + maxRetries := 10 retryInterval := 2 * time.Second var err error var count int var conn *grpc.ClientConn - log.Infof("waitForInfraP4d: inCluster: %v", inCluster) for count = 0; count < maxRetries; count++ { time.Sleep(retryInterval) - // Infrapod was created successfully. Since the service must have been - // restarted, the IP would be new. Resolve again and reassign - err = p4rtClient.ResolveServiceIp(inCluster) - if err != nil { - log.Warnf("Error %v while trying to resolve IP", err) - continue - } conn, err = grpc.Dial(p4rtClient.GetIpPort(), grpc.WithTransportCredentials(insecure.NewCredentials())) log.Infof("Connecting to server %s retry count:%d", p4rtClient.GetIpPort(), count) if err != nil { @@ -145,7 +125,6 @@ func (s *server) Run() error { var err error signalChannel := make(chan os.Signal, 2) signal.Notify(signalChannel, os.Interrupt, syscall.SIGTERM) - inCluster := true listen, err := s.getListener() if err != nil { @@ -153,60 +132,12 @@ func (s *server) Run() error { } if s.mode == types.IpuMode { - // Configure ACC firewall settings to allow microshift, dpu-operator, ACC-IMC internal traffics. - log.Info("Configure firewalld on ACC") - if err := firewall.Configure(); err != nil { - log.Error(err, "firewall setup failed: %v", err) - } - - log.Info("Starting infrapod") - if s.p4Image != "" { - log.Infof("Using P4 image as : %s\n", s.p4Image) - s.infrapodMgr, err = infrapod.NewInfrapodMgr(s.p4Image, dpuNamespace) - if err != nil { - log.Error(err, "unable to create InfrapodMgr : %v", err) - return err - } - go func() { - if err = s.infrapodMgr.StartMgr(); err != nil { - log.Error(err, "unable to Start mgr : %v", err) - time.Sleep(2 * time.Second) - // Sending Sigterm to the main thread to start cleanup - syscall.Kill(syscall.Getpid(), syscall.SIGTERM) - } - }() - if err = s.infrapodMgr.DeleteCrs(); err != nil { - log.Error(err, "unable to Delete Crs : %v", err) - return err - } - if err = s.infrapodMgr.WaitForPodDelete(60 * time.Second); err != nil { - log.Error(err, "unable to Wait for pod deletion : %v", err) - return err - } - if err = s.infrapodMgr.CreatePvCrs(); err != nil { - log.Error(err, "unable to Create PV Crs : %v", err) - return err - } - if err = s.infrapodMgr.CreateCrs(); err != nil { - log.Error(err, "unable to Create Crs : %v", err) - return err - } - if err = s.infrapodMgr.WaitForPodReady(60 * time.Second); err != nil { - log.Error(err, "unable to Wait for pod creation : %v", err) - return err - } - } else { - inCluster = false - log.Infof("Waiting for P4 pod to be started manually\n") - } // Wait for the infrap4d connection to come up - if _, err := waitForInfraP4d(s.p4rtClient, inCluster); err != nil { - log.Error(err, "unable to connect to infrap4d, %v; Exiting", err) + if _, err := waitForInfraP4d(s.p4rtClient); err != nil { return err } // Create bridge if it doesn't exist if err := s.bridgeCtlr.EnsureBridgeExists(); err != nil { - log.Infof("error while checking host bridge existence: %v", err) log.Fatalf("error while checking host bridge existence: %v", err) return fmt.Errorf("host bridge error") } @@ -233,59 +164,35 @@ func (s *server) Run() error { return nil } -func cleanUpRulesOnExit(p4rtClient types.P4RTClient) error { - log.Infof("DeletePhyPortRules, path->%s, 1->%v, 2->%v", p4rtClient.GetBin(), AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Mac, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) - p4rtclient.DeletePhyPortRules(p4rtClient, AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Mac, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) +func (s *server) Stop() { + s.log.Info("Stopping IPU plugin") + if s.mode == types.IpuMode { + //Note: Deletes bridge created in EnsureBridgeExists in Run api. + s.bridgeCtlr.DeleteBridges() + } + + log.Infof("DeletePhyPortRules, path->%s, 1->%v, 2->%v", s.p4rtClient.GetBin(), AccApfMacList[PHY_PORT0_INTF_INDEX], AccApfMacList[PHY_PORT1_INTF_INDEX]) + p4rtclient.DeletePhyPortRules(s.p4rtClient, AccApfMacList[PHY_PORT0_INTF_INDEX], AccApfMacList[PHY_PORT1_INTF_INDEX]) vfMacList, err := utils.GetVfMacList() if err != nil { log.Errorf("Stop: Error->%v", err) - return fmt.Errorf("Stop: Error->%v", err) } if len(vfMacList) == 0 || (len(vfMacList) == 1 && vfMacList[0] == "") { log.Errorf("No VFs initialized on the host") } else { - log.Infof("DeletePeerToPeerP4Rules, path->%s, vfMacList->%v", p4rtClient.GetBin(), vfMacList) - p4rtclient.DeletePeerToPeerP4Rules(p4rtClient, vfMacList) + log.Infof("DeletePeerToPeerP4Rules, path->%s, vfMacList->%v", s.p4rtClient.GetBin(), vfMacList) + p4rtclient.DeletePeerToPeerP4Rules(s.p4rtClient, vfMacList) } - log.Infof("DeleteLAGP4Rules, path->%s", p4rtClient.GetBin()) - p4rtclient.DeleteLAGP4Rules(p4rtClient) + log.Infof("DeleteLAGP4Rules, path->%s", s.p4rtClient.GetBin()) + p4rtclient.DeleteLAGP4Rules(s.p4rtClient) - log.Infof("DeleteRHPrimaryNetworkVportP4Rules, path->%s, 1->%v", p4rtClient, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) - p4rtclient.DeleteRHPrimaryNetworkVportP4Rules(p4rtClient, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) - return nil -} - -func (s *server) Stop() { - s.log.Info("Stopping IPU plugin") - if s.mode == types.IpuMode { - //Note: Deletes bridge created in EnsureBridgeExists in Run api. - s.bridgeCtlr.DeleteBridges() - // Delete P4 rules on exit - cleanUpRulesOnExit(s.p4rtClient) - if err := s.infrapodMgr.DeleteCrs(); err != nil { - log.Error(err, "unable to Delete Crs : %v", err) - // Do not return since we continue on error - } - //Restore Red Hat primary network path via opcodes - This is required after the primiary network P4 rules are deleted. - utils.RestoreRHPrimaryNetwork() - } - // Stopping the gRPC server for the DPU daemon s.grpcSrvr.GracefulStop() if s.listener != nil { s.listener.Close() _ = s.cleanUp() } - - if s.mode == types.IpuMode { - //Reset firewall to its default settings. - log.Info("Stop firewalld on ACC") - if err := firewall.CleanUp(); err != nil { - log.Error(err, "firewall cleanup failed: %v", err) - } - } - s.log.Info("IPU plugin has stopped") } diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ipuplugin_suite_test.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ipuplugin_suite_test.go new file mode 100644 index 000000000..91f9eca8d --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ipuplugin_suite_test.go @@ -0,0 +1,13 @@ +package ipuplugin_test + +import ( + "testing" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +func TestIpuPlugin(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "IPU Plugin Suite") +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/lifecycleservice.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/lifecycleservice.go index 4466aae89..eadbed745 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/lifecycleservice.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/lifecycleservice.go @@ -15,9 +15,13 @@ package ipuplugin import ( + "bytes" "context" + "crypto/md5" "crypto/rand" + "encoding/hex" "fmt" + "io" math_rand "math/rand" "net" "os" @@ -54,43 +58,26 @@ const ( deviceId = "0x1452" vendorId = "0x8086" imcAddress = "192.168.0.1:22" - ApfNumber = 48 + ApfNumber = 16 last_byte_mac_range = 239 ) -type AccApfInfoType struct { - Mac string - Name string -} - -var AccApfInfo []AccApfInfoType -var AccApfsAvailForCNI []string - var InitAccApfMacs = false +var AccApfMacList []string var PeerToPeerP4RulesAdded = false -// Reserved ACC interfaces(using vport_id or last digit of interface name, for example, index 4 represents-> enp0s1f0d4) -/* With 1 NF config -NF_PR_START_ID->6 to NF_PR_END_ID->7 -NF_AVAIL_START_ID->8 to NF_AVAIL_END_ID->9 -HOST_VF_START_ID->10 to HOST_VF_END_ID->25 -*/ +// Reserved ACC interfaces(using vport_id or last digit of interface name, like 4 represents-> enp0s1f0d4) const ( - PHY_PORT0_PRIMARY_INTF_INDEX = 1 - RSVD_INIT_LEN = 4 - PHY_PORT0_SECONDARY_INTF_INDEX = (PHY_PORT0_PRIMARY_INTF_INDEX + RSVD_INIT_LEN) - - MAX_NF_CNT = 1 - NF_PR_START_ID = (PHY_PORT0_SECONDARY_INTF_INDEX + 1) - NF_PR_LEN = (MAX_NF_CNT * 2) - NF_PR_END_ID = (NF_PR_START_ID + NF_PR_LEN - 1) - NF_AVAIL_START_ID = NF_PR_END_ID + 1 - NF_AVAIL_END_ID = (NF_AVAIL_START_ID + NF_PR_LEN - 1) - HOST_VF_START_ID = (NF_AVAIL_END_ID + 1) - MAX_HOST_VF_CNT = (16) - HOST_VF_END_ID = (HOST_VF_START_ID + MAX_HOST_VF_CNT - 1) + PHY_PORT0_INTF_INDEX = 4 + PHY_PORT1_INTF_INDEX = 5 + NF_IN_PR_INTF_INDEX = 9 + NF_OUT_PR_INTF_INDEX = 10 ) +// TODO: GetFilteredPFs can be used to fill the array. +var AccIntfNames = [ApfNumber]string{"enp0s1f0", "enp0s1f0d1", "enp0s1f0d2", "enp0s1f0d3", "enp0s1f0d4", "enp0s1f0d5", "enp0s1f0d6", + "enp0s1f0d7", "enp0s1f0d8", "enp0s1f0d9", "enp0s1f0d10", "enp0s1f0d11", "enp0s1f0d12", "enp0s1f0d13", "enp0s1f0d14", "enp0s1f0d15"} + func NewLifeCycleService(daemonHostIp, daemonIpuIp string, daemonPort int, mode string, p4rtClient types.P4RTClient, brCtlr types.BridgeController) *LifeCycleServiceServer { return &LifeCycleServiceServer{ daemonHostIp: daemonHostIp, @@ -138,7 +125,6 @@ type ExecutableHandler interface { validate() bool nmcliSetupIpAddress(link netlink.Link, ipStr string, ipAddr *netlink.Addr) error SetupAccApfs() error - AddAccApfsToGroupOne() error } type ExecutableHandlerImpl struct{} @@ -179,46 +165,6 @@ func InitHandlers() { } } -func removeFXPDefaultOpcode() error { - config := &ssh.ClientConfig{ - User: "root", - Auth: []ssh.AuthMethod{ - ssh.Password(""), - }, - HostKeyCallback: ssh.InsecureIgnoreHostKey(), - } - // Connect to the remote server. - client, err := ssh.Dial("tcp", imcAddress, config) - if err != nil { - log.Errorf("failed to dial remote server(%s): %s", imcAddress, err) - return fmt.Errorf("failed to dial remote server(%s): %s", imcAddress, err) - } - defer client.Close() - - // Create an SFTP client. - sftpClient, err := sftp.NewClient(client) - if err != nil { - log.Info("AddRHPrimaryNetworkVportP4Rules: Warning!. Unable to create sftpClient") - } - defer sftpClient.Close() - - opcodeStr := "opcode=0x1305 prof_id=0xb cookie=123 key=0x00,0x00,0x00,0x00" - remoteFilePath := "/tmp/del_opcode.txt" - - err = utils.CopyFile(opcodeStr, remoteFilePath, sftpClient) - if err != nil { - log.Info("CopyFile: Warning!. Copy opcode file to IMC failed. Unable to delete default FXP opcode") - } - - remoteCliCmd := "set -o pipefail && cli_client -x -f /tmp/del_opcode.txt" - _, err = utils.RunCliCmdOnImc(remoteCliCmd, "") - if err != nil { - log.Info("RunCliCmdOnImc: Warning!. Unable to delete default FXP opcode") - } - - return nil -} - func isPF(iface string) (bool, error) { device, err := fileSystemHandler.GetDevice(iface) if err != nil { @@ -581,14 +527,47 @@ func (s *SSHHandlerImpl) sshFunc() error { } defer sftpClient.Close() - //copy P4 package file. + // Open the source file. p4PkgName := os.Getenv("P4_NAME") + ".pkg" - imcPath := "/work/scripts/" + p4PkgName - vspPath := "/" + p4PkgName - err = utils.CopyBinary(imcPath, vspPath, sftpClient) + localFilePath := "/" + p4PkgName + srcFile, err := os.Open(localFilePath) + if err != nil { + return fmt.Errorf("failed to open local file: %s", err) + } + defer srcFile.Close() + + // Create the destination file on the remote server. + remoteFilePath := "/work/scripts/" + p4PkgName + dstFile, err := sftpClient.Create(remoteFilePath) + if err != nil { + return fmt.Errorf("failed to create remote file: %s", err) + } + defer dstFile.Close() + + // Copy the file contents to the destination file. + _, err = io.Copy(dstFile, srcFile) + if err != nil { + return fmt.Errorf("failed to copy file: %s", err) + } + // Ensure that the file is written to the remote filesystem. + err = dstFile.Sync() if err != nil { - return fmt.Errorf("sshFunc:copyBinary-error: %v", err) + return fmt.Errorf("failed to sync file: %s", err) + } + + // Start a session. + session, err := client.NewSession() + if err != nil { + return fmt.Errorf("failed to create session: %s", err) + } + defer session.Close() + + // Append python script to configure the ACC + commands := `echo "python /usr/bin/scripts/cfg_acc_apf_x2.py" >> /work/scripts/pre_init_app.sh` + err = session.Run(commands) + if err != nil { + return fmt.Errorf("failed to run commands: %s", err) } macAddress, err := setBaseMacAddr() @@ -596,35 +575,91 @@ func (s *SSHHandlerImpl) sshFunc() error { return fmt.Errorf("error from setBaseMacAddr()->%v", err) } - inputFile := genLoadCustomPkgFile(macAddress) - remoteFilePath := "/work/scripts/load_custom_pkg.sh" + shellScript := genLoadCustomPkgFile(macAddress) - err = utils.CopyFile(inputFile, remoteFilePath, sftpClient) + loadCustomPkgFilePath := "/work/scripts/load_custom_pkg.sh" + loadCustomPkgFile, err := sftpClient.Create(loadCustomPkgFilePath) + if err != nil { + return fmt.Errorf("failed to create remote load_custom_pkg.sh: %s", err) + } + defer loadCustomPkgFile.Close() + _, err = loadCustomPkgFile.Write([]byte(shellScript)) if err != nil { - return fmt.Errorf("sshFunc:CopyFile-error: %v", err) + return fmt.Errorf("failed to write to load_custom_pkg.sh: %s", err) } - //post_init_app.sh - inputFile = postInitAppScript() - remoteFilePath = "/work/scripts/post_init_app.sh" + err = loadCustomPkgFile.Sync() + if err != nil { + return fmt.Errorf("failed to sync load_custom_pkg.sh: %s", err) + } - err = utils.CopyFile(inputFile, remoteFilePath, sftpClient) + err = sftpClient.Chmod(loadCustomPkgFilePath, 0755) + if err != nil { + log.Errorf("failed to chmod load_custom_pkg.sh file: %s", err) + return fmt.Errorf("failed to chmod load_custom_pkg.sh file: %s", err) + } + //Create post_init_app.sh + postInitAppFileStr := postInitAppScript() + postInitRemoteFilePath := "/work/scripts/post_init_app.sh" + postInitFile, err := sftpClient.Create(postInitRemoteFilePath) if err != nil { - return fmt.Errorf("sshFunc:CopyFile-error: %v", err) + log.Errorf("failed to create post_init_app.sh file: %s", err) + return fmt.Errorf("failed to create post_init_app.sh file: %s", err) } + defer postInitFile.Close() - inputFile = macAddress + "\n" - remoteFilePath = "/work/uuid" + _, err = postInitFile.Write([]byte(postInitAppFileStr)) + if err != nil { + return fmt.Errorf("failed to write to post_init_app.sh file: %s", err) + } - err = utils.CopyFile(inputFile, remoteFilePath, sftpClient) + err = postInitFile.Sync() + if err != nil { + return fmt.Errorf("failed to sync post_init_app.sh file: %s", err) + } + err = sftpClient.Chmod(postInitRemoteFilePath, 0755) if err != nil { - return fmt.Errorf("sshFunc:CopyFile-error: %v", err) + log.Errorf("failed to chmod post_init_app.sh file: %s", err) + return fmt.Errorf("failed to chmod post_init_app.sh file: %s", err) } - session, err := client.NewSession() + uuidFilePath := "/work/uuid" + uuidFile, err := sftpClient.Create(uuidFilePath) + if err != nil { + return fmt.Errorf("failed to create remote uuid file: %s", err) + } + defer uuidFile.Close() + + // Write the new MAC address to the uuid file. + _, err = uuidFile.Write([]byte(macAddress + "\n")) + if err != nil { + return fmt.Errorf("failed to write to uuid file: %s", err) + } + + // Ensure that the uuid file is written to the remote filesystem. + err = uuidFile.Sync() + if err != nil { + return fmt.Errorf("failed to sync uuid file: %s", err) + } + + session, err = client.NewSession() + if err != nil { + return fmt.Errorf("failed to create session: %s", err) + } + defer session.Close() + + // Run a command on the remote server and capture the output. + var stdoutBuf bytes.Buffer + session.Stdout = &stdoutBuf + err = session.Run(commands) + if err != nil { + return fmt.Errorf("failed to run commands: %s", err) + } + + session, err = client.NewSession() if err != nil { return fmt.Errorf("failed to create session: %s", err) } @@ -651,8 +686,8 @@ func countAPFDevices() int { /* Updates post_init_app.sh script, which installs port-setup.sh script. port-setup.sh script, -will run devmem command for D1 interface, as soon as -D1 comes up on ACC, to enable connectivity. +will run devmem command for D5 interface, as soon as +D5 comes up on ACC, to enable connectivity. There is an intermittent race condition, when port-setup.log file, is accessed(for file removal or any other case) by post_init_app.sh, then later when nohup tries to stdout to that log file(port-setup.log), @@ -678,18 +713,11 @@ set -x trap 'echo "Line $LINENO: $BASH_COMMAND"' DEBUG PORT_SETUP_SCRIPT=/work/scripts/port-setup.sh -POST_INIT_LOG=/work/scripts/post-init.log -PORT_SETUP_LOG=/work/scripts/port-setup.log -PORT_SETUP_LOG2=/work/scripts/port-setup2.log -OPCODE_CFG_FILE=$(mktemp -p /tmp --suffix=.txt) +PORT_SETUP_LOG=/work/port-setup.log +POST_INIT_LOG=/work/post-init.log +PORT_SETUP_LOG2=/work/port-setup2.log /usr/bin/rm -f ${PORT_SETUP_SCRIPT} ${POST_INIT_LOG} -/usr/bin/rm -f ${PORT_SETUP_LOG} ${POST_SETUP_LOG2} -sleep 1 -sync - -# For the redfish service to remain active after reboot, it must be started in the post_init. -[ -e /work/scripts/start-redfish.sh ] && /work/scripts/start-redfish.sh exec 2>&1 1>${POST_INIT_LOG} @@ -697,8 +725,8 @@ pkill -9 $(basename ${PORT_SETUP_SCRIPT}) cat< ${PORT_SETUP_SCRIPT} #!/bin/bash -IDPF_VPORT_NAME="enp0s1f0d1" -ACC_VPORT_ID=0x1 +IDPF_VPORT_NAME="enp0s1f0d5" +ACC_VPORT_ID=0x5 retry=0 ran_cmds=0 ran_cmds_cnt=0 @@ -727,9 +755,8 @@ trap release_lock EXIT run_devmem_cmds() { retry=0 while [[ \${ran_cmds} -eq 0 ]] ; do -sync -sleep 4 -cli_entry=(\$(cli_client -qc | grep -w "fn_id: 0x4 .* vport_id \${ACC_VPORT_ID}" | sed 's/: / /g' | sed 's/addr //g')) +sleep 2 +cli_entry=(\$(cli_client -qc | grep "fn_id: 0x4 .* vport_id \${ACC_VPORT_ID}" | sed 's/: / /g' | sed 's/addr //g')) if [ \${#cli_entry[@]} -gt 1 ] ; then for (( id=0 ; id<\${#cli_entry[@]} ; id+=2 )) ; do @@ -748,13 +775,6 @@ if [ \${#cli_entry[@]} -gt 1 ] ; then echo "RunDevMemCmds_Start: LogFile->" # Critical section - only one script can be here at a time set -x - # OPCODE update to program the rx_phy_port_to_pr_map table default action with the correct vsi_id of D1 interface, which could potentially change - # per reboot of IMC. - # opcode 0x1305 is for DELETE an entry. - echo "opcode=0x1305 prof_id=0xb cookie=123 key=0x00,0x00,0x00,0x00 act=set_vsi{act_val=\${vsi_id} val_type=0 dst_pe=0 slot=0x0}" > $OPCODE_CFG_FILE - # opcode 0x1303 is for ADD an entry. - echo "opcode=0x1303 prof_id=0xb cookie=123 key=0x00,0x00,0x00,0x00 act=set_vsi{act_val=\${vsi_id} val_type=0 dst_pe=0 slot=0x0}" >> $OPCODE_CFG_FILE - cli_client -x -f $OPCODE_CFG_FILE devmem 0x20292002a0 64 \${VSI_GROUP_INIT} devmem 0x2029200388 64 0x1 devmem 0x20292002a0 64 \${VSI_GROUP_WRITE} @@ -783,16 +803,16 @@ fi done } -# Function to check if D1 interface is up on ACC -primary_interface_up() { - cli_entry=(\$(cli_client -qc | grep -w "fn_id: 0x4 .* vport_id \${ACC_VPORT_ID}" | sed 's/: / /g' | sed 's/addr //g')) +# Function to check if D5 interface is up on ACC +d5_interface_up() { + cli_entry=(\$(cli_client -qc | grep "fn_id: 0x4 .* vport_id \${ACC_VPORT_ID}" | sed 's/: / /g' | sed 's/addr //g')) if [ \${#cli_entry[@]} -gt 1 ] ; then return 1 # Success fi return 0 } -# Invokes run_devmem_cmds, upon startup, and periodically checks if D1 is alive, if not re-run. +# Invokes run_devmem_cmds, upon startup, and periodically checks if D5 is alive, if not re-run. while [[ \${ran_cmds} -eq 0 ]]; do echo "invoke run_devmem_cmds" run_devmem_cmds @@ -810,12 +830,12 @@ while [[ \${ran_cmds} -eq 0 ]]; do #inner while while true ; do - primary_interface_up + d5_interface_up if [[ \$? -eq 1 ]]; then - #echo "Primary interface up, sleep" - sleep 7 + #echo "D5 interface up, sleep" + sleep 5 else - echo "Primary not found. ACC may have gone down, retry." + echo "D5 not found. ACC may have gone down, retry." ran_cmds=0 break fi @@ -826,18 +846,10 @@ PORT_CONFIG_EOF /usr/bin/chmod a+x ${PORT_SETUP_SCRIPT} /usr/bin/nohup bash -c ''"${PORT_SETUP_SCRIPT}"' '"${PORT_SETUP_LOG}"'' 0>&- &> ${PORT_SETUP_LOG} & -PS_SCRIPT_NAME=$(basename ${PORT_SETUP_SCRIPT}) - log_retry=0 while true ; do sync if [[ $log_retry -gt 10 ]]; then - echo "waited for log more than 10 secs, log not detected" - if pgrep -x "${PS_SCRIPT_NAME}" > /dev/null 2>&1; then - echo "Process '${PS_SCRIPT_NAME}' is running." - else - echo "Process '${PS_SCRIPT_NAME}' is not running." - fi echo "waited for log more than 10 secs, 2nd attempt for port_setup.sh below" /usr/bin/chmod a+x ${PORT_SETUP_SCRIPT} /usr/bin/nohup bash -c ''"${PORT_SETUP_SCRIPT}"' '"${PORT_SETUP_LOG2}"'' 0>&- &> ${PORT_SETUP_LOG2} & @@ -847,17 +859,18 @@ if [[ $log_retry -gt 10 ]]; then break fi if [[ -s ${PORT_SETUP_LOG} ]]; then - echo "non-empty log file exists" + log_retry=$((log_retry+1)) + echo "log file empty. sleep and check" sleep 1 - break -else +elif [ ! -f ${PORT_SETUP_LOG} ]; then log_retry=$((log_retry+1)) + echo "log file doesnt exist. sleep and check" + sleep 1 +else if [ -f ${PORT_SETUP_LOG} ]; then - echo "log file exists. but empty" - else - echo "log file doesnt exist" + echo "log file exists. break" + break fi - sleep 1 fi done` @@ -883,9 +896,9 @@ if [ -e %s ]; then sed -i 's/pf_mac_address = "00:00:00:00:03:14";/pf_mac_address = "%s";/g' $CP_INIT_CFG sed -i 's/acc_apf = 4;/acc_apf = %s;/g' $CP_INIT_CFG sed -i 's/comm_vports = .*/comm_vports = (([5,0],[4,0]),([0,3],[5,3]),([0,2],[4,3]));/g' $CP_INIT_CFG - sed -i 's/uplink_vports = .*/uplink_vports = ([4,1,0],[5,1,0],[5,2,1]);/g' $CP_INIT_CFG - sed -i 's/rep_vports = .*/rep_vports = ([0,0,0],[0,1,1]);/g' $CP_INIT_CFG - sed -i 's/exception_vports = .*/exception_vports = ([4,1,0]); /g' $CP_INIT_CFG + sed -i 's/uplink_vports = .*/uplink_vports = ([0,0,0],[0,1,1],[4,1,0],[4,5,1],[5,1,0],[5,2,1]);/g' $CP_INIT_CFG + sed -i 's/rep_vports = .*/rep_vports = ([0,0,0],[4,5,1]);/g' $CP_INIT_CFG + sed -i 's/exception_vports = .*/exception_vports = ([0,0,0],[4,5,1]); /g' $CP_INIT_CFG else echo "No custom package found. Continuing with default package" fi @@ -914,8 +927,6 @@ func skipIMCReboot() (bool, string) { }, HostKeyCallback: ssh.InsecureIgnoreHostKey(), } - skipReboot := true - errMsg := "" // Connect to the remote server. client, err := ssh.Dial("tcp", imcAddress, config) @@ -952,55 +963,131 @@ func skipIMCReboot() (bool, string) { uuidFileExists = true } if !uuidFileExists { - skipReboot = false - errMsg = "UUID File does not exist" - // continue checking all other files + return false, "UUID File does not exist" + } + + session, err = client.NewSession() + if err != nil { + log.Errorf("failed to create session: %v", err) + return false, fmt.Sprintf("failed to create session: %v", err) } + defer session.Close() + //compute md5sum of pkg file on IMC p4PkgName := os.Getenv("P4_NAME") + ".pkg" - imcPath := "/work/scripts/" + p4PkgName - vspPath := "/" + p4PkgName - p4pkgMatch, errStr := utils.CompareBinary(imcPath, vspPath, client) + commands = "cd /work/scripts; md5sum " + p4PkgName + " | awk '{print $1}'" + imcOutput, err := session.CombinedOutput(commands) + if err != nil { + log.Errorf("Error->%v, running command->%s:", err, commands) + return false, fmt.Sprintf("Error->%v, running command->%s:", err, commands) + } + + //compute md5sum of pkg file in ipu-plugin container + commands = "md5sum /" + p4PkgName + " | awk '{print $1}'" + pluginOutput, err := utils.ExecuteScript(commands) + if err != nil { + log.Errorf("Error->%v, for md5sum command->%v", err, commands) + return false, fmt.Sprintf("Error->%v, for md5sum command->%v", err, commands) + } + + if pluginOutput != string(imcOutput) { + log.Infof("md5sum mismatch, in ipu-plugin->%v, on IMC->%v", pluginOutput, string(imcOutput)) + } else { + log.Infof("md5sum match, in ipu-plugin->%v, on IMC->%v", pluginOutput, string(imcOutput)) + p4pkgMatch = true + } if !p4pkgMatch { - skipReboot = false - errMsg = errStr - // continue checking all other files + return false, "md5sum mismatch" } genLcpkgFileStr := genLoadCustomPkgFile(outputStr) log.Infof("loadCustomPkgFileStr->%v", genLcpkgFileStr) + genLcpkgFileHash := md5.Sum([]byte(genLcpkgFileStr)) + genLcpkgFileHashStr := hex.EncodeToString(genLcpkgFileHash[:]) + + // Create an SFTP client. + sftpClient, err := sftp.NewClient(client) + if err != nil { + log.Errorf("failed to create SFTP client: %s", err) + return false, fmt.Sprintf("failed to create SFTP client: %s", err) + } + defer sftpClient.Close() + // destination file on IMC. remoteFilePath := "/work/scripts/load_custom_pkg.sh" - lcpkgFileMatch, errStr = utils.CompareFile(genLcpkgFileStr, remoteFilePath, client) + dstFile, err := sftpClient.Open(remoteFilePath) + if err != nil { + log.Errorf("failed to create remote file: %s", err) + return false, fmt.Sprintf("failed to create remote file: %s", err) + } + defer dstFile.Close() + + imcLcpkgFileBytes, err := io.ReadAll(dstFile) + if err != nil { + log.Errorf("failed to read load_custom_pkg.sh: %s", err) + return false, fmt.Sprintf("failed to read load_custom_pkg.sh: %s", err) + } + + imcLcpkgFileHash := md5.Sum(imcLcpkgFileBytes) + imcLcpkgFileHashStr := hex.EncodeToString(imcLcpkgFileHash[:]) + + if genLcpkgFileHashStr != imcLcpkgFileHashStr { + log.Infof("load_custom md5 mismatch, generated->%v, on IMC->%v", genLcpkgFileHashStr, imcLcpkgFileHashStr) + } else { + log.Infof("load_custom md5 match, generated->%v, on IMC->%v", genLcpkgFileHashStr, imcLcpkgFileHashStr) + lcpkgFileMatch = true + } if !lcpkgFileMatch { - skipReboot = false - errMsg = errStr - // continue checking all other files + return false, "lcpkgFileMatch mismatch" } postInitAppFile := postInitAppScript() + postInitAppFileHash := md5.Sum([]byte(postInitAppFile)) + postInitAppFileHashStr := hex.EncodeToString(postInitAppFileHash[:]) + postInitRemoteFilePath := "/work/scripts/post_init_app.sh" - piaFileMatch, errStr = utils.CompareFile(postInitAppFile, postInitRemoteFilePath, client) + imcPostInitFile, err := sftpClient.Open(postInitRemoteFilePath) + if err != nil { + log.Errorf("failed to open post_init_app.sh file: %s", err) + return false, fmt.Sprintf("failed to open post_init_app.sh file: %s", err) + } + log.Infof("post_init_app.sh file exists") + defer imcPostInitFile.Close() - if !piaFileMatch { - skipReboot = false - errMsg = errStr + imcPostInitFileBytes, err := io.ReadAll(imcPostInitFile) + if err != nil { + log.Errorf("failed to read post_init_app.sh: %s", err) + return false, fmt.Sprintf("failed to read post_init_app.sh: %s", err) } - if skipReboot == true { - errMsg = "checks pass, imc reboot not required" + imcPostInitFileHash := md5.Sum(imcPostInitFileBytes) + imcPostInitFileHashStr := hex.EncodeToString(imcPostInitFileHash[:]) + + if postInitAppFileHashStr != imcPostInitFileHashStr { + log.Infof("post_init_app.sh md5 mismatch, generated->%v, on IMC->%v", postInitAppFileHashStr, imcPostInitFileHashStr) + } else { + log.Infof("post_init_app.sh md5 match, generated->%v, on IMC->%v", postInitAppFileHashStr, imcPostInitFileHashStr) + piaFileMatch = true + } + + if !piaFileMatch { + return false, "piaFileMatch mismatch" } log.Infof("uuidFileExists->%v, p4pkgMatch->%v, lcpkgFileMatch->%v, piaFileMatch->%v", uuidFileExists, p4pkgMatch, lcpkgFileMatch, piaFileMatch) - return skipReboot, errMsg + return true, fmt.Sprintf("checks pass, imc reboot not required") } func (e *ExecutableHandlerImpl) validate() bool { + if numAPFs := countAPFDevices(); numAPFs < ApfNumber { + log.Errorf("Not enough APFs %v, expected->%v", numAPFs, ApfNumber) + return false + } if noReboot, infoStr := skipIMCReboot(); !noReboot { fmt.Printf("IMC reboot required : %v\n", infoStr) return false @@ -1009,95 +1096,27 @@ func (e *ExecutableHandlerImpl) validate() bool { return true } -func (e *ExecutableHandlerImpl) AddAccApfsToGroupOne() error { - vsiList, err := utils.GetAvailableAccVsiList() - if err != nil { - log.Errorf("AddAccApfsToGroupOne: unable to reach the IMC %v", err) - return fmt.Errorf("AddAccApfsToGroupOne: unable to reach the IMC %v", err) - } - if len(vsiList) == 0 { - log.Errorf("no APFs initialized on ACC") - return fmt.Errorf("no APFs initialized on ACC") - } - log.Infof("AddAccApfsToGroupOne, vsiList->%v", vsiList) - /* Steps from script(for reference) - VSI_GROUP_INIT=$(printf "0x%x" $((0x8000050000000000 + IDPF_VPORT_VSI_HEX))) - VSI_GROUP_WRITE=$(printf "0x%x" $((0xA000050000000000 + IDPF_VPORT_VSI_HEX))) - devmem 0x20292002a0 64 ${VSI_GROUP_INIT} - devmem 0x2029200388 64 0x1 - devmem 0x20292002a0 64 ${VSI_GROUP_WRITE} - */ - for i := 0; i < len(vsiList); i++ { - log.Infof("Add to VSI Group 1, vsi->%v", vsiList[i]) - hexStr := vsiList[i] - // skip "0x" prefix - hexStr = hexStr[2:] - - // Convert to hex value - hexVal, err := strconv.ParseInt(hexStr, 16, 64) - if err != nil { - log.Errorf("error decoding hex: %v", err) - return fmt.Errorf("error decoding hex: %v", err) - } - - // Check bounds before converting to uint64 - if hexVal < 0 { - log.Errorf("hex value out of range: %v", hexVal) - return fmt.Errorf("hex value out of range: %v", hexVal) - } - - var vsiGroupInit, vsiGroupWrite uint64 - - vsiGroupInit = 0x8000050000000000 + uint64(hexVal) - vsiGroupWrite = 0xA000050000000000 + uint64(hexVal) - - vsiGroupInitString := fmt.Sprintf("0x%X", vsiGroupInit) - vsiGroupWriteString := fmt.Sprintf("0x%X", vsiGroupWrite) - - devMemCmd1 := "devmem 0x20292002a0 64 " + vsiGroupInitString - devMemCmd2 := "devmem 0x2029200388 64 0x1" - devMemCmd3 := "devmem 0x20292002a0 64 " + vsiGroupWriteString +func (e *ExecutableHandlerImpl) SetupAccApfs() error { + var err error - devMemCmd := devMemCmd1 + "; " + devMemCmd2 + "; " + devMemCmd3 + "; " - log.Infof("devMemCmd->%v", devMemCmd) + if !InitAccApfMacs { + AccApfMacList, err = utils.GetAccApfMacList() - _, err = utils.ExecuteScript(fmt.Sprintf(`ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.0.1 "%s"`, devMemCmd)) if err != nil { - log.Errorf("err exec devMemCmd->%v", err) - return fmt.Errorf("err exec devMemCmd->%v", err) + log.Errorf("SetupAccApfs: Error-> %v", err) + return fmt.Errorf("SetupAccApfs: Error-> %v", err) } - } - return nil -} -func (e *ExecutableHandlerImpl) SetupAccApfs() error { - if !InitAccApfMacs { - var pfList []netlink.Link - InitHandlers() - if err := GetFilteredPFs(&pfList); err != nil { - log.Errorf("SetupAccApfs: err->%v from GetFilteredPFs", err) - return fmt.Errorf("SetupAccApfs: err->%v from GetFilteredPFs", err) + if len(AccApfMacList) != ApfNumber { + log.Errorf("not enough APFs initialized on ACC, total APFs->%d, APFs->%v", len(AccApfMacList), AccApfMacList) + return fmt.Errorf("not enough APFs initialized on ACC, total APFs->%d", len(AccApfMacList)) } - if len(pfList) != ApfNumber { - log.Errorf("not enough APFs initialized on ACC, total APFs->%d, APFs->%v", len(pfList), pfList) - return fmt.Errorf("not enough APFs initialized on ACC, total APFs->%d, APFs->%v", len(pfList), pfList) - } - - for i := 0; i < len(pfList); i++ { - accApf := AccApfInfoType{ - Mac: pfList[i].Attrs().HardwareAddr.String(), - Name: pfList[i].Attrs().Name, - } - AccApfInfo = append(AccApfInfo, accApf) + log.Infof("On ACC, total APFs->%d", len(AccApfMacList)) + for i := 0; i < len(AccApfMacList); i++ { + log.Infof("index->%d, mac->%s", i, AccApfMacList[i]) } + InitAccApfMacs = true } - log.Infof("AccApfInfo->%v", AccApfInfo) - for i := NF_AVAIL_START_ID; i <= NF_AVAIL_END_ID; i = i + 1 { - AccApfsAvailForCNI = append(AccApfsAvailForCNI, AccApfInfo[i].Name) - } - log.Infof("AccApfsAvailForCNI->%v", AccApfsAvailForCNI) - - InitAccApfMacs = true return nil } @@ -1128,31 +1147,19 @@ func (s *FXPHandlerImpl) configureFXP(p types.P4RTClient, brCtlr types.BridgeCon } //Add Phy Port0 to ovs bridge //Note: Per current design, Phy Port1 is added to a different bridge(through P4 rules). - if err := brCtlr.AddPort(AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Name); err != nil { - log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Name) - return fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Name) + if err := brCtlr.AddPort(AccIntfNames[PHY_PORT0_INTF_INDEX]); err != nil { + log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[PHY_PORT0_INTF_INDEX]) + return fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[PHY_PORT0_INTF_INDEX]) } //Add P4 rules for phy ports - log.Infof("AddPhyPortRules, path->%s, 1->%v, 2->%v", p.GetBin(), AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Mac, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) - p4rtclient.AddPhyPortRules(p, AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Mac, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) + log.Infof("AddPhyPortRules, path->%s, 1->%v, 2->%v", p.GetBin(), AccApfMacList[PHY_PORT0_INTF_INDEX], AccApfMacList[PHY_PORT1_INTF_INDEX]) + p4rtclient.AddPhyPortRules(p, AccApfMacList[PHY_PORT0_INTF_INDEX], AccApfMacList[PHY_PORT1_INTF_INDEX]) CheckAndAddPeerToPeerP4Rules(p) log.Infof("AddLAGP4Rules, path->%v", p.GetBin()) p4rtclient.AddLAGP4Rules(p) - //Before adding primiary network P4 rules, remove opcode programmed to handle default network reach for primiary network (as part of IMC's post_init_app.sh script) - err := removeFXPDefaultOpcode() - if err != nil { - log.Infof("WARNING: FXP's default opcode entry cleanup failed. This could potentially impact secondary network reach from external world") - } - //Wait for 2 seconds to ensure cli_client command execution to delete the default opcode is successful. - time.Sleep(2 * time.Second) - - //Add P4 rules to handle Primary network traffic via phy port0 - log.Infof("AddRHPrimaryNetworkVportP4Rules, path->%s, 1->%v, 2->%v", p.GetBin(), AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Mac, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) - p4rtclient.AddRHPrimaryNetworkVportP4Rules(p, AccApfInfo[PHY_PORT0_SECONDARY_INTF_INDEX].Mac, AccApfInfo[PHY_PORT0_PRIMARY_INTF_INDEX].Mac) - return nil } @@ -1177,10 +1184,6 @@ func (s *LifeCycleServiceServer) Init(ctx context.Context, in *pb.InitRequest) ( } else { log.Info("not forcing state") } - if err := ExecutableHandlerGlobal.AddAccApfsToGroupOne(); err != nil { - log.Fatalf("error from->AddAccApfsToGroupOne: %v", err) - return nil, fmt.Errorf("error from->AddAccApfsToGroupOne: %v", err) - } if err := ExecutableHandlerGlobal.SetupAccApfs(); err != nil { log.Errorf("error from SetupAccApfs %v", err) return nil, fmt.Errorf("error from SetupAccApfs %v", err) diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/lifecycleservice_test.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/lifecycleservice_test.go new file mode 100644 index 000000000..a469b3dad --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/lifecycleservice_test.go @@ -0,0 +1,275 @@ +// Copyright (c) 2024 Intel Corporation. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package ipuplugin + +import ( + "context" + "fmt" + "net" + "strings" + + "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + pb "github.com/openshift/dpu-operator/dpu-api/gen" + "github.com/vishvananda/netlink" +) + +var _ = Describe("basic functionality", Serial, func() { + + // Initialise the handlers + fileSystemHandler = &MockFileSystemHandlerImpl{} + networkHandler = &MockNetworkHandlerImpl{} + ExecutableHandlerGlobal = &MockExecutableHandlerImpl{} + fxpHandler = &MockFXPHandlerImpl{} + fakeP4rtClient := &mockP4rtClient{} + + Describe("pf communication channel setup", Serial, func() { + + Context("when pfs are available", func() { + It("it should return true when checking valid PF", func() { + Expect(isPF("enp0s1f0d1")).To(Equal(true)) + }) + It("it should return false when checking an invalid PF", func() { + Expect(isPF("ens11f1")).To(Equal(false)) + }) + It("it should filter and return the correct number of PFs", func() { + var list []netlink.Link + GetFilteredPFs(&list) //nolint:errcheck + Expect(len(list)).To(Equal(4)) + }) + It("it should identify the correct PF in ipu mode", func() { + var list []netlink.Link + GetFilteredPFs(&list) //nolint:errcheck + link, _ := getCommPf("ipu", list) + octets := strings.Split(link.Attrs().HardwareAddr.String(), ":") + Expect(octets[3]).To(Equal(accVportId)) + }) + It("it should identify the correct PF in host mode", func() { + var list []netlink.Link + GetFilteredPFs(&list) //nolint:errcheck + link, _ := getCommPf("host", list) + octets := strings.Split(link.Attrs().HardwareAddr.String(), ":") + Expect(octets[3]).To(Equal(hostVportId)) + }) + It("it should set correctly the IP on a PF", func() { + var list []netlink.Link + GetFilteredPFs(&list) //nolint:errcheck + link, _ := getCommPf("host", list) + err := setIP(link, "192.168.1.1") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("Method added for test purposes")) + }) + It("it should configure the communication channel without any errors", func() { + err := configureChannel("ipu", "192.168.1.1", "192.168.1.2") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("Method added for test purposes")) + }) + It("it should return nil if the PF address is already set", func() { + + networkHandler = &MockNetworkHandler2Impl{} + + err := configureChannel("host", "192.168.1.1", "192.168.1.2") + Expect(err).ToNot(HaveOccurred()) + + // reset the network handler + networkHandler = &MockNetworkHandlerImpl{} + }) + }) + }) + + Describe("when running in ipu mode", Serial, func() { + + // Create a valid request + request := &pb.InitRequest{DpuMode: true} + + Context("and a request is made to a correctly configured LifeCycleService", func() { + + It("the server should return a valid response", func() { + + // create valid licycle service + service := NewLifeCycleService("192.168.1.1", "192.168.1.2", 50151, "ipu", fakeP4rtClient, nil) + + _, err := service.Init(context.Background(), request) + + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("Method added for test purposes")) + }) + + It("the server should return an error if the plugin runs in a different mode", func() { + + // create valid licycle service + service := NewLifeCycleService("192.168.1.1", "192.168.1.2", 50151, "host", fakeP4rtClient, nil) + + _, err := service.Init(context.Background(), request) + + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("Ipu plugin running in host mode")) + }) + }) + Context("and a request is made to a misconfigured LifeCycleService", func() { + It("the server should return a not a valid IPv4 address when daemonIpuIp is invalid", func() { + + // create invalid licycle service + service := NewLifeCycleService("", "192.168.1", 50151, "ipu", fakeP4rtClient, nil) + + _, err := service.Init(context.Background(), request) + + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("not a valid IPv4 address")) + }) + }) + }) + + Describe("when running in host mode", Serial, func() { + + // Create a valid request + request := &pb.InitRequest{DpuMode: false} + + Context("and a request is made to a correctly configured LifeCycleService", func() { + + It("the server should return a valid response", func() { + + // create valid licycle service + service := NewLifeCycleService("192.168.1.1", "192.168.1.2", 50151, "host", fakeP4rtClient, nil) + + _, err := service.Init(context.Background(), request) + + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("Method added for test purposes")) + }) + + It("the server should return an error if the plugin runs in a different mode", func() { + + // create valid licycle service + service := NewLifeCycleService("192.168.1.1", "192.168.1.2", 50151, "ipu", fakeP4rtClient, nil) + + _, err := service.Init(context.Background(), request) + + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("Ipu plugin running in ipu mode")) + }) + }) + Context("and a request is made to a misconfigured LifeCycleService", func() { + It("the server should return a not a valid IPv4 address as daemonHostIp is invalid", func() { + + // create invalid licycle service + service := NewLifeCycleService("192.168.1", "", 50151, "host", fakeP4rtClient, nil) + + _, err := service.Init(context.Background(), request) + + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("not a valid IPv4 address")) + }) + }) + }) +}) + +func createNetlinkList() []netlink.Link { + attr1 := netlink.NewLinkAttrs() + attr1.Name = "enp0s1f0d1" + attr1.HardwareAddr, _ = net.ParseMAC("00:0b:00:01:04:19") + pf1 := &netlink.Dummy{LinkAttrs: attr1} + + attr2 := netlink.NewLinkAttrs() + attr2.Name = "enp0s1f0d2" + attr2.HardwareAddr, _ = net.ParseMAC("00:0c:00:02:04:19") + pf2 := &netlink.Dummy{LinkAttrs: attr2} + + attr3 := netlink.NewLinkAttrs() + attr3.Name = "enp0s1f0d3" + attr3.HardwareAddr, _ = net.ParseMAC("00:0d:00:03:04:19") + pf3 := &netlink.Dummy{LinkAttrs: attr3} + + attr4 := netlink.NewLinkAttrs() + attr4.Name = "enp0s1f0d4" + attr4.HardwareAddr, _ = net.ParseMAC("00:0e:00:04:04:19") + pf4 := &netlink.Dummy{LinkAttrs: attr4} + + attr5 := netlink.NewLinkAttrs() + attr5.Name = "ens11f1" + attr5.HardwareAddr, _ = net.ParseMAC("00:00:00:00:00:19") + pf5 := &netlink.Dummy{LinkAttrs: attr5} + + return []netlink.Link{pf1, pf2, pf3, pf4, pf5} +} + +type MockNetworkHandlerImpl struct { +} + +func (h *MockNetworkHandlerImpl) AddrAdd(link netlink.Link, addr *netlink.Addr) error { + return fmt.Errorf("Method added for test purposes") +} +func (h *MockNetworkHandlerImpl) AddrList(link netlink.Link, family int) ([]netlink.Addr, error) { + return []netlink.Addr{}, nil +} +func (h *MockNetworkHandlerImpl) LinkList() ([]netlink.Link, error) { + return createNetlinkList(), nil +} + +type MockNetworkHandler2Impl struct { +} + +func (h *MockNetworkHandler2Impl) AddrAdd(link netlink.Link, addr *netlink.Addr) error { + return fmt.Errorf("Method added for test purposes") +} +func (h *MockNetworkHandler2Impl) AddrList(link netlink.Link, family int) ([]netlink.Addr, error) { + ipAddr := net.ParseIP("192.168.1.1") + // Set the IP address on PF + addr := &netlink.Addr{IPNet: &net.IPNet{IP: ipAddr, Mask: net.CIDRMask(24, 32)}} + return []netlink.Addr{*addr}, nil +} +func (h *MockNetworkHandler2Impl) LinkList() ([]netlink.Link, error) { + return createNetlinkList(), nil +} + +type MockFileSystemHandlerImpl struct { +} + +func (fs *MockFileSystemHandlerImpl) GetDevice(name string) ([]byte, error) { + if name == "enp0s1f0d1" || name == "enp0s1f0d2" || name == "enp0s1f0d3" || name == "enp0s1f0d4" { + return []byte("0x1452\n"), nil + } + if name == "ens11f1" { + return []byte("0x1592\n"), nil + } + return nil, fmt.Errorf("mock GetDevice error") +} + +func (fs *MockFileSystemHandlerImpl) GetVendor(name string) ([]byte, error) { + if name == "enp0s1f0d1" || name == "enp0s1f0d2" || name == "enp0s1f0d3" || name == "enp0s1f0d4" || name == "ens11f1" { + return []byte("0x8086\n"), nil + } + return nil, fmt.Errorf("mock GetVendor error") +} + +type MockExecutableHandlerImpl struct{} + +func (m *MockExecutableHandlerImpl) validate() bool { + return true +} +func (m *MockExecutableHandlerImpl) SetupAccApfs() error { + InitAccApfMacs = true + return nil +} + +func (e *MockExecutableHandlerImpl) nmcliSetupIpAddress(link netlink.Link, ipStr string, ipAddr *netlink.Addr) error { + return fmt.Errorf("Method added for test purposes") +} + +type MockFXPHandlerImpl struct{} + +func (m *MockFXPHandlerImpl) configureFXP(p4rtClient types.P4RTClient, brCtlr types.BridgeController) error { + return nil +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/linuxbridge_test.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/linuxbridge_test.go new file mode 100644 index 000000000..5ab69dafb --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/linuxbridge_test.go @@ -0,0 +1,306 @@ +// Copyright (c) 2023 Intel Corporation. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ipuplugin + +import ( + "fmt" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + "github.com/vishvananda/netlink" +) + +// Run tests specs in serial as we cannot share netlink function pointers across different specs +var _ = Describe("linuxBridge", Serial, func() { + Describe("createBridge", func() { + + brCtlr := &linuxBridge{ + brName: "fakeBr", + } + + Context("when netlink.LinkAdd resulted in error", func() { + It("should return error", func() { + linkAddFn = fakeLinkAddWithErr + linkSetUpFn = fakeLinkSetUpWithErr + err := brCtlr.createBridge() + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("fake LinkByName error")) + Expect(err.Error()).NotTo(ContainSubstring("fake LinkSetUp error")) + }) + }) + + Context("when netlink.LinkAdd is ok but netlink.LinkSetUp resulted in error", func() { + It("should return error", func() { + linkAddFn = fakeLinkAdd + linkSetUpFn = fakeLinkSetUpWithErr + err := brCtlr.createBridge() + Expect(err).To(HaveOccurred()) + Expect(err.Error()).NotTo(ContainSubstring("fake LinkByName error")) + Expect(err.Error()).To(ContainSubstring("fake LinkSetUp error")) + }) + }) + Context("when LinkAdd and LinkSetUp returned no error", func() { + It("should return no error", func() { + linkAddFn = fakeLinkAdd + linkSetUpFn = fakeLinkSetUp + err := brCtlr.createBridge() + Expect(err).NotTo(HaveOccurred()) + }) + }) + }) + Describe("AddPort", Serial, func() { + brCtlr := &linuxBridge{ + brName: "fakeBr", + } + + Context("when vport interface look up returns error", func() { + It("should return error", func() { + linkByNameFn = fakeLinkByNameWithErr + Expect(brCtlr.AddPort("fakeVlan")).To(HaveOccurred()) + }) + }) + + Context("when the vport interface is not vlan type", func() { + It("should return error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Dummy{} // just a generic link type - not vlan type. + link.Name = name + return link, nil + } + err := brCtlr.AddPort("fakeVlan") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("type is not vlan type")) + }) + }) + + Context("when unable to add vport to the bridge", func() { + It("should return error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Vlan{} + link.Name = name + return link, nil + } + linkSetMasterFn = fakeLinkSetMasterWithErr + err := brCtlr.AddPort("fakeVlan") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("error adding vlan interface fakeVlan to bridge fakeBr")) + }) + }) + + Context("when unable to bring the vport in up state", func() { + It("should return error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Vlan{} + link.Name = name + return link, nil + } + linkSetMasterFn = fakeLinkSetMaster + linkSetUpFn = fakeLinkSetUpWithErr + err := brCtlr.AddPort("fakeVlan") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("error bringing interface fakeVlan up")) + }) + }) + + Context("when all netlink calls succeed", func() { + It("should return no error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Vlan{} + link.Name = name + return link, nil + } + linkSetMasterFn = fakeLinkSetMaster + linkSetUpFn = fakeLinkSetUp + err := brCtlr.AddPort("fakeVlan") + Expect(err).NotTo(HaveOccurred()) + }) + }) + }) + + Describe("DeletePort", Serial, func() { + brCtlr := &linuxBridge{ + brName: "fakeBr", + } + + Context("when vport interface look up returns error", func() { + It("should return error", func() { + linkByNameFn = fakeLinkByNameWithErr + Expect(brCtlr.DeletePort("fakeVlan")).To(HaveOccurred()) + }) + }) + + Context("when the vport interface is not vlan type", func() { + It("should return error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Dummy{} // just a generic link type - not vlan type. + link.Name = name + return link, nil + } + err := brCtlr.DeletePort("fakeVlan") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("type is not vlan type")) + }) + }) + + Context("when unable to remove vport from the bridge", func() { + It("should return error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Vlan{} + link.Name = name + return link, nil + } + linkSetNoMasterFn = fakeLinkSetNoMasterWithErr + err := brCtlr.DeletePort("fakeVlan") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("error removing vlan interface fakeVlan from bridge fakeBr")) + }) + }) + + Context("when unable to bring the vport in down state", func() { + It("should return error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Vlan{} + link.Name = name + return link, nil + } + linkSetNoMasterFn = fakeLinkSetNoMaster + linkSetDownFn = fakeLinkSetDownWithErr + err := brCtlr.DeletePort("fakeVlan") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("error bringing interface fakeVlan down")) + }) + }) + + Context("when all netlink calls succeed", func() { + It("should return no error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Vlan{} + link.Name = name + return link, nil + } + linkSetNoMasterFn = fakeLinkSetNoMaster + linkSetDownFn = fakeLinkSetDown + err := brCtlr.DeletePort("fakeVlan") + Expect(err).NotTo(HaveOccurred()) + }) + }) + }) + + Describe("EnsureBridgeExists", Serial, func() { + Context("when bridge name is empty", func() { + brCtlr := &linuxBridge{} + It("should return error", func() { + err := brCtlr.EnsureBridgeExists() + Expect(err).To(HaveOccurred()) + }) + }) + Context("when a link is found with bridge name but not bridge type", func() { + brCtlr := &linuxBridge{ + brName: "fakeBr", + } + It("should return error", func() { + linkByNameFn = fakeLinkByName + err := brCtlr.EnsureBridgeExists() + Expect(err).To(HaveOccurred()) + }) + }) + Context("when a link is found with bridge and of a bridge type", func() { + brCtlr := &linuxBridge{ + brName: "fakeBr", + } + It("should not return error", func() { + linkByNameFn = func(name string) (netlink.Link, error) { + link := &netlink.Bridge{} + link.Name = name + return link, nil + } + err := brCtlr.EnsureBridgeExists() + Expect(err).NotTo(HaveOccurred()) + }) + }) + + Context("when a link is found", func() { + brCtlr := &linuxBridge{ + brName: "fakeBr", + } + It("should create a new bridge and not return any error", func() { + linkByNameFn = fakeLinkByNameWithErr + linkAddFn = fakeLinkAdd + linkSetUpFn = fakeLinkSetUp + err := brCtlr.EnsureBridgeExists() + Expect(err).NotTo(HaveOccurred()) + }) + }) + }) +}) + +// Mock netlink functions for testing +func fakeLinkByName(name string) (netlink.Link, error) { + return &netlink.Dummy{}, nil +} + +func fakeLinkByNameWithErr(name string) (netlink.Link, error) { + return nil, fmt.Errorf("fake LinkByName error") +} + +func fakeLinkAdd(link netlink.Link) error { + return nil +} + +func fakeLinkAddWithErr(link netlink.Link) error { + return fmt.Errorf("fake LinkByName error") +} + +// nolint +func fakeLinkDel(link netlink.Link) error { + return nil +} + +// nolint +func fakeLinkDelWithErr(link netlink.Link) error { + return fmt.Errorf("fake LinkDel error") +} + +func fakeLinkSetUp(link netlink.Link) error { + return nil +} + +func fakeLinkSetUpWithErr(link netlink.Link) error { + return fmt.Errorf("fake LinkSetUp error") +} + +func fakeLinkSetDown(link netlink.Link) error { + return nil +} + +func fakeLinkSetDownWithErr(link netlink.Link) error { + return fmt.Errorf("fake error") +} + +func fakeLinkSetMaster(link netlink.Link, master netlink.Link) error { + return nil +} + +func fakeLinkSetMasterWithErr(link netlink.Link, master netlink.Link) error { + return fmt.Errorf("fake error") +} + +func fakeLinkSetNoMaster(link netlink.Link) error { + return nil +} + +func fakeLinkSetNoMasterWithErr(link netlink.Link) error { + return fmt.Errorf("fake error") +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/mocks_test.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/mocks_test.go new file mode 100644 index 000000000..a985fbf39 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/mocks_test.go @@ -0,0 +1,96 @@ +// Copyright (c) 2023 Intel Corporation. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ipuplugin + +import ( + "fmt" + + "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" +) + +// nolint +type mockP4rtClient struct { +} + +// nolint +func (p *mockP4rtClient) AddRules(macAddr []byte, vlan int) { +} + +// nolint +func (p *mockP4rtClient) DeleteRules(macAddr []byte, vlan int) { +} + +// nolint +func (p *mockP4rtClient) ProgramFXPP4Rules(ruleSets []types.FxpRuleBuilder) error { + return nil +} + +// nolint +func (p *mockP4rtClient) GetBin() string { + return "p4rt-ctl" +} + +// nolint +func (p *mockP4rtClient) GetIpPort() string { + return "0.0.0.0:9559" +} + +type mockBrCtlr struct { + fnCalled string + args []interface{} + retValues []interface{} +} + +func (brCtlr *mockBrCtlr) On(fnName string, params ...interface{}) *mockBrCtlr { + brCtlr.fnCalled = fnName + brCtlr.args = make([]interface{}, len(params)) + brCtlr.args = append(brCtlr.args, params...) + return brCtlr +} + +func (brCtlr *mockBrCtlr) Return(retVals ...interface{}) *mockBrCtlr { + brCtlr.args = make([]interface{}, len(retVals)) + brCtlr.args = append(brCtlr.args, retVals...) + return brCtlr +} + +func (brCtlr *mockBrCtlr) EnsureBridgeExists() error { + if brCtlr.fnCalled == "EnsureBridgeExists" { + return brCtlr.retValues[0].(error) + } + // return no error by default + return nil +} + +func (brCtlr *mockBrCtlr) AddPort(portName string) error { + if brCtlr.fnCalled == "AddPort" { + return brCtlr.retValues[0].(error) + } + // return no error by default + return nil +} + +func (brCtlr *mockBrCtlr) DeletePort(portName string) error { + if brCtlr.fnCalled == "DeletePort" { + return brCtlr.retValues[0].(error) + } + return fmt.Errorf("invalid mock function called") +} +func (brCtlr *mockBrCtlr) DeleteBridges() error { + if brCtlr.fnCalled == "DeleteBridges" { + return brCtlr.retValues[0].(error) + } + return fmt.Errorf("invalid mock function called") +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/networkfunctionservice.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/networkfunctionservice.go index d62155123..66548a3b5 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/networkfunctionservice.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/networkfunctionservice.go @@ -16,8 +16,6 @@ package ipuplugin import ( "context" - "crypto/md5" - "encoding/hex" "fmt" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient" @@ -29,16 +27,11 @@ import ( "google.golang.org/grpc/status" ) -const ( - PRS_LEN = 2 -) - type NetworkFunctionServiceServer struct { pb.UnimplementedNetworkFunctionServiceServer Ports map[string]*types.BridgePortInfo bridgeCtlr types.BridgeController p4rtClient types.P4RTClient - nfReqMap map[string][PRS_LEN]uint } func NewNetworkFunctionService(ports map[string]*types.BridgePortInfo, brCtlr types.BridgeController, p4Client types.P4RTClient) *NetworkFunctionServiceServer { @@ -46,53 +39,10 @@ func NewNetworkFunctionService(ports map[string]*types.BridgePortInfo, brCtlr ty Ports: ports, bridgeCtlr: brCtlr, p4rtClient: p4Client, - nfReqMap: make(map[string][PRS_LEN]uint), } } -func AllocateAccInterfaceForNF() ([PRS_LEN]uint, error) { - var intfIds [PRS_LEN]uint - - log.Debugf("AllocateAccInterfaceForNF\n") - for i := 0; i < PRS_LEN; i++ { - intfId, err := AllocateAccInterface(types.NfPr) - if err != nil { - return intfIds, fmt.Errorf("error from AllocateAccInterface->%v", err) - } - intfIds[i] = intfId - } - log.Infof("AllocateAccInterfaceForNF: Interfaces allocated->%v\n", intfIds) - return intfIds, nil -} - -func FreeAccInterfaceForNF(intfIds [PRS_LEN]uint) error { - - log.Debugf("FreeAccInterfaceForNF, intfIds->%v\n", intfIds) - for i := 0; i < PRS_LEN; i++ { - err := FreeAccInterface(intfIds[i]) - if err != nil { - log.Errorf("error from AllocateAccInterface->%v", err) - } - } - return nil -} - -func deriveKey(in *pb.NFRequest) string { - nfReqHash := md5.Sum([]byte(in.Input + in.Output)) - nfReqHashStr := hex.EncodeToString(nfReqHash[:]) - log.Infof("deriveKey->%s", nfReqHashStr) - return nfReqHashStr -} - func (s *NetworkFunctionServiceServer) CreateNetworkFunction(ctx context.Context, in *pb.NFRequest) (*pb.Empty, error) { - - mapKey := deriveKey(in) - _, ok := s.nfReqMap[mapKey] - if ok { - log.Errorf("CNF:in->%s, out->%s, key->%v, exists in map", in.Input, in.Output, mapKey) - return nil, fmt.Errorf("CNF:in->%s, out->%s, key->%v, exists in map", in.Input, in.Output, mapKey) - } - vfMacList, err := utils.GetVfMacList() if err != nil { log.Errorf("CreateNetworkFunction: Error-> %v", err) @@ -101,55 +51,27 @@ func (s *NetworkFunctionServiceServer) CreateNetworkFunction(ctx context.Context CheckAndAddPeerToPeerP4Rules(s.p4rtClient) - intfIds, err := AllocateAccInterfaceForNF() - if err != nil { - log.Errorf("error from AllocateAccInterfaceForNF: %v, intfIds->%v", err, intfIds) - return nil, fmt.Errorf("error from AllocateAccInterfaceForNF: %v, intfIds->%v", err, intfIds) - } - NF_IN_PR := intfIds[0] - NF_OUT_PR := intfIds[1] - log.Infof("CNF: allocated NF PRs index (IN)->%v, OUT->%v", NF_IN_PR, NF_OUT_PR) - - if err := s.bridgeCtlr.AddPort(AccApfInfo[NF_IN_PR].Name); err != nil { - log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[NF_IN_PR].Name) - FreeAccInterfaceForNF(intfIds) - return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[NF_IN_PR].Name) + if err := s.bridgeCtlr.AddPort(AccIntfNames[NF_IN_PR_INTF_INDEX]); err != nil { + log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[NF_IN_PR_INTF_INDEX]) + return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[NF_IN_PR_INTF_INDEX]) } - if err := s.bridgeCtlr.AddPort(AccApfInfo[NF_OUT_PR].Name); err != nil { - log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[NF_OUT_PR].Name) - DeletePortWrapper(s.bridgeCtlr, NF_IN_PR) - FreeAccInterfaceForNF(intfIds) - return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[NF_OUT_PR].Name) + if err := s.bridgeCtlr.AddPort(AccIntfNames[NF_OUT_PR_INTF_INDEX]); err != nil { + log.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[NF_OUT_PR_INTF_INDEX]) + return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[NF_OUT_PR_INTF_INDEX]) } - log.Infof("added interfaces:inPR->%s, outPR->%s", AccApfInfo[NF_IN_PR].Name, AccApfInfo[NF_OUT_PR].Name) + log.Infof("added interfaces:inPR->%s, outPR->%s", AccIntfNames[NF_IN_PR_INTF_INDEX], AccIntfNames[NF_OUT_PR_INTF_INDEX]) /*Note: Currently this API does not have host-VF info, since there is no reference to what was passed by DPU in CreateBridgePort. As a work-around, we take full vfMacList, and write P4 rules, to connect all host VFs to NF. */ // Generate the P4 rules and program the FXP with NF comms log.Infof("AddNFP4Rules, path->%s, 1-%v, 2-%v, 3-%v, 4-%v, 5-%v", - s.p4rtClient.GetBin(), vfMacList, in.Input, in.Output, AccApfInfo[NF_IN_PR].Mac, AccApfInfo[NF_OUT_PR].Mac) - err = p4rtclient.AddNFP4Rules(s.p4rtClient, vfMacList, in.Input, in.Output, AccApfInfo[NF_IN_PR].Mac, AccApfInfo[NF_OUT_PR].Mac) - if err != nil { - log.Errorf("err-> %v, from AddNFP4Rules", err) - DeletePortWrapper(s.bridgeCtlr, NF_IN_PR) - DeletePortWrapper(s.bridgeCtlr, NF_OUT_PR) - FreeAccInterfaceForNF(intfIds) - return nil, fmt.Errorf("err-> %v, from AddNFP4Rules", err) - } - - s.nfReqMap[deriveKey(in)] = intfIds + s.p4rtClient.GetBin(), vfMacList, in.Input, in.Output, AccApfMacList[NF_IN_PR_INTF_INDEX], AccApfMacList[NF_OUT_PR_INTF_INDEX]) + p4rtclient.AddNFP4Rules(s.p4rtClient, vfMacList, in.Input, in.Output, AccApfMacList[NF_IN_PR_INTF_INDEX], AccApfMacList[NF_OUT_PR_INTF_INDEX]) return &pb.Empty{}, nil } func (s *NetworkFunctionServiceServer) DeleteNetworkFunction(ctx context.Context, in *pb.NFRequest) (*pb.Empty, error) { - mapKey := deriveKey(in) - intfIds, ok := s.nfReqMap[mapKey] - if !ok { - log.Errorf("DNF:in->%s, out->%s, key->%v, not found in map", in.Input, in.Output, mapKey) - return nil, fmt.Errorf("DNF:in->%s, out->%s, key->%v, not found in map", in.Input, in.Output, mapKey) - } - vfMacList, err := utils.GetVfMacList() if err != nil { @@ -157,26 +79,19 @@ func (s *NetworkFunctionServiceServer) DeleteNetworkFunction(ctx context.Context return nil, status.Errorf(codes.Internal, "Error-> %v", err) } - NF_IN_PR := intfIds[0] - NF_OUT_PR := intfIds[1] - log.Infof("DNF: NF PRs index (IN)->%v, OUT->%v", NF_IN_PR, NF_OUT_PR) - - FreeAccInterfaceForNF(intfIds) - delete(s.nfReqMap, mapKey) - - if err := s.bridgeCtlr.DeletePort(AccApfInfo[NF_IN_PR].Name); err != nil { - log.Errorf("failed to delete port to bridge: %v, for interface->%v", err, AccApfInfo[NF_IN_PR].Name) - return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[NF_IN_PR].Name) + if err := s.bridgeCtlr.DeletePort(AccIntfNames[NF_IN_PR_INTF_INDEX]); err != nil { + log.Errorf("failed to delete port to bridge: %v, for interface->%v", err, AccIntfNames[NF_IN_PR_INTF_INDEX]) + return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[NF_IN_PR_INTF_INDEX]) } - if err := s.bridgeCtlr.DeletePort(AccApfInfo[NF_OUT_PR].Name); err != nil { - log.Errorf("failed to delete port to bridge: %v, for interface->%v", err, AccApfInfo[NF_OUT_PR].Name) - return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccApfInfo[NF_OUT_PR].Name) + if err := s.bridgeCtlr.DeletePort(AccIntfNames[NF_OUT_PR_INTF_INDEX]); err != nil { + log.Errorf("failed to delete port to bridge: %v, for interface->%v", err, AccIntfNames[NF_OUT_PR_INTF_INDEX]) + return nil, fmt.Errorf("failed to add port to bridge: %v, for interface->%v", err, AccIntfNames[NF_OUT_PR_INTF_INDEX]) } - log.Infof("deleted interfaces:inPR->%s, outPR->%s", AccApfInfo[NF_IN_PR].Name, AccApfInfo[NF_OUT_PR].Name) + log.Infof("deleted interfaces:inPR->%s, outPR->%s", AccIntfNames[NF_IN_PR_INTF_INDEX], AccIntfNames[NF_OUT_PR_INTF_INDEX]) log.Infof("DeleteNFP4Rules, path->%s, 1-%v, 2-%v, 3-%v, 4-%v, 5-%v", - s.p4rtClient.GetBin(), vfMacList, in.Input, in.Output, AccApfInfo[NF_IN_PR].Mac, AccApfInfo[NF_OUT_PR].Mac) - p4rtclient.DeleteNFP4Rules(s.p4rtClient, vfMacList, in.Input, in.Output, AccApfInfo[NF_IN_PR].Mac, AccApfInfo[NF_OUT_PR].Mac) + s.p4rtClient.GetBin(), vfMacList, in.Input, in.Output, AccApfMacList[NF_IN_PR_INTF_INDEX], AccApfMacList[NF_OUT_PR_INTF_INDEX]) + p4rtclient.DeleteNFP4Rules(s.p4rtClient, vfMacList, in.Input, in.Output, AccApfMacList[NF_IN_PR_INTF_INDEX], AccApfMacList[NF_OUT_PR_INTF_INDEX]) return &pb.Empty{}, nil } diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ovsbridge.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ovsbridge.go index 7543cdcdb..6431d12ee 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ovsbridge.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/ipuplugin/ovsbridge.go @@ -2,9 +2,9 @@ package ipuplugin import ( "fmt" + "strings" "os" "path/filepath" - "strings" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/utils" @@ -34,38 +34,35 @@ func createDbParam(ovsDbPath string) string { } func isNumeric(s string) bool { - var n int - _, err := fmt.Sscanf(s, "%d", &n) - return err == nil + var n int + _, err := fmt.Sscanf(s, "%d", &n) + return err == nil } func getPIDsWithComm(target string) ([]string, error) { - files, err := os.ReadDir("/proc") - if err != nil { - return nil, fmt.Errorf("error reading /proc: %v", err) - } - - var pids []string - for _, file := range files { - if file.IsDir() && isNumeric(file.Name()) { - cmdPath := filepath.Join("/proc", file.Name(), "cmdline") - data, err := os.ReadFile(cmdPath) - if err != nil { - continue - } - if strings.Contains(strings.TrimSpace(string(data)), target) { - pids = append(pids, file.Name()) - } - } - } - - return pids, nil + files, err := os.ReadDir("/proc") + if err != nil { + return nil, fmt.Errorf("error reading /proc: %v", err) + } + + var pids []string + for _, file := range files { + if file.IsDir() && isNumeric(file.Name()) { + cmdPath := filepath.Join("/proc", file.Name(), "cmdline") + data, err := os.ReadFile(cmdPath) + if err != nil { + continue + } + if strings.Contains(strings.TrimSpace(string(data)), target) { + pids = append(pids, file.Name()) + } + } + } + + return pids, nil } -/* This func returns the PID of the infrapod -* That PID is used instead of networkNamespace - */ -func getInfrapodPID() (string, error) { +func getInfrapodNamespace() (string, error) { pids, err := getPIDsWithComm("entrypoint.sh") if err != nil { return "", fmt.Errorf("error retrieving PIDs: %v", err) @@ -79,7 +76,17 @@ func getInfrapodPID() (string, error) { // TODO: A better way is needed to identify the container return "", fmt.Errorf("%v PIDs found for 'entrypoint.sh': %v", len(pids), pids) } - return pids[0], nil + + targetPID := pids[0] + cmd := fmt.Sprintf("ip netns identify %s | tr -d '\\n'", targetPID) + ret, err := utils.ExecuteScript(cmd) + if err != nil { + log.Errorf("unable to get Namespace of infrapod: %v", err) + return "", fmt.Errorf("unable to get Namespace of infrapod: %v", err) + } else { + log.Debugf("Namespace of infrapod: %s", ret) + } + return ret, nil } func (b *ovsBridge) EnsureBridgeExists() error { @@ -88,25 +95,25 @@ func (b *ovsBridge) EnsureBridgeExists() error { if err := utils.ExecOsCommand(b.ovsCliDir+"/ovs-vsctl", createBrParams...); err != nil { return fmt.Errorf("error creating ovs bridge %s with ovs-vsctl command %s", b.bridgeName, err.Error()) } - netNs, err := getInfrapodPID() + netNs, err := getInfrapodNamespace() if err != nil { - log.Errorf("EnsureBridgeExists: error->%v from getInfrapodPID", err) + log.Errorf("EnsureBridgeExists: error->%v from getInfrapodNamespace", err) return err } // Flush any existing IP addresses from the bridge interface from any previous runs - flushIPCmd := []string{"-t", netNs, "-n", "ip", "addr", "flush", "dev", b.bridgeName} - if err := utils.ExecOsCommand("nsenter", flushIPCmd...); err != nil { + flushIPCmd := []string{"net", "exec", netNs, "ip", "addr", "flush", "dev", b.bridgeName} + if err := utils.ExecOsCommand("ip", flushIPCmd...); err != nil { return fmt.Errorf("error flushing IP addresses for bridge %s: %v", b.bridgeName, err) } //assigning IP for bridge interface. ipAddr := ACC_VM_PR_IP - cmdParams := []string{"-t", netNs, "-n", "ip", "addr", "add", "dev", b.bridgeName, ipAddr} - if err := utils.ExecOsCommand("nsenter", cmdParams...); err != nil { + cmdParams := []string{"net", "exec", netNs, "ip", "addr", "add", "dev", b.bridgeName, ipAddr} + if err := utils.ExecOsCommand("ip", cmdParams...); err != nil { return fmt.Errorf("error->%v, assigning IP->%v to ovs bridge %s", err.Error(), ipAddr, b.bridgeName) } //bring the interface up. - cmdParams = []string{"-t", netNs, "-n", "ip", "link", "set", "dev", b.bridgeName, "up"} - if err := utils.ExecOsCommand("nsenter", cmdParams...); err != nil { + cmdParams = []string{"net", "exec", netNs, "ip", "link", "set", "dev", b.bridgeName, "up"} + if err := utils.ExecOsCommand("ip", cmdParams...); err != nil { return fmt.Errorf("error->%v, bringing UP bridge interface->%v", err.Error(), b.bridgeName) } return nil @@ -124,9 +131,9 @@ func (b *ovsBridge) DeleteBridges() error { } func (b *ovsBridge) AddPort(portName string) error { - netNs, err := getInfrapodPID() + netNs, err := getInfrapodNamespace() if err != nil { - log.Errorf("AddPort: error->%v from getInfrapodPID", err) + log.Errorf("AddPort: error->%v from getInfrapodNamespace", err) return err } // Move interface to the infrapod namespace @@ -142,8 +149,8 @@ func (b *ovsBridge) AddPort(portName string) error { return fmt.Errorf("unable to add port to the bridge: %w", err) } //bring the interface up. - cmdParams := []string{"-t", netNs, "-n", "ip", "link", "set", "dev", portName, "up"} - if err := utils.ExecOsCommand("nsenter", cmdParams...); err != nil { + cmdParams := []string{"net", "exec", netNs, "ip", "link", "set", "dev", portName, "up"} + if err := utils.ExecOsCommand("ip", cmdParams...); err != nil { return fmt.Errorf("error->%v, bringing UP interface->%v", err.Error(), portName) } log.WithField("portName", portName).Infof("port added to ovs bridge %s", b.bridgeName) @@ -151,14 +158,14 @@ func (b *ovsBridge) AddPort(portName string) error { } func (b *ovsBridge) DeletePort(portName string) error { - netNs, err := getInfrapodPID() + netNs, err := getInfrapodNamespace() if err != nil { - log.Errorf("DeletePort: error->%v from getInfrapodPID", err) + log.Errorf("DeletePort: error->%v from getInfrapodNamespace", err) return err } // Move interface out of the infrapod namespace - ipParams := []string{"-t", netNs, "-n", "ip", "link", "set", "dev", portName, "netns", "1"} - err = utils.ExecOsCommand("nsenter", ipParams...) + ipParams := []string{"net", "exec", netNs, "ip", "link", "set", "dev", portName, "netns", "1"} + err = utils.ExecOsCommand("ip", ipParams...) if err != nil { log.Errorf("error moving interface %s to infra namespace with error %s", portName, err.Error()) } diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/k8s/render/render.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/k8s/render/render.go deleted file mode 100644 index c0472c63c..000000000 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/k8s/render/render.go +++ /dev/null @@ -1,107 +0,0 @@ -package render - -import ( - "bytes" - "context" - "embed" - "fmt" - "io" - "path/filepath" - "sort" - "strings" - "text/template" - - "github.com/go-logr/logr" - "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/apply" - configv1 "github.com/openshift/dpu-operator/api/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/yaml" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" -) - -func ApplyTemplate(reader io.Reader, vars map[string]string) (io.Reader, error) { - contents, err := io.ReadAll(reader) - if err != nil { - return nil, err - } - t, err := template.New("template").Option("missingkey=error").Parse(string(contents)) - if err != nil { - return nil, fmt.Errorf("Failed to parse yaml through template: %v", err) - } - var buf bytes.Buffer - err = t.Execute(&buf, vars) - if err != nil { - return nil, fmt.Errorf("Failed to Execute template on buffer: %v", err) - } - return bytes.NewReader(buf.Bytes()), nil -} - -func BinDataYamlFiles(dirPath string, binData embed.FS) ([]string, error) { - var yamlFileDescriptors []string - - dir, err := binData.ReadDir(filepath.Join("bindata", dirPath)) - if err != nil { - return nil, err - } - - for _, f := range dir { - if !f.IsDir() && strings.HasSuffix(f.Name(), ".yaml") { - yamlFileDescriptors = append(yamlFileDescriptors, filepath.Join(dirPath, f.Name())) - } - } - - sort.Strings(yamlFileDescriptors) - return yamlFileDescriptors, nil -} - -func operateFromBinData(logger logr.Logger, filePath string, data map[string]string, binData embed.FS, client client.Client, cfg *configv1.DpuOperatorConfig, scheme *runtime.Scheme, isDelete bool) error { - file, err := binData.Open(filepath.Join("bindata", filePath)) - if err != nil { - return fmt.Errorf("Failed to read file '%s': %v", filePath, err) - } - applied, err := ApplyTemplate(file, data) - if err != nil { - return fmt.Errorf("Failed to apply template on '%s': %v", filePath, err) - } - var obj *unstructured.Unstructured - err = yaml.NewYAMLOrJSONDecoder(applied, 1024).Decode(&obj) - if err != nil { - return err - } - if cfg != nil { - if err := ctrl.SetControllerReference(cfg, obj, scheme); err != nil { - return err - } - } - if isDelete == true { - logger.Info("Deleting CR : ", obj.GetKind(), obj.GetName()) - if err := apply.DeleteObject(context.TODO(), client, obj); err != nil { - return fmt.Errorf("failed to delete object %v with err: %v", obj, err) - } - } else { - logger.Info("Creating CR : ", obj.GetKind(), obj.GetName()) - if err := apply.ApplyObject(context.TODO(), client, obj); err != nil { - return fmt.Errorf("failed to apply object %v with err: %v", obj, err) - } - } - return nil -} - -// Performs an apply or delete based on isDelete. -// data : template map -// binDataPath : path inside ./bindata from cwd -func OperateAllFromBinData(logger logr.Logger, binDataPath string, data map[string]string, binData embed.FS, client client.Client, cfg *configv1.DpuOperatorConfig, scheme *runtime.Scheme, isDelete bool) error { - filePaths, err := BinDataYamlFiles(binDataPath, binData) - if err != nil { - return err - } - for _, f := range filePaths { - err = operateFromBinData(logger, f, data, binData, client, cfg, scheme, isDelete) - if err != nil { - return err - } - } - return nil -} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/p4rtclient.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/p4rtclient.go index 6dcb20de4..36228d533 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/p4rtclient.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/p4rtclient.go @@ -19,45 +19,31 @@ import ( "fmt" "net" "strconv" - "strings" - "time" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/utils" log "github.com/sirupsen/logrus" ) -const ( - mirror_profile_id = 3 - bridgeId = 0 - phyPort = 0 - imcAddress = "192.168.0.1:22" - defaultP4rtIp = "127.0.0.1" - p4rtPort = "9559" -) - type fxpRuleParams []string type p4rtclient struct { - p4rtBin string - p4rtIpPort string - p4rtServiceName string - portMuxVsi int - p4br string - bridgeType types.BridgeType + p4rtBin string + p4rtIpPort string + portMuxVsi int + p4br string + bridgeType types.BridgeType } -func NewP4RtClient(p4rtBin string, p4rtServiceName string, portMuxVsi int, p4BridgeName string, brType types.BridgeType) types.P4RTClient { +func NewP4RtClient(p4rtBin string, p4rtIpPort string, portMuxVsi int, p4BridgeName string, brType types.BridgeType) types.P4RTClient { log.Debug("Creating Linux P4Client instance") - p4rtClient := p4rtclient{ - p4rtBin: p4rtBin, - p4rtServiceName: p4rtServiceName, - portMuxVsi: portMuxVsi, - p4br: p4BridgeName, - bridgeType: brType, + return &p4rtclient{ + p4rtBin: p4rtBin, + p4rtIpPort: p4rtIpPort, + portMuxVsi: portMuxVsi, + p4br: p4BridgeName, + bridgeType: brType, } - p4rtClient.ResolveServiceIp(false) - return &p4rtClient } // TODO: Move this under utils pkg @@ -74,50 +60,20 @@ func checkMacAddresses(macAddresses ...string) ([]byte, error) { func (p *p4rtclient) ProgramFXPP4Rules(ruleSets []types.FxpRuleBuilder) error { for _, r := range ruleSets { p4rule := []string{r.Action, r.P4br, r.Control, r.Metadata} - stderr, stdout, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, p4rule...) + err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, p4rule...) if err != nil { - if strings.Contains(stdout, "ALREADY_EXISTS") { - log.Info("p4rule already exists. Delete and reprogram: ", p4rule) - metaPrefix := strings.Index(r.Metadata, ",action") - p4DelR := types.FxpRuleBuilder{Action: "del-entry", P4br: r.P4br, Control: r.Control, Metadata: r.Metadata[:metaPrefix]} - p4DelRuleStr := []string{p4DelR.Action, p4DelR.P4br, p4DelR.Control, p4DelR.Metadata} - // Delete the existing rule first - utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, p4DelRuleStr...) - time.Sleep(1) - // Now program the new rule - utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, p4rule...) - } else if strings.Contains(stderr, "INVALID_ARGUMENT") { - // This is to handle possible race condition during the p4rt-ctl add or a delete command execution failure. - log.Info("p4rule add or a delete operation failed. Attempt once again", p4rule) - // Sleep for a second and attempt only once to reprogram. - time.Sleep(1) - utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, p4rule...) - } else { - log.Info("WARNING!: p4rule add or a delete operation failed for an unhandled error scenario") - } - + log.Info("WARNING: Failed to program p4rule: ", p4rule) } } return nil } -func getStrippedMacAndVsi(macAddr string) (int, string, error) { - vsi, err := utils.ImcQueryfindVsiGivenMacAddr(types.IpuMode, macAddr) - if err != nil { - log.Info("programRHPrimarySecondaryVportP4Rules failed. Unable to find Vsi and Vport for PR mac: ", macAddr) - return 0, "", err - } - //skip 0x in front of vsi - vsi = vsi[2:] - - vsiInt64, err := strconv.ParseInt(vsi, 16, 32) - if err != nil { - log.Info("error from ParseInt ", err) - return 0, "", err - } - Vsi := int(vsiInt64) - macAddrStrip := strings.ReplaceAll(macAddr, ":", "") - return Vsi, macAddrStrip, nil +// TODO: Move this under utils pkg +func getVsiVportInfo(macAddr string) (int, int) { + macAddrByte, _ := utils.GetMacAsByteArray(macAddr) + vfVsi := int(macAddrByte[1]) + vfVport := utils.GetVportForVsi(vfVsi) + return vfVsi, vfVport } func programPhyVportP4Rules(p4rtClient types.P4RTClient, phyPort int, prMac string) error { @@ -147,7 +103,6 @@ func programPhyVportP4Rules(p4rtClient types.P4RTClient, phyPort int, prMac stri phyPort, phyPort, ), }, - /* rx_phy_port_to_pr_map rule is commented here as it gets handled at the mirror_profile. keeping the below rule for reference only. { Action: "add-entry", P4br: "br0", @@ -157,7 +112,6 @@ func programPhyVportP4Rules(p4rtClient types.P4RTClient, phyPort int, prMac stri phyPort, prVport, ), }, - */ { Action: "add-entry", P4br: "br0", @@ -205,7 +159,6 @@ func deletePhyVportP4Rules(p4rtClient types.P4RTClient, phyPort int, prMac strin phyPort, ), }, - /* rx_phy_port_to_pr_map rule is commented here as it gets handled at the mirror_profile. keeping the below rule for reference only. { Action: "del-entry", P4br: "br0", @@ -215,7 +168,6 @@ func deletePhyVportP4Rules(p4rtClient types.P4RTClient, phyPort int, prMac strin phyPort, ), }, - */ { Action: "del-entry", P4br: "br0", @@ -270,14 +222,8 @@ func deletePhyVportBridgeId(p4rtClient types.P4RTClient, phyPort, bridgeId int) } func programNfPrVportP4Rules(p4rtClient types.P4RTClient, ingressMac, egressMac string) error { - ingressVsi, ingressVport, err := utils.ExtractVsiVportInfo(ingressMac) - if err != nil { - return fmt.Errorf("programNfPrVportP4Rules failed. Unable to find Vsi and Vport for NF ingress mac: %v", ingressMac) - } - egressVsi, egressVport, err := utils.ExtractVsiVportInfo(egressMac) - if err != nil { - return fmt.Errorf("programNfPrVportP4Rules failed. Unable to find Vsi and Vport for NF egress mac: %v", egressMac) - } + ingressVsi, ingressVport := getVsiVportInfo(ingressMac) + egressVsi, egressVport := getVsiVportInfo(egressMac) nfPrVportP4RuleSets := []types.FxpRuleBuilder{ { @@ -340,14 +286,8 @@ func programNfPrVportP4Rules(p4rtClient types.P4RTClient, ingressMac, egressMac } func deleteNfPrVportP4Rules(p4rtClient types.P4RTClient, ingressMac, egressMac string) error { - ingressVsi, ingressVport, err := utils.ExtractVsiVportInfo(ingressMac) - if err != nil { - return fmt.Errorf("deleteNfPrVportP4Rules failed. Unable to find Vsi and Vport for NF ingress mac: %v", ingressMac) - } - egressVsi, _, err := utils.ExtractVsiVportInfo(egressMac) - if err != nil { - return fmt.Errorf("deleteNfPrVportP4Rules failed. Unable to find Vsi and Vport for NF ingress mac: %v", egressMac) - } + ingressVsi, ingressVport := getVsiVportInfo(ingressMac) + egressVsi, _ := getVsiVportInfo(egressMac) nfPrVportP4RuleSets := []types.FxpRuleBuilder{ { @@ -410,15 +350,8 @@ func deleteNfPrVportP4Rules(p4rtClient types.P4RTClient, ingressMac, egressMac s } func programVsiToVsiP4Rules(p4rtClient types.P4RTClient, mac1, mac2 string) error { - mac1Vsi, mac1Vport, err := utils.ExtractVsiVportInfo(mac1) - if err != nil { - return fmt.Errorf("programVsiToVsiP4Rules failed. Unable to find Vsi and Vport for mac: %v", mac1) - } - - mac2Vsi, mac2Vport, err := utils.ExtractVsiVportInfo(mac2) - if err != nil { - return fmt.Errorf("programVsiToVsiP4Rules failed. Unable to find Vsi and Vport for mac: %v", mac2) - } + mac1Vsi, mac1Vport := getVsiVportInfo(mac1) + mac2Vsi, mac2Vport := getVsiVportInfo(mac2) VsiToVsip4RuleSets := []types.FxpRuleBuilder{ { @@ -444,15 +377,8 @@ func programVsiToVsiP4Rules(p4rtClient types.P4RTClient, mac1, mac2 string) erro } func deleteVsiToVsiP4Rules(p4rtClient types.P4RTClient, mac1, mac2 string) error { - mac1Vsi, _, err := utils.ExtractVsiVportInfo(mac1) - if err != nil { - return fmt.Errorf("deleteVsiToVsiP4Rules failed. Unable to find Vsi and Vport for mac: %v", mac1) - } - - mac2Vsi, _, err := utils.ExtractVsiVportInfo(mac2) - if err != nil { - return fmt.Errorf("deleteVsiToVsiP4Rules failed. Unable to find Vsi and Vport for mac: %v", mac2) - } + mac1Vsi, _ := getVsiVportInfo(mac1) + mac2Vsi, _ := getVsiVportInfo(mac2) VsiToVsip4RuleSets := []types.FxpRuleBuilder{ { @@ -477,27 +403,6 @@ func deleteVsiToVsiP4Rules(p4rtClient types.P4RTClient, mac1, mac2 string) error return p4rtClient.ProgramFXPP4Rules(VsiToVsip4RuleSets) } -// In case of failure, revert to using 127.0.0.1:9559 which works for P4 in container -// but not for P4 in pod. In case of P4 in pod in failure case, we will error out in the -// waitForInfraP4d() -func (p *p4rtclient) ResolveServiceIp(inCluster bool) error { - var err error - p4rtIp := defaultP4rtIp - if inCluster { - ip, err := net.LookupIP(p.p4rtServiceName) - if err != nil { - log.Errorf("Couldn't resolve Name %s to IP: err->%s", p.p4rtServiceName, err) - } else { - p4rtIp = ip[0].String() - } - } - if err == nil { - log.Infof("Setting p4runtime Ip to %s", p4rtIp) - p.p4rtIpPort = p4rtIp + ":" + p4rtPort - } - return err -} - func (p *p4rtclient) GetBin() string { return p.p4rtBin } @@ -513,8 +418,7 @@ func (p *p4rtclient) AddRules(macAddr []byte, vlan int) { log.WithField("number of rules", len(ruleSets)).Debug("adding FXP rules") for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing add rule command") } } @@ -529,8 +433,7 @@ func (p *p4rtclient) DeleteRules(macAddr []byte, vlan int) { log.WithField("number of rules", len(ruleSets)).Debug("deleting FXP rules") for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing del rule command") } } @@ -607,8 +510,6 @@ func (p *p4rtclient) getDelRuleSets(macAddr []byte, vlan int) []fxpRuleParams { return ruleSets } -// P4 APIs exposed to ipu-opi-plugins - func AddPhyPortRules(p4rtClient types.P4RTClient, prP0mac string, prP1mac string) error { macAddr, macErr := checkMacAddresses(prP0mac, prP1mac) if macErr != nil { @@ -619,9 +520,9 @@ func AddPhyPortRules(p4rtClient types.P4RTClient, prP0mac string, prP1mac string //Add Port 0 P4 rules programPhyVportP4Rules(p4rtClient, 0, prP0mac) //Add Port 1 P4 rules - //programPhyVportP4Rules(p4RtBin, 1, prP1mac) + programPhyVportP4Rules(p4rtClient, 1, prP1mac) //Add bridge id for non P4 OVS bridge ports - //programPhyVportBridgeId(p4RtBin, 1, 77) + programPhyVportBridgeId(p4rtClient, 1, 77) return nil } @@ -636,9 +537,9 @@ func DeletePhyPortRules(p4rtClient types.P4RTClient, prP0mac string, prP1mac str //Add Port 0 P4 rules deletePhyVportP4Rules(p4rtClient, 0, prP0mac) //Add Port 1 P4 rules - //deletePhyVportP4Rules(p4RtBin, 1, prP1mac) + deletePhyVportP4Rules(p4rtClient, 1, prP1mac) //Add bridge id for non P4 OVS bridge ports - //deletePhyVportBridgeId(p4RtBin, 1, 77) + deletePhyVportBridgeId(p4rtClient, 1, 77) return nil @@ -660,15 +561,8 @@ func AddHostVfP4Rules(p4rtClient types.P4RTClient, hostVfMac []byte, accMac stri return errors.New("Invalid Mac Address") } - hostVfVsi, hostVfVport, err := utils.ExtractVsiVportInfo(hostMacAddr.String()) - if err != nil { - return fmt.Errorf("AddHostVfP4Rules failed. Unable to find Vsi and Vport for mac: %v", hostMacAddr.String()) - } - - apfPrVsi, apfPrVport, err := utils.ExtractVsiVportInfo(accMac) - if err != nil { - return fmt.Errorf("AddHostVfP4Rules failed. Unable to find Vsi and Vport for mac: %v", accMac) - } + hostVfVsi, hostVfVport := getVsiVportInfo(hostMacAddr.String()) + apfPrVsi, apfPrVport := getVsiVportInfo(accMac) hostVfP4ruleSets := []types.FxpRuleBuilder{ { @@ -720,7 +614,7 @@ func AddHostVfP4Rules(p4rtClient types.P4RTClient, hostVfMac []byte, accMac stri log.WithField("number of rules", len(hostVfP4ruleSets)).Debug("adding FXP rules") - err = p4rtClient.ProgramFXPP4Rules(hostVfP4ruleSets) + err := p4rtClient.ProgramFXPP4Rules(hostVfP4ruleSets) if err != nil { log.Info("Host VF FXP P4 rules add failed") return err @@ -746,15 +640,8 @@ func DeleteHostVfP4Rules(p4rtClient types.P4RTClient, hostVfMac []byte, accMac s return errors.New("Invalid Mac Address") } - hostVfVsi, hostVfVport, err := utils.ExtractVsiVportInfo(hostMacAddr.String()) - if err != nil { - return fmt.Errorf("DeleteHostVfP4Rules failed. Unable to find Vsi and Vport for mac: %v", hostMacAddr.String()) - } - - apfPrVsi, _, err := utils.ExtractVsiVportInfo(accMac) - if err != nil { - return fmt.Errorf("DeleteHostVfP4Rules failed. Unable to find Vsi and Vport for mac: %v", accMac) - } + hostVfVsi, hostVfVport := getVsiVportInfo(hostMacAddr.String()) + apfPrVsi, _ := getVsiVportInfo(accMac) hostVfP4ruleSets := []types.FxpRuleBuilder{ { @@ -806,7 +693,7 @@ func DeleteHostVfP4Rules(p4rtClient types.P4RTClient, hostVfMac []byte, accMac s log.WithField("number of rules", len(hostVfP4ruleSets)).Debug("Deleting FXP rules") - err = p4rtClient.ProgramFXPP4Rules(hostVfP4ruleSets) + err := p4rtClient.ProgramFXPP4Rules(hostVfP4ruleSets) if err != nil { log.Info("Host VF FXP P4 rules delete failed") return err @@ -1013,143 +900,3 @@ func DeleteLAGP4Rules(p4rtClient types.P4RTClient) error { } return nil } - -func AddRHPrimaryNetworkVportP4Rules(p4rtClient types.P4RTClient, d4Mac string, d1Mac string) error { - d4Vsi, _, err := getStrippedMacAndVsi(d4Mac) - if err != nil { - log.Info("AddRHPrimaryNetworkVportP4Rules failed. Unable to find Vsi and Vport for PR mac: ", d4Mac) - return err - } - - d1Vsi, d1MacAddr, err := getStrippedMacAndVsi(d1Mac) - if err != nil { - log.Info("AddRHPrimaryNetworkVportP4Rules failed. Unable to find Vsi and Vport for PR mac: ", d1Mac) - return err - } - - phyVportP4ruleSets := []types.FxpRuleBuilder{ - { - Action: "add-entry", - P4br: "br0", - Control: "linux_networking_control.mir_prof", - Metadata: fmt.Sprintf( - "mirror_prof_key=%d,action=linux_networking_control.mir_prof_action(vport_id=%d,mode=0,port_dest_type=0,dest_id=%d,func_valid=1,store_vsi=1)", - mirror_profile_id, d1Vsi, d1Vsi, - ), - }, - { - Action: "add-entry", - P4br: "br0", - Control: "linux_networking_control.rx_phy_port_to_pr_map", - Metadata: fmt.Sprintf( - "vmeta.common.port_id=0x00,zero_padding=0x0000,action=linux_networking_control.mirror_and_send(%d,%d)", - d4Vsi+16, mirror_profile_id, - ), - }, - { - Action: "add-entry", - P4br: "br0", - Control: "linux_networking_control.tx_acc_vsi", - Metadata: fmt.Sprintf( - "vmeta.common.vsi=%d,zero_padding=0,action=linux_networking_control.l2_fwd_and_bypass_bridge(%d)", - d1Vsi, phyPort, - ), - }, - /* rx_source_port rule is commented here as it gets handled at the PhyVportP4Rules. keeping the below rule for reference only. - { - Action: "add-entry", - P4br: "br0", - Control: "linux_networking_control.rx_source_port", - Metadata: fmt.Sprintf( - "vmeta.common.port_id=0,zero_padding=0,action=linux_networking_control.set_source_port(%d)", - phyPort, - ), - }, - */ - { - Action: "add-entry", - P4br: "br0", - Control: "linux_networking_control.source_port_to_bridge_map", - Metadata: fmt.Sprintf( - "user_meta.cmeta.source_port=%d/0xffff,hdrs.vlan_ext[vmeta.common.depth].hdr.vid=%d/0xfff,priority=1,action=linux_networking_control.set_bridge_id(bridge_id=%d)", - phyPort, phyPort, bridgeId, - ), - }, - { - Action: "add-entry", - P4br: "br0", - Control: "linux_networking_control.l2_fwd_rx_table", - Metadata: fmt.Sprintf( - "user_meta.pmeta.bridge_id=%d,dst_mac=0x%s,action=linux_networking_control.l2_fwd(%d)", - bridgeId, d1MacAddr, d1Vsi+16, - ), - }, - } - return p4rtClient.ProgramFXPP4Rules(phyVportP4ruleSets) -} - -func DeleteRHPrimaryNetworkVportP4Rules(p4rtClient types.P4RTClient, d1Mac string) error { - d1Vsi, d1MacAddr, err := getStrippedMacAndVsi(d1Mac) - if err != nil { - log.Info("programRHPrimarySecondaryVportP4Rules failed. Unable to find Vsi and Vport for PR mac: ", d1Mac) - return err - } - - phyVportP4ruleSets := []types.FxpRuleBuilder{ - { - Action: "del-entry", - P4br: "br0", - Control: "linux_networking_control.mir_prof", - Metadata: fmt.Sprintf( - "mirror_prof_key=%d", - mirror_profile_id, - ), - }, - { - Action: "del-entry", - P4br: "br0", - Control: "linux_networking_control.rx_phy_port_to_pr_map", - Metadata: fmt.Sprintf( - "vmeta.common.port_id=0x00,zero_padding=0x0000", - ), - }, - { - Action: "del-entry", - P4br: "br0", - Control: "linux_networking_control.tx_acc_vsi", - Metadata: fmt.Sprintf( - "vmeta.common.vsi=%d,zero_padding=0", - d1Vsi, - ), - }, - /* rx_source_port rule is commented here as it gets handled at the PhyVportP4Rules. keeping the below rule for reference only. - { - Action: "del-entry", - P4br: "br0", - Control: "linux_networking_control.rx_source_port", - Metadata: fmt.Sprintf( - "vmeta.common.port_id=0,zero_padding=0", - ), - }, - */ - { - Action: "del-entry", - P4br: "br0", - Control: "linux_networking_control.source_port_to_bridge_map", - Metadata: fmt.Sprintf( - "user_meta.cmeta.source_port=%d/0xffff,hdrs.vlan_ext[vmeta.common.depth].hdr.vid=%d/0xfff,priority=1", - phyPort, phyPort, - ), - }, - { - Action: "del-entry", - P4br: "br0", - Control: "linux_networking_control.l2_fwd_rx_table", - Metadata: fmt.Sprintf( - "user_meta.pmeta.bridge_id=%d,dst_mac=0x%s", - bridgeId, d1MacAddr, - ), - }, - } - return p4rtClient.ProgramFXPP4Rules(phyVportP4ruleSets) -} diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/rh_p4client.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/rh_p4client.go index 2cd778b1d..15cc13e4d 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/rh_p4client.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/p4rtclient/rh_p4client.go @@ -58,10 +58,6 @@ func (p *rhP4Client) ProgramFXPP4Rules(ruleSets []types.FxpRuleBuilder) error { return nil } -func (p *rhP4Client) ResolveServiceIp(inCluster bool) error { - return nil -} - func (p *rhP4Client) AddRules(macAddr []byte, vlan int) { // For all rules in RuleSets call // P4CP_INSTALL/bin/p4rt-ctl add-entry br0 @@ -70,8 +66,7 @@ func (p *rhP4Client) AddRules(macAddr []byte, vlan int) { log.WithField("number of rules", len(ruleSets)).Debug("adding FXP rules") for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing add rule command") } } @@ -86,8 +81,7 @@ func (p *rhP4Client) DeleteRules(macAddr []byte, vlan int) { log.WithField("number of rules", len(ruleSets)).Debug("deleting FXP rules") for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing del rule command") } } @@ -201,8 +195,7 @@ func CreateNetworkFunctionRules(p *p4rtclient, vfMacList []string, apf1 string, ) for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing del rule command") } else { log.Infof("Finished running: %s", p.p4rtBin+" "+strings.Join(r, " ")) @@ -256,8 +249,7 @@ func DeleteNetworkFunctionRules(p *p4rtclient, vfMacList []string, apf1 string, ) for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing del rule command") } else { log.Infof("Finished running: %s", p.p4rtBin+" "+strings.Join(r, " ")) @@ -307,8 +299,7 @@ func CreatePointToPointVFRules(p *p4rtclient, vfMacList []string) { } for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing del rule command") } else { log.Infof("Finished running: %s", p.p4rtBin+" "+strings.Join(r, " ")) @@ -349,8 +340,7 @@ func DeletePointToPointVFRules(p *p4rtclient, vfMacList []string) { } for _, r := range ruleSets { - _, _, err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...) - if err != nil { + if err := utils.RunP4rtCtlCommand(p.p4rtBin, p.p4rtIpPort, r...); err != nil { log.WithField("error", err).Errorf("error executing del rule command") } else { log.Infof("Finished running: %s", p.p4rtBin+" "+strings.Join(r, " ")) diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types/types.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types/types.go index 6408fe040..8fd93c797 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types/types.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types/types.go @@ -15,16 +15,14 @@ package types import ( - "time" - pb "github.com/opiproject/opi-api/network/evpn-gw/v1alpha1/gen/go" ) type BridgeType int type BridgePortInfo struct { - PbBrPort *pb.BridgePort - PortId uint //For example, if ACC interface name is enp0s1f0d4, PortId(vportId) will be 4. + PbBrPort *pb.BridgePort + PortInterface string } const ( @@ -32,8 +30,6 @@ const ( LinuxBridge HostMode = "host" IpuMode = "ipu" - HostVfPr = "HostVfPr" // PR(port representator on ACC) for Host VF - NfPr = "NfPr" // PR(port representator on ACC) for Network Function ) func (b BridgeType) String() string { @@ -77,14 +73,4 @@ type P4RTClient interface { ProgramFXPP4Rules(ruleSets []FxpRuleBuilder) error GetBin() string GetIpPort() string - ResolveServiceIp(inCluster bool) error -} - -type InfrapodMgr interface { - StartMgr() error - CreateCrs() error - CreatePvCrs() error - DeleteCrs() error - WaitForPodDelete(timeout time.Duration) error - WaitForPodReady(timeout time.Duration) error } diff --git a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/utils/utils.go b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/utils/utils.go index 1dd8ea072..0bc1c33ac 100644 --- a/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/utils/utils.go +++ b/vendor/github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/utils/utils.go @@ -16,21 +16,15 @@ package utils import ( "bytes" - "crypto/md5" - "encoding/hex" "fmt" - "io" "net" "os" "os/exec" "path/filepath" "strconv" "strings" - "sync" - "time" "github.com/intel/ipu-opi-plugins/ipu-plugin/pkg/types" - "github.com/pkg/sftp" log "github.com/sirupsen/logrus" "golang.org/x/crypto/ssh" ) @@ -43,13 +37,6 @@ const ( imcAddress = "192.168.0.1:22" ) -const ( - maxRetryCnt = 5 - errStr = "Process failure, err: -105" - outputPath = "/work/cli_output" - retryDelay = 500 * time.Millisecond -) - var execCommand = exec.Command func ExecOsCommand(cmdBin string, params ...string) error { @@ -73,35 +60,6 @@ func ExecOsCommand(cmdBin string, params ...string) error { return nil } -func ExtractVsiVportInfo(macAddr string) (int, int, error) { - macAddrByte, err := GetMacAsByteArray(macAddr) - if err != nil { - log.Info("ExtractVsiVportInfo failed.", macAddr) - return 0, 0, err - } - vfVsi := int(macAddrByte[1]) - vfVport := GetVportForVsi(vfVsi) - return vfVsi, vfVport, nil -} - -func GetVsiVportInfo(macAddr string) (int, int, error) { - vsi, err := ImcQueryfindVsiGivenMacAddr(types.IpuMode, macAddr) - if err != nil { - log.Info("GetVsiVportInfo failed. Unable to find Vsi and Vport for mac: ", macAddr) - return 0, 0, err - } - //skip 0x in front of vsi - vsi = vsi[2:] - vsiInt64, err := strconv.ParseInt(vsi, 16, 32) - if err != nil { - log.Info("error from ParseInt ", err) - return 0, 0, err - } - vfVsi := int(vsiInt64) - vfVport := GetVportForVsi(vfVsi) - return vfVsi, vfVport, nil -} - func GetVportForVsi(vsi int) int { return vsi + vsiToVportOffset } @@ -124,16 +82,9 @@ func GetMacIntValueFromBytes(macAddr []byte) uint64 { var p4rtCtlCommand = exec.Command -var P4rtMutex sync.Mutex - -func RunP4rtCtlCommand(p4rtBin string, p4rtIpPort string, params ...string) (string, string, error) { +func RunP4rtCtlCommand(p4rtBin string, p4rtIpPort string, params ...string) error { var stdout bytes.Buffer var stderr bytes.Buffer - //serialize access to p4rtCtlCommand, when they are concurrent callers to RunP4rtCtlCommand - //Note::p4rtctl python client, uses fixed value(1 for election-id). So when they are concurrent - //clients invoking it, p4 runtime server(infrap4d) throws error. - P4rtMutex.Lock() - defer P4rtMutex.Unlock() cmd := p4rtCtlCommand(p4rtBin, append([]string{"-g", p4rtIpPort}, params...)...) // Set required env var for python implemented protobuf @@ -148,11 +99,11 @@ func RunP4rtCtlCommand(p4rtBin string, p4rtIpPort string, params ...string) (str "stdout": stdout.String(), "stderr": stderr.String(), }).Errorf("error while executing %s", p4rtBin) - return stderr.String(), stdout.String(), err + return err } log.WithField("params", params).Debugf("successfully executed %s", p4rtBin) - return "", "", nil + return nil } func ExecuteScript(script string) (string, error) { @@ -175,9 +126,8 @@ func ImcQueryfindVsiGivenMacAddr(mode string, mac string) (string, error) { return "", fmt.Errorf("ImcQueryfindVsiGivenMacAddr: invalid mode-%v. access from host to IMC, not supported", mode) } - cliCmd := `set -o pipefail && cli_client -cq ` - subCmd := fmt.Sprintf(` | awk '{if(($17 == "%s")) {print $8}}'`, mac) - outputBytes, err := RunCliCmdOnImc(cliCmd, subCmd) + commands := fmt.Sprintf(`set -o pipefail && cli_client -cq | awk '{if(($17 == "%s")) {print $8}}'`, mac) + outputBytes, err := RunCmdOnImc(commands) //Handle case where command ran without error, but empty output, due to config issue. if (err != nil) || (len(outputBytes) == 0) { @@ -191,113 +141,45 @@ func ImcQueryfindVsiGivenMacAddr(mode string, mac string) (string, error) { return outputStr, err } -// skips ACC interfaces D0 to D3, which are used internally. So, not available for other usages. -// $2 == 4 is to get ACC entries, and $10 check is to make sure, we skip rows that has vportIDs from D0 to D3. -func GetAvailableAccVsiList() ([]string, error) { - // reach out to the IMC - cliCmd := `set -o pipefail && cli_client -cq ` - subCmd := ` | awk '{if(($2 == "0x4") && ($10 != "0x0") && ($10 != "0x1") && ($10 != "0x2") && ($10 != "0x3")) {print $8}}'` - outputBytes, err := RunCliCmdOnImc(cliCmd, subCmd) - - var outputStr []string - //Handle case where command ran without error, but empty output, due to config issue. - if (err != nil) || (len(outputBytes) == 0) { - log.Errorf("GetAvailableAccVsiList: Error %v, from RunCmdOnImc (OR) empty (output)-%v", err, len(outputBytes)) - return outputStr, fmt.Errorf("GetAvailableAccVsiList: Error %v, from RunCmdOnImc (OR) empty (output)-%v", err, len(outputBytes)) - } - - outputStr = strings.Split(strings.TrimSpace(string(outputBytes)), "\n") - log.Infof("GetAvailableAccVsiList: %s, len(output)-%v", outputStr, len(outputStr)) +func RunCmdOnImc(cmd string) ([]byte, error) { - return outputStr, err -} - -// Note: Added retry logic, since ipumgmtd is single-threaded, so concurrent usage, -// of cli-client errors out. -// we retry 5 times, with sleep(0.5s) between retries. If it exceeds max -// attempts, we quit retry. retry logic is a best-effort attempt. -// WARNING: Even if ipumgmtd throws error, cli_client tool still -// returns success. Also this code(for retry) can break, if error string -// or error code gets changed. -func RunCliCmdOnImc(cliCmd, subCmd string) ([]byte, error) { config := &ssh.ClientConfig{ User: "root", Auth: []ssh.AuthMethod{ - ssh.Password(""), // Consider using SSH keys for security + ssh.Password(""), }, HostKeyCallback: ssh.InsecureIgnoreHostKey(), - Timeout: 5 * time.Second, } - - // Establish SSH connection + // Connect to the remote server. client, err := ssh.Dial("tcp", imcAddress, config) if err != nil { - return nil, fmt.Errorf("failed to connect to %s: %w", imcAddress, err) + log.Errorf("failed to dial remote server(%s): %s", imcAddress, err) + return nil, fmt.Errorf("failed to dial remote server(%s): %s", imcAddress, err) } defer client.Close() - var outputBytes []byte - - for retry := 0; retry < maxRetryCnt; retry++ { - log.Printf("Attempt %d/%d: Executing command", retry+1, maxRetryCnt) - - session, err := client.NewSession() - if err != nil { - return nil, fmt.Errorf("failed to create SSH session: %w", err) - } - - // Run the CLI command - outputBytes, err = session.CombinedOutput(cliCmd) - session.Close() // Close session explicitly - outputStr := string(outputBytes) - - if err != nil { - log.Printf("Command failed: %v", err) - return nil, fmt.Errorf("command execution failed: %w", err) - } - - if strings.Contains(outputStr, errStr) { - log.Printf("Retrying due to detected error: %s", errStr) - time.Sleep(retryDelay) - continue - } - - if subCmd != "" { - // Create SFTP client - sftpClient, err := sftp.NewClient(client) - if err != nil { - return nil, fmt.Errorf("failed to create SFTP client: %w", err) - } - defer sftpClient.Close() - - // Copy output to file - if err := CopyFile(outputStr, "/work/cli_output", sftpClient); err != nil { - return nil, fmt.Errorf("failed to copy file: %w", err) - } - - // Execute the sub-command - session, err = client.NewSession() - if err != nil { - return nil, fmt.Errorf("failed to create SSH session: %w", err) - } - defer session.Close() // Ensure closure of session + // Start a session. + session, err := client.NewSession() + if err != nil { + log.Errorf("failed to create ssh session: %s", err) + return nil, fmt.Errorf("failed to create ssh session: %s", err) + } + defer session.Close() - fullCmd := fmt.Sprintf("set -o pipefail && cat /work/cli_output %s", subCmd) - outputBytes, err = session.CombinedOutput(fullCmd) - if err != nil { - return nil, fmt.Errorf("sub-command execution failed: %w", err) - } - } - return outputBytes, nil + // Run a command on the remote server and capture the output. + outputBytes, err := session.CombinedOutput(cmd) + if err != nil { + log.Errorf("cmd error: %s", err) + return nil, fmt.Errorf("cmd error: %s", err) } - return nil, fmt.Errorf("max retry count (%d) reached", maxRetryCnt) + return outputBytes, nil + } func GetAccApfMacList() ([]string, error) { - cliCmd := `set -o pipefail && cli_client -cq ` - subCmd := ` | awk '{if(($2 == "0x4") && ($4 == "0x4")) {print $17}}'` - outputBytes, err := RunCliCmdOnImc(cliCmd, subCmd) + commands := `set -o pipefail && cli_client -cq | awk '{if(($2 == "0x4") && ($4 == "0x4")) {print $17}}'` + outputBytes, err := RunCmdOnImc(commands) var outputStr []string //Handle case where command ran without error, but empty output, due to config issue. @@ -314,9 +196,8 @@ func GetAccApfMacList() ([]string, error) { func GetVfMacList() ([]string, error) { // reach out to the IMC to get the mac addresses of the VFs - cliCmd := `set -o pipefail && cli_client -cq ` - subCmd := ` | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}'` - outputBytes, err := RunCliCmdOnImc(cliCmd, subCmd) + commands := `set -o pipefail && cli_client -cq | awk '{if(($4 == "0x0") && ($6 == "yes")) {print $17}}'` + outputBytes, err := RunCmdOnImc(commands) var outputStr []string //Handle case where command ran without error, but empty output, due to config issue. @@ -369,163 +250,3 @@ func VerifiedFilePath(fileName string, allowedDir string) (string, error) { } return path, nil } - -// compares(using md5sum) binary on IMC, with equivalent binary built-into ipu-plugin(VSP) image. -// returns true, if binary checksum matches, false otherwise. -func CompareBinary(imcPath string, vspPath string, client *ssh.Client) (bool, string) { - session, err := client.NewSession() - if err != nil { - log.Errorf("failed to create session: %v", err) - return false, fmt.Sprintf("failed to create session: %v", err) - } - defer session.Close() - - //compute md5sum of pkg file on IMC - commands := "set -o pipefail && " + "md5sum " + imcPath + " | awk '{print $1}'" - imcOutput, err := session.CombinedOutput(commands) - if err != nil { - log.Errorf("Error->%v, running command->%s:", err, commands) - return false, fmt.Sprintf("Error->%v, running command->%s:", err, commands) - } - - //compute md5sum of pkg file in ipu-plugin container - commands = "set -o pipefail && " + "md5sum /" + vspPath + " | awk '{print $1}'" - pluginOutput, err := ExecuteScript(commands) - if err != nil { - log.Errorf("Error->%v, for md5sum command->%v", err, commands) - return false, fmt.Sprintf("Error->%v, for md5sum command->%v", err, commands) - } - - if pluginOutput == string(imcOutput) { - log.Infof("md5sum match, imcPath-%s, in ipu-plugin->%v, on IMC->%v", imcPath, pluginOutput, string(imcOutput)) - } else { - log.Infof("md5sum mismatch, imcPath-%s, in ipu-plugin->%v, on IMC->%v", imcPath, pluginOutput, string(imcOutput)) - return false, fmt.Sprintf("md5sum mismatch, imcPath-%s, in ipu-plugin->%v, on IMC->%v", imcPath, pluginOutput, string(imcOutput)) - } - - return true, "" -} - -// compares(using md5sum) file on IMC, with equivalent file-content(in string format) as expected by ipu-plugin(VSP). -// returns true, if file checksum matches, false otherwise. -func CompareFile(inputFile string, remoteFilePath string, client *ssh.Client) (bool, string) { - log.Infof("inputFile->%v", inputFile) - inputFileHash := md5.Sum([]byte(inputFile)) - inputFileHashStr := hex.EncodeToString(inputFileHash[:]) - - // Create an SFTP client. - sftpClient, err := sftp.NewClient(client) - if err != nil { - log.Errorf("failed to create SFTP client: %s", err) - return false, fmt.Sprintf("failed to create SFTP client: %s", err) - } - defer sftpClient.Close() - - // destination file on IMC. - dstFile, err := sftpClient.Open(remoteFilePath) - if err != nil { - log.Errorf("failed to create remote file(%s): %s", remoteFilePath, err) - return false, fmt.Sprintf("failed to create remote file(%s): %s", remoteFilePath, err) - } - defer dstFile.Close() - - imcFileBytes, err := io.ReadAll(dstFile) - if err != nil { - log.Errorf("failed to read %s: %s", remoteFilePath, err) - return false, fmt.Sprintf("failed to read %s: %s", remoteFilePath, err) - } - - imcFileHash := md5.Sum(imcFileBytes) - imcFileHashStr := hex.EncodeToString(imcFileHash[:]) - - if inputFileHashStr == imcFileHashStr { - log.Infof("File->%s md5 match, generated->%v, on IMC->%v", remoteFilePath, inputFileHashStr, imcFileHashStr) - } else { - log.Infof("File->%s, md5 mismatch, generated->%v, on IMC->%v", remoteFilePath, inputFileHashStr, imcFileHashStr) - return false, fmt.Sprintf("File->%s, md5 mismatch, generated->%v, on IMC->%v", remoteFilePath, inputFileHashStr, imcFileHashStr) - } - - return true, "" -} - -// copies file content(in string) onto IMC(to the path provided) -func CopyFile(inputFile string, remoteFilePath string, sftpClient *sftp.Client) error { - log.Infof("copyFile: remoteFilePath->%v", remoteFilePath) - - remoteFile, err := sftpClient.Create(remoteFilePath) - if err != nil { - log.Errorf("failed to create remote file->%v: %v", remoteFilePath, err) - return fmt.Errorf("failed to create remote file->%v: %v", remoteFilePath, err) - } - defer remoteFile.Close() - - _, err = remoteFile.Write([]byte(inputFile)) - if err != nil { - log.Errorf("failed to write %v: %v", remoteFilePath, err) - return fmt.Errorf("failed to write %v: %v", remoteFilePath, err) - } - - err = remoteFile.Sync() - if err != nil { - log.Errorf("failed to sync %v: %v", remoteFilePath, err) - return fmt.Errorf("failed to sync %v: %v", remoteFilePath, err) - } - - err = sftpClient.Chmod(remoteFilePath, 0755) - if err != nil { - log.Errorf("failed to chmod %v : %v", remoteFilePath, err) - return fmt.Errorf("failed to chmod %v : %v", remoteFilePath, err) - } - return nil -} - -// copies binary part of ipu-plugin(VSP) image onto IMC(to the path provided) -func CopyBinary(imcPath string, vspPath string, sftpClient *sftp.Client) error { - - // Open the source file. - srcFile, err := os.Open(vspPath) - if err != nil { - log.Errorf("failed to open local file-%v: %v", vspPath, err) - return fmt.Errorf("failed to open local file-%v: %v", vspPath, err) - } - defer srcFile.Close() - - dirPath := filepath.Dir(imcPath) - // create any missing directories along the path to file in IMC. - err = sftpClient.MkdirAll(dirPath) - if err != nil { - log.Errorf("error-%v from MkdirAll-for dirPath: %v", err, dirPath) - return fmt.Errorf("error-%v from MkdirAll-for dirPath: %v", err, dirPath) - } - - // Create the destination file on the remote server. - dstFile, err := sftpClient.Create(imcPath) - if err != nil { - log.Errorf("failed to create remote file-%v: %v", imcPath, err) - return fmt.Errorf("failed to create remote file-%v: %v", imcPath, err) - } - defer dstFile.Close() - - // Copy the file contents to the destination file. - _, err = io.Copy(dstFile, srcFile) - if err != nil { - log.Errorf("failed to copy file, vspPath-%v: %v", vspPath, err) - return fmt.Errorf("failed to copy file, vspPath-%v: %v", vspPath, err) - } - - // Ensure that the file is written to the remote filesystem. - err = dstFile.Sync() - if err != nil { - log.Errorf("failed to sync file, imcPath-%v: %v", imcPath, err) - return fmt.Errorf("failed to sync file, imcPath-%v: %v", imcPath, err) - } - return nil -} - -func RestoreRHPrimaryNetwork() { - remoteCliCmd := "set -o pipefail && /work/scripts/post_init_app.sh" - _, err := RunCliCmdOnImc(remoteCliCmd, "") - if err != nil { - log.Info("RunCliCmdOnImc: Warning!. Unable to restore primary network access for to this IPU-ACC") - } -} diff --git a/vendor/github.com/intel/ipu-opi-plugins/network_function/Makefile b/vendor/github.com/intel/ipu-opi-plugins/network_function/Makefile new file mode 100644 index 000000000..7943f56d8 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/network_function/Makefile @@ -0,0 +1,35 @@ +# Copyright (c) 2024 Intel Corporation + +APP_NAME = networkfunction +IMAGE_NAME = intel-$(APP_NAME) + +IMGTOOL ?= docker + +IMAGE_REGISTRY?=localhost:5000 +IMAGE_TAG_BASE = $(IMAGE_REGISTRY)/$(IMAGE_NAME) +IMAGE_TAG_LATEST?=$(IMAGE_TAG_BASE):latest +DOCKERFILE?=$(CURDIR)/Dockerfile + +DOCKERARGS= +ifdef HTTP_PROXY + DOCKERARGS += --build-arg http_proxy=$(HTTP_PROXY) +endif +ifdef HTTPS_PROXY + DOCKERARGS += --build-arg https_proxy=$(HTTPS_PROXY) +endif + +all: image push + +build: + mkdir -p bin/ + gcc -o bin/nf nf.c + +clean: + @echo "Remove bin directory" + rm -rf ./bin + +image: + $(IMGTOOL) build -t $(IMAGE_TAG_LATEST) -f $(DOCKERFILE) $(CURDIR) $(DOCKERARGS) --no-cache + +push: + $(IMGTOOL) push $(IMAGE_TAG_LATEST) diff --git a/vendor/github.com/intel/ipu-opi-plugins/network_function/README.md b/vendor/github.com/intel/ipu-opi-plugins/network_function/README.md new file mode 100644 index 000000000..b41347c3e --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/network_function/README.md @@ -0,0 +1,73 @@ +# Network Function Skeleton Code + +This code attaches to an IPU network interface via a raw socket. +All packets received on this interface are relayed unmodified +to a second IPU network interface. +This provides a "transparent pipe" which can be extended to +provide true "bump in the wire" network functions. +This code supports packets up to 64K. + +**To compile** +```sh +gcc -o nf nf.c +``` + +to run +```sh +./nf +``` + +To set up the test environment + +Add a new namespace +```sh +ip netns add nfns +ip netns add ns1 +ip netns add ns2 +``` + +Create veth pairs +```sh +ip link add tap1 type veth peer name br-tap1 +ip link add tap2 type veth peer name br-tap2 +``` + +Push to new namespace +```sh +ip link set tap1 netns ns1 +ip link set tap2 netns ns2 +ip link set br-tap1 netns nfns +ip link set br-tap2 netns nfns +``` + +Assign addresses +```sh +ip netns exec ns1 ip addr add 10.1.1.4/24 dev tap1 +ip netns exec ns2 ip addr add 10.1.1.5/24 dev tap2 +``` + + +Bring up a new interface +```sh +ip netns exec nfns ip link set br-tap1 up +ip netns exec nfns ip link set br-tap2 up +ip netns exec ns1 ip link set tap1 up +ip netns exec ns2 ip link set tap2 up +``` + +**Run code:** +```sh +ip netns exec nfns ./nf br-tap1 br-tap2 +``` + +**Run test:** +```sh +ip netns exec ns1 ping -c1 10.1.1.5 +``` + +Expected Behavior +packet will increment, packet output to screen, source MAC printed. +packet relayed out second interface and visible via tcpdump command +```sh +sudo ip netns exec ns2 tcpdump -vi tap2 +``` diff --git a/vendor/github.com/intel/ipu-opi-plugins/network_function/dockerfile b/vendor/github.com/intel/ipu-opi-plugins/network_function/dockerfile new file mode 100644 index 000000000..72b418a46 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/network_function/dockerfile @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2024 Intel Corporation +# Specify the base image +FROM gcc:latest@sha256:4301d48153d6bd1307c820bb74a4463dfbc9a9c1ad7f5b8426f62d0d6c02347c +# Copy the program files +COPY nf.c /app/ +# Set the working directory +WORKDIR /app +# Compile the program +RUN gcc -o nf nf.c && chmod +x nf +# Set the entry point +CMD ["./nf"] \ No newline at end of file diff --git a/vendor/github.com/intel/ipu-opi-plugins/network_function/nf.c b/vendor/github.com/intel/ipu-opi-plugins/network_function/nf.c new file mode 100644 index 000000000..55f45b4c3 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/network_function/nf.c @@ -0,0 +1,185 @@ +// Copyright 2024 Intel Corp. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct ThreadArgs { + int rawSocket1; + int rawSocket2; + struct sockaddr_ll sockAddr; + int threadID; +}; + +void printPacket(char *packet, int length) { + int i; + for (i = 0; i < length; i++) { + printf("%02x ", (unsigned char)packet[i]); + if ((i + 1) % 16 == 0) { + printf("\n"); + } + } + printf("\n"); +} + +void *socketThread(void *arg) { + struct ThreadArgs *args = (struct ThreadArgs *)arg; + int rawSocket1 = args->rawSocket1; + int rawSocket2 = args->rawSocket2; + struct sockaddr_ll sockAddr = args->sockAddr; + int threadID = args->threadID; + + static int i = 0; + // Receive and send packets + while (1) { + char buffer[65536]; + ssize_t length; + + // Receive packet on port 1 + length = recvfrom(rawSocket1, buffer, sizeof(buffer), 0, NULL, NULL); + if (length == -1) { + perror("Failed to receive packet on rx port"); + close(rawSocket1); + exit(1); + } + else { + i++; + + // Extract the Ethernet packet type + unsigned short etherType = ntohs(*(unsigned short *)(buffer + 12)); + // Print the Ethernet packet type + // printf("Ethernet Packet Type: 0x%04x\n", etherType); + + printf("received frame on rx port %d. Sent to tx Port\n Total NF Frame count %d\n", threadID, i); + + // Extract the source MAC address + unsigned char *sourceMac = buffer + 6; + // Print the source MAC address + printf("Source MAC Address: %02x:%02x:%02x:%02x:%02x:%02x\n", + sourceMac[0], sourceMac[1], sourceMac[2], sourceMac[3], sourceMac[4], sourceMac[5]); + + //Extract the Destination MAC address + unsigned char *destinationMacAddress = buffer; + // Print the source MAC address + printf("Destination MAC Address: %02x:%02x:%02x:%02x:%02x:%02x\n", + destinationMacAddress[0], destinationMacAddress[1], destinationMacAddress[2], + destinationMacAddress[3], destinationMacAddress[4], destinationMacAddress[5]); + + // Send packet to port2 + if (sendto(rawSocket2, buffer, length, 0, (struct sockaddr *)&sockAddr, sizeof(struct sockaddr_ll)) == -1) { + perror("Failed to send packet on port tx"); + close(rawSocket2); + exit(1); + } + } + } + pthread_exit(NULL); +} + +int main() { + int rawSocket1, rawSocket2; + struct sockaddr_ll sock_addr1, sock_addr2; + struct ifreq interface1, interface2; + pthread_t thread1, thread2; + + struct ThreadArgs threadArgs1; + struct ThreadArgs threadArgs2; + + // Create raw socket + rawSocket1 = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); + if (rawSocket1 == -1) { + perror("Failed to create raw Socket_fd1"); + exit(1); + } + + rawSocket2 = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); + if (rawSocket2 == -1) { + perror("Failed to create raw Socket_fd2"); + exit(1); + } + + // Connect to interface 1 + strncpy(interface1.ifr_name, "net1", IFNAMSIZ); + if (ioctl(rawSocket1, SIOCGIFINDEX, &interface1) == -1) { + perror("Failed to get interface index tap 1"); + close(rawSocket1); + exit(1); + } + // Connect to interface 2 + strncpy(interface2.ifr_name, "net2", IFNAMSIZ); + if (ioctl(rawSocket2, SIOCGIFINDEX, &interface2) == -1) { + perror("Failed to get interface index"); + close(rawSocket2); + exit(1); + } + // Bind socket to interface 1 + memset(&sock_addr1, 0, sizeof(struct sockaddr_ll)); + sock_addr1.sll_family = AF_PACKET; + sock_addr1.sll_protocol = htons(ETH_P_ALL); + sock_addr1.sll_ifindex = interface1.ifr_ifindex; + if (bind(rawSocket1, (struct sockaddr *)&sock_addr1, sizeof(struct sockaddr_ll)) == -1) { + perror("Failed to bind raw socket to interface"); + close(rawSocket1); + exit(1); + } + printf("the value of sock_addr1 is %u", sock_addr1); + + + // Bind socket to interface 2 + memset(&sock_addr2, 0, sizeof(struct sockaddr_ll)); + sock_addr2.sll_family = AF_PACKET; + sock_addr2.sll_protocol = htons(ETH_P_ALL); + sock_addr2.sll_ifindex = interface2.ifr_ifindex; + static int i = 0; + if (bind(rawSocket2, (struct sockaddr *)&sock_addr2, sizeof(struct sockaddr_ll)) == -1) { + perror("Failed to bind raw socket to interface"); + close(rawSocket2); + exit(1); + } + + printf("the value of sock_addr2 is %u", sock_addr2); + + threadArgs1.rawSocket1 = rawSocket1; + threadArgs1.rawSocket2 = rawSocket2; + threadArgs1.sockAddr = sock_addr2; + threadArgs1.threadID = 1; + + threadArgs2.rawSocket1 = rawSocket2; + threadArgs2.rawSocket2 = rawSocket1; + threadArgs2.sockAddr = sock_addr1; + threadArgs2.threadID = 2; + + pthread_create(&thread1, NULL, socketThread, &threadArgs1); + pthread_create(&thread2, NULL, socketThread, &threadArgs2); + // Wait for the threads to finish + pthread_join(thread1, NULL); + pthread_join(thread2, NULL); + // Close socket + close(rawSocket1); + close(rawSocket2); + return 0; +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/p4sdk/Makefile b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/Makefile new file mode 100644 index 000000000..7ad71fd62 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/Makefile @@ -0,0 +1,48 @@ +# Copyright (c) 2023 Intel Corporation + +.PHONY: all fmt check-fmt vet build ipuplugin test update-mod ipuplugin-amd64 ipuplugin-arm64 +APP_NAME = ipu-p4-sdk +P4_NAME ?= fxp-net_linux-networking +P4_DIR ?= fxp-net_linux-networking +VERSION ?= 0.0.0 +IMAGE_NAME = intel-$(APP_NAME) +ifneq (, $(IMAGE_REGISTRY)) +IMAGE_TAG_BASE = $(IMAGE_REGISTRY)/$(IMAGE_NAME) +else +IMAGE_TAG_BASE = $(IMAGE_NAME) +endif +IMAGE_TAG_LATEST?=$(IMAGE_TAG_BASE):latest +IMAGE_TAG_VERSION=$(IMAGE_TAG_BASE):$(VERSION) +IMGTOOL ?= docker + +DOCKERFILE?=$(CURDIR)/images/Dockerfile +DOCKERARGS= +ifdef HTTP_PROXY + DOCKERARGS += --build-arg http_proxy=$(HTTP_PROXY) +endif +ifdef HTTPS_PROXY + DOCKERARGS += --build-arg https_proxy=$(HTTPS_PROXY) +endif +DOCKERARGS += --build-arg P4_NAME=$(P4_NAME) + +all: image + +image: + # Copy p4 files from parent dir first + mkdir -p $(CURDIR)/p4 + cp -r ../e2e/artefacts/$(P4_DIR)/* $(CURDIR)/p4 + # $(IMGTOOL) build -t $(IMAGE_TAG_VERSION) -f $(DOCKERFILE) $(CURDIR) $(DOCKERARGS) + $(IMGTOOL) build -t $(IMAGE_TAG_VERSION) -t $(IMAGE_TAG_LATEST) -f $(DOCKERFILE) $(CURDIR) $(DOCKERARGS) + rm -rf p4 + +PLATFORMS ?= linux/arm64,linux/amd64 +# https://stackoverflow.com/questions/73210141/running-buildkit-using-docker-buildx-behind-a-proxy +# docker buildx create --use --driver-opt env.http_proxy=$(HTTP_PROXY) --driver-opt env.https_proxy=$(HTTPS_PROXY) --driver-opt env.no_proxy=$(NO_PROXY) +imagex: ## Build and push docker image for the manager for cross-platform support + # copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile + sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{TARGETPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{TARGETPLATFORM\}/' $(DOCKERFILE) > $(DOCKERFILE).cross + - $(IMGTOOL) buildx create --name image-builder-p4 --use --config=buildkit.toml --buildkitd-flags '--allow-insecure-entitlement security.insecure' --driver-opt env.http_proxy=$(HTTP_PROXY) --driver-opt env.https_proxy=$(HTTPS_PROXY) --driver-opt '"env.no_proxy='$(NO_PROXY)'"' + $(IMGTOOL) buildx use image-builder-p4 + - $(IMGTOOL) buildx build --allow security.insecure --push --platform=$(PLATFORMS) --tag ${IMAGE_TAG_VERSION} -f $(DOCKERFILE).cross $(CURDIR) $(DOCKERARGS) + - $(IMGTOOL) buildx rm image-builder-p4 + rm $(DOCKERFILE).cross diff --git a/vendor/github.com/intel/ipu-opi-plugins/p4sdk/README.md b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/README.md new file mode 100644 index 000000000..354108268 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/README.md @@ -0,0 +1,77 @@ +# Intel IPU P4 SDK + +Download IPU SDK source code from: https://cdrdv2.intel.com/v1/dl/getContent/812084/812081?filename=intel-ipu-sdk-source-code-1.2.0.7550.tar.gz + +Plase note you will require Intel RDC access to download this file. + +## Pre-requisites +- Docker + +## Initialize Emulation Support + +``` +docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -c yes + +``` + +### Extract IPU SDK source code +``` +cp intel-ipu-sdk-source-code-1.2.0.7550.tar.gz /tmp +cd /tmp +tar zxvf intel-ipu-sdk-source-code-1.2.0.7550.tar.gz +cd Intel_IPU_SDK-7550 +``` + +### Build ACC workbench +This can take couple of hours to build. + +``` +nohup ./scripts/workbench/build_workbench.sh -t acc > acc_workbench.log 2>&1 & +``` +You can watch the logs from: +``` +tail -f acc_workbench.log +``` + +### Build ACC P4 artifacts + +Modify `build_all.sh` script to only select ACC core base apps. + +``` +sed -i 's/\(^.*setup \&\& \\\)/#\1/' build_all.sh +sed -i 's/\(^.*build_pkg_base \&\& \\\)/#\1/' build_all.sh +sed -i 's/\(^.*build_plat_base \&\& \\\)/#\1/' build_all.sh +sed -i 's/\(^.*build_plat_deploy \&\& \\\)/#\1/' build_all.sh +sed -i 's/\(^.*build_plat_signed \&\& \\\)/#\1/' build_all.sh +sed -i 's/\(^.*build_flash \&\& \\\)/#\1/' build_all.sh +sed -i 's/\(^.*build_core_base \&\& \\\)/#\1/' build_all.sh +sed -i 's/\(^.*build_core_deploy\) \(\&\& \\\)/\1/' build_all.sh +sed -i 's/\(^.*build_ssd\)/#\1/' build_all.sh +``` + +After modifying the `build_all.sh` run the script to complete the build. This can take long time as well. +``` +chmod +x ./build_all.sh +./build_all.sh +``` + +### Build IPU SDK reference applications in container image +Once the build is complete you can copy the `p4.tar.gz` into this directory and build contianer image with it. + +``` +git clone https://github.com/intel/ipu-opi-plugins.git +cd ipu-opi-plugins/p4sdk +cp /tmp/Intel_IPU_SDK-7550/build/hw/rootfs_acc_runtime/opt/p4.tar.gz . +make image +``` + + +### To run a container with the P4 artifacts + + +``` +podman run -d --privileged -v /lib/modules/5.14.0-427.13.1.el9_4.aarch64:/lib/modules/5.14.0-427.13.1.el9_4.aarch64 -v /sys:/sys -p 9559:9559 localhost/intel-ipu-p4-sdk:latest + +``` + +**Note**: The host modules are shared because the vfio module is not available in the container. diff --git a/vendor/github.com/intel/ipu-opi-plugins/p4sdk/buildkit.toml b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/buildkit.toml new file mode 100644 index 000000000..4226e840f --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/buildkit.toml @@ -0,0 +1,2 @@ +[registry."localhost:5000"] + http = true diff --git a/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/Dockerfile b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/Dockerfile new file mode 100644 index 000000000..fd660fb5c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/Dockerfile @@ -0,0 +1,44 @@ + +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2024 Intel Corporation + +FROM registry.access.redhat.com/ubi9/ubi:9.3-1610 + +ARG P4_NAME +ENV P4_NAME $P4_NAME + +ARG TARGETOS +ARG TARGETARCH +ENV ARCHSUFFIX="aarch64" + +COPY . /src +WORKDIR /src +RUN mkdir -pv /opt/ && tar -zxvf p4.tar.gz -C /opt/ && rm -f p4.tar.gz + +COPY p4 /opt/p4/${P4_NAME} +COPY images/entrypoint.sh / +COPY images/es2k_skip_p4.conf.template / +RUN dnf -y install kmod-28-10.el9 \ + gettext-0.21-8.el9 \ + python3-pip-21.3.1-1.el9 \ + pciutils-3.7.0-5.el9 \ + libnl3-3.9.0-1.el9 \ + libedit-3.1-38.20210216cvs.el9 \ + net-tools-2.0-0.64.20160912git.el9 \ + libatomic-11.5.0-2.el9 \ + iputils-20210202-9.el9 \ + && dnf clean all + +RUN if [ "$TARGETARCH" = "amd64" ]; then export ARCHSUFFIX="x86_64"; \ + else export ARCHSUFFIX="aarch64"; fi; \ + curl -L -o libconfig-1.7.2-9.el9.$ARCHSUFFIX.rpm \ + https://mirror.stream.centos.org/9-stream/BaseOS/$ARCHSUFFIX/os/Packages/libconfig-1.7.2-9.el9.$ARCHSUFFIX.rpm \ + && dnf -y install libconfig-1.7.2-9.el9.$ARCHSUFFIX.rpm && rm -f libconfig-1.7.2-9.el9.$ARCHSUFFIX.rpm && dnf clean all + +RUN python3 -m pip install --no-cache-dir \ + netaddr==1.2.1 \ + /opt/p4/p4-cp-nws/share/stratum/p4runtime/p4runtime-2024.8.0-py3-none-any.whl + +WORKDIR / + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/entrypoint.sh b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/entrypoint.sh new file mode 100755 index 000000000..3bc9e95e3 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/entrypoint.sh @@ -0,0 +1,105 @@ +#!/bin/sh + +# Copyright 2024 Intel Corp. All Rights Reserved. + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +set -ex + +export SDE_INSTALL=/opt/p4/p4sde +export P4CP_INSTALL=/opt/p4/p4-cp-nws +export DEPEND_INSTALL=$P4CP_INSTALL +export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python + +# Allow set_br_pipe on a separate process so that we can sleep 30s for infrap4d to come up +func_set_br_pipe(){ + # Wait for 45s + sleep 45 + # Set the Forwarding pipeline + $P4CP_INSTALL/bin/p4rt-ctl set-pipe br0 "/opt/p4/$P4_NAME/$P4_NAME.pb.bin" "/opt/p4/$P4_NAME/$P4_NAME.p4info.txt" +} + +func_start_ovs() { + mkdir -p /opt/p4/p4-cp-nws/var/run/openvswitch + mkdir -p /opt/p4/p4-cp-nws/etc/openvswitch + mkdir -p /opt/p4/p4-cp-nws/share/openvswitch + rm -rf /opt/p4/p4-cp-nws/etc/openvswitch/conf.db + export PATH="$PATH:$P4CP_INSTALL/bin:$P4CP_INSTALL/sbin:" + ovsdb-tool create $P4CP_INSTALL/etc/openvswitch/conf.db $P4CP_INSTALL/share/openvswitch/vswitch.ovsschema + ovsdb-server --remote=punix:$P4CP_INSTALL/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach + ovs-vswitchd --pidfile --detach --log-file=/var/log/ovs-vswitchd.log +} + +LOGFILE=/var/log/entrypoint.log; +mkdir -p /var/log + + +CPF_INFO_FILE=cpf_info_file.txt +CONF_DIR=/usr/share/stratum/es2k +CONF_FILE=es2k_skip_p4.conf +$SDE_INSTALL/bin/vfio_bind.sh 8086:1453 | tail -n 1 > $CPF_INFO_FILE +cat $CPF_INFO_FILE +IOMMU_GROUP=$(awk '{print $5}' $CPF_INFO_FILE) +CPF_BDF=$(awk '{print $2}' $CPF_INFO_FILE) +export IOMMU_GROUP +export CPF_BDF +# Note that P4_NAME is also envsubst along with above +# which comes from the Dockerfile + +#We exclude interfaces D0 to D3. CTRL_MAP will +#include interfaces D4 to D15, that can be added as +#port representors on bridge(in ACC). +IDPF_VF_VPORT0=4 ; CTRL_MAP="" ; \ +idpf_ports=$(realpath /sys/class/net/*/dev_port | grep "$(lspci -nnkd "8086:1452" | awk "NR==1{print \$1}")") ; \ +for port in ${idpf_ports} ; do + [ "$(head "$port")" -ge "${IDPF_VF_VPORT0}" ] && netpath="$(dirname "$port")" && \ + IDPF_VPORT_MAC="$(head "$netpath"/address)" && \ + set -- "\"$IDPF_VPORT_MAC\"" && \ + IDPF_VPORT_MAC="$*" && \ + CTRL_MAP=${CTRL_MAP}${IDPF_VPORT_MAC}, > $LOGFILE 2>&1 ; +done; + +ACC_PR_CTRL_MAP="$CTRL_MAP" +echo "ctrl_map : [\"NETDEV\",${ACC_PR_CTRL_MAP}1]" +export ACC_PR_CTRL_MAP + +mkdir -p $CONF_DIR +envsubst < $CONF_FILE.template > $CONF_DIR/$CONF_FILE + +touch "/opt/p4/$P4_NAME/tofino.bin" +$P4CP_INSTALL/bin/tdi_pipeline_builder \ + --p4c_conf_file=/usr/share/stratum/es2k/es2k_skip_p4.conf \ + --tdi_pipeline_config_binary_file="/opt/p4/$P4_NAME/$P4_NAME.pb.bin" + +# Set hugepages +mkdir -p /dev/hugepages +mount -t hugetlbfs -o pagesize=2M none /dev/hugepages || true +echo 512 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages + +# Copy files required by infrap4d +mkdir -p /usr/share/target_sys/ +cp /opt/p4/p4sde/share/target_sys/zlog-cfg /usr/share/target_sys/zlog-cfg +mkdir -p /usr/share/stratum/es2k/ +cp /opt/p4/p4-cp-nws/share/stratum/es2k/es2k_port_config.pb.txt /usr/share/stratum/es2k/es2k_port_config.pb.txt +# Create logging directory used by infrap4d +mkdir -p /var/log/stratum +touch /dev/mem +# sleep 5 secs +sleep 5 + +# Start set pipe in the background +func_set_br_pipe & +# Start ovs switchd and ovs db +func_start_ovs +# Start Infrap4d +/opt/p4/p4-cp-nws/sbin/infrap4d -grpc_open_insecure_mode=true -nodetach -disable_krnlmon=true diff --git a/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/es2k_skip_p4.conf.template b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/es2k_skip_p4.conf.template new file mode 100644 index 000000000..2de328a51 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/p4sdk/images/es2k_skip_p4.conf.template @@ -0,0 +1,42 @@ +{ + "chip_list": [ + { + "id": "asic-0", + "chip_family": "mev", + "instance": 0, + "pcie_bdf": "$CPF_BDF", + "iommu_grp_num": $IOMMU_GROUP, + "ctrl_map" : ["NETDEV",${ACC_PR_CTRL_MAP}1] + } + ], + "instance": 0, + "cfgqs-idx": "0-15", + "p4_devices": [ + { + "device-id": 0, + "fixed_functions" : [], + "eal-args": "--lcores=1-2 -a $CPF_BDF,vport=[0-1] -- -i --rxq=1 --txq=1 --hairpinq=1 --hairpin-mode=0x0", + "p4_programs": [ + { + "program-name": "$P4_NAME", + "tdi-config": "/opt/p4/$P4_NAME/$P4_NAME.tdi.json", + "p4_pipelines": [ + { + "p4_pipeline_name": "main", + "context": "/opt/p4/$P4_NAME/$P4_NAME.context.json", + "config": "/opt/p4/$P4_NAME/tofino.bin", + "pipe_scope": [ + 0, + 1, + 2, + 3 + ], + "path": "/opt/p4/$P4_NAME" + } + ] + } + ], + "agent0": "lib/libpltfm_mgr.so" + } + ] +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/CONTRIBUTING.md b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/CONTRIBUTING.md new file mode 100644 index 000000000..399148318 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/CONTRIBUTING.md @@ -0,0 +1,96 @@ +# SRIOV CNI + +* [Meetings](#meetings) +* [How to Contribute](#contributing-code) +* [Coding Style](#coding-style) +* [Format of the patch](#format-of-the-patch) +* [Contributing Code](#contributing-code) +* [Tools](#Tools) + +## Meetings +Join us for project discussios at _K8s Network & Resource management_ meetings. +The meetings take place on a weekly basis on Monday and Tuesday in alternating weeks: + +* Time: 15:00 - 16:00 GMT / 10:00-11:00 ET / 07:00-08:00 PST every other Monday +* Time: 14:00 - 15:00 GMT / 09:00-10:00 ET / 06:00-07:00 PST on every other Tuesday + + +* [Meeting notes and agenda](https://docs.google.com/document/d/1sJQMHbxZdeYJPgAWK1aSt6yzZ4K_8es7woVIrwinVwI/edit?usp=sharing) +* [Zoom channel](https://zoom.us/j/2392609689?pwd=K1R4ZEQyWWJVSGV3V1pmVThLMlhqQT09) + +## How to Contribute + +SRIOV CNI is [Apache 2.0 licensed](LICENSE) and accepts contributions via GitHub pull requests. +This document outlines some of the conventions on development workflow, commit message formatting, +contact points and other resources to make it easier to get your contribution accepted. + +## Coding Style + +Please follows the standard formatting recommendations and language idioms set out in [Effective Go](https://golang.org/doc/effective_go.html) and in the [Go Code Review Comments wiki](https://github.com/golang/go/wiki/CodeReviewComments). + +## Format of the patch + +Each patch is expected to comply with the following format: + +``` +Change summary + +More detailed explanation of your changes: Why and how. +Wrap it to 72 characters. +See [here] (http://chris.beams.io/posts/git-commit/) +for some more good advices. + +[Fixes #NUMBER (or URL to the issue)] +``` + +For example: + +``` +Fix poorly named identifiers + +One identifier, fnname, in func.go was poorly named. It has been renamed +to fnName. Another identifier retval was not needed and has been removed +entirely. + +Fixes #1 +``` + +## Contributing Code + +We always encourage the contribution for the community project. We like to collaborate with various stake holder on this project. We ask developer to keep following guidelines in mind before the contribution. + +* Make sure to create an [Issue](https://github.com/k8snetworkplumbingwg/sriov-cni/issues) for bug fix or the feature request. +Issues are discussed on a regular basis at _K8s Network & Resource management_ meetings. +* **For bugs**: For the bug fixes, please follow the issue template format while creating a issue. If you have already found a fix, feel free to submit a Pull Request referencing the Issue you created. Include the `Fixes #` syntax to link it to the issue you're addressing. +* **For feature requests**, For the feature requests, please follow the issue template format while creating a feature requests. We want to improve upon SRIOV CNI incrementally which means small changes or features at a time. + * Please make sure each PR are compiling or passed by Travis. + * In order to ensure your PR can be reviewed in a timely manner, please keep PRs small + +Once you're ready to contribute code back to this repo, start with these steps: +* Fork the appropriate sub-projects that are affected by your change. +* Clone the fork to your machine: + +``` +$ git clone https://github.com/k8snetworkplumbingwg/sriov-cni.git +``` + +* Create a topic branch with prefix `dev/` for your change and checkout that branch: + +``` +$ git checkout -b dev/some-topic-branch +``` +* Make your changes to the code and add tests to cover contributed code. +* Run `make build` to build the project. +* Run `make test` to ensure unit tests are passing and current functionality is not broken. +* Commit your changes and push them to your fork. +* Open a pull request for the appropriate project. +* Contributors will review your pull request, suggest changes, run tests and eventually merge or close the request. + +> We encourage contributor to test SRIOV CNI with various NICs to check the compatibility. +> `cnitool` is a great way to test changes to sriov CNI in isolation. +> More information on cnitool can be found [here](https://github.com/containernetworking/cni/tree/master/cnitool) + +## Tools +The project uses the Slack chat: +- Slack: #[Intel-SDSG-slack](https://intel-corp.herokuapp.com/) channel on slack +- Please contact contributors for issues and PR reviews. diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Developer.md b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Developer.md new file mode 100644 index 000000000..f22854617 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Developer.md @@ -0,0 +1,23 @@ +# Developer Readme + +* [Using Mockery](#using-mockery) + +## Using Mockery + +Mockery (https://github.com/vektra/mockery) is used to auto-generate mock files for golang interfaces. The advantage of using Mockery is that there will be no need to manually write boilerplate code for mocking interfaces. + +Reading the readme file in Mockery is recommended to understand how to get started with Mockery. + +For each package, there may be a "mocks" folder with mock files generated by Mockery. To generate the mock for a particular interface the following command format should be used at the root project directory: + +``` +docker run -v "$PWD":/src -w /src vektra/mockery --recursive=true --name= --output=./pkg//mocks/ --filename=_mock.go --exported +``` + +An example for mocking the "pciUtils" interface in the "sriov" package is as follows: + +``` +docker run -v "$PWD":/src -w /src vektra/mockery --recursive=true --name=pciUtils --output=./pkg/sriov/mocks/ --filename=pci_utils_mock.go --exported +``` + +This will create the "mocks" directory if not present and will auto-generate the mock file "pci_utils_mock.go" for the "pciUtils" interface. diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile new file mode 100644 index 000000000..c03dd1c65 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile @@ -0,0 +1,21 @@ +FROM golang:alpine@sha256:cdc86d9f363e8786845bea2040312b4efa321b828acdeb26f393faa864d887b0 as builder + +COPY . /usr/src/sriov-cni + +ENV HTTP_PROXY $http_proxy +ENV HTTPS_PROXY $https_proxy + +WORKDIR /usr/src/sriov-cni +RUN apk add --no-cache --virtual build-dependencies build-base=~0.5 && \ + make clean && \ + make build + +FROM alpine:3@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b +COPY --from=builder /usr/src/sriov-cni/build/sriov /usr/bin/ +WORKDIR / + +LABEL io.k8s.display-name="SR-IOV CNI" + +COPY ./images/entrypoint.sh / + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile.arm64 b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile.arm64 new file mode 100644 index 000000000..a171b83df --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile.arm64 @@ -0,0 +1,21 @@ +FROM arm64v8/golang:alpine@sha256:91b81b4e3a039fe3f6a9f717784bf1197001adf412f6b1a9213b11d7977fe58b as builder + +COPY . /usr/src/sriov-cni + +ENV HTTP_PROXY $http_proxy +ENV HTTPS_PROXY $https_proxy + +WORKDIR /usr/src/sriov-cni +RUN apk add --no-cache --virtual build-dependencies build-base=~0.5 && \ + make clean && \ + make build + +FROM arm64v8/alpine@sha256:a0264d60f80df12bc1e6dd98bae6c43debe6667c0ba482711f0d806493467a46 +COPY --from=builder /usr/src/sriov-cni/build/sriov /usr/bin/ +WORKDIR / + +LABEL io.k8s.display-name="SR-IOV CNI" + +COPY ./images/entrypoint.sh / + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile.ppc64le b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile.ppc64le new file mode 100644 index 000000000..e75f47667 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Dockerfile.ppc64le @@ -0,0 +1,21 @@ +FROM ppc64le/golang:alpine@sha256:a879e36d234fc7ce698dfab6de809e55a8f974fb07cbc9e4eb6d0ec0027c91de as builder + +COPY . /usr/src/sriov-cni + +ENV HTTP_PROXY $http_proxy +ENV HTTPS_PROXY $https_proxy + +WORKDIR /usr/src/sriov-cni +RUN apk add --no-cache --virtual build-dependencies build-base=~0.5 && \ + make clean && \ + make build + +FROM ppc64le/alpine@sha256:b12b826de1ec8c4237aa09a0287e7be8bd317586f32bf6cd9395ec5dba52a3a2 +COPY --from=builder /usr/src/sriov-cni/build/sriov /usr/bin/ +WORKDIR / + +LABEL io.k8s.display-name="SR-IOV CNI" + +COPY ./images/entrypoint.sh / + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/LICENSE b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/LICENSE new file mode 100644 index 000000000..8f71f43fe --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Makefile b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Makefile new file mode 100644 index 000000000..73a27a024 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/Makefile @@ -0,0 +1,162 @@ +# +# Credit: +# This makefile was adapted from: https://github.com/vincentbernat/hellogopher/blob/feature/glide/Makefile +# +# Package related +BINARY_NAME=sriov +PACKAGE=sriov-cni +ORG_PATH=github.com/k8snetworkplumbingwg +REPO_PATH=$(ORG_PATH)/$(PACKAGE) +GOPATH=$(CURDIR)/.gopath +GOBIN=$(CURDIR)/bin +BUILDDIR=$(CURDIR)/build +BASE=$(GOPATH)/src/$(REPO_PATH) +GOFILES = $(shell find . -name *.go | grep -vE "(\/vendor\/)|(_test.go)") +PKGS = $(or $(PKG),$(shell cd $(BASE) && env GOPATH=$(GOPATH) $(GO) list ./... | grep -v "^$(PACKAGE)/vendor/")) +TESTPKGS = $(shell env GOPATH=$(GOPATH) $(GO) list -f '{{ if or .TestGoFiles .XTestGoFiles }}{{ .ImportPath }}{{ end }}' $(PKGS)) +IMAGE_BUILDER ?= docker + +export GOPATH +export GOBIN +export GO111MODULE=on +# Docker +IMAGEDIR=$(BASE)/images +DOCKERFILE=$(CURDIR)/Dockerfile +TAG=ghcr.io/k8snetworkplumbingwg/sriov-cni +# Accept proxy settings for docker +DOCKERARGS= +ifdef HTTP_PROXY + DOCKERARGS += --build-arg http_proxy=$(HTTP_PROXY) +endif +ifdef HTTPS_PROXY + DOCKERARGS += --build-arg https_proxy=$(HTTPS_PROXY) +endif + +# Go tools +GO = go +GOFMT = gofmt +TIMEOUT = 15 +V ?= 0 +Q = $(if $(filter 1,$V),,@) + +.PHONY: all +all: fmt lint build + +$(BASE): ; $(info Setting GOPATH...) + @mkdir -p $(dir $@) + @ln -sf $(CURDIR) $@ + +$(GOBIN): + @mkdir -p $@ + +$(BUILDDIR): | $(BASE) ; $(info Creating build directory...) + @cd $(BASE) && mkdir -p $@ + +build: $(BUILDDIR)/$(BINARY_NAME) ; $(info Building $(BINARY_NAME)...) @ ## Build SR-IOV CNI plugin + $(info Done!) + +$(BUILDDIR)/$(BINARY_NAME): $(GOFILES) | $(BUILDDIR) + @cd $(BASE)/cmd/$(BINARY_NAME) && CGO_ENABLED=0 $(GO) build -o $(BUILDDIR)/$(BINARY_NAME) -tags no_openssl -v + + +# Tools + +GOLANGCILINT = $(GOBIN)/golangci-lint +$(GOLANGCILINT): | $(BASE) ; $(info Installing golangci-lint...) + $Q go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.52.2 + +GOCOVMERGE = $(GOBIN)/gocovmerge +$(GOCOVMERGE): | $(BASE) ; $(info Building gocovmerge...) + $Q go install github.com/wadey/gocovmerge@latest + +GOCOV = $(GOBIN)/gocov +$(GOCOV): | $(BASE) ; $(info Building gocov...) + $Q go install github.com/axw/gocov/gocov@v1.1.0 + +GOCOVXML = $(GOBIN)/gocov-xml +$(GOCOVXML): | $(BASE) ; $(info Building gocov-xml...) + $Q go install github.com/AlekSi/gocov-xml@latest + +GCOV2LCOV = $(GOBIN)/gcov2lcov +$(GCOV2LCOV): | $(BASE) ; $(info building gcov2lcov...) + $Q go install github.com/jandelgado/gcov2lcov@latest + +GO2XUNIT = $(GOBIN)/go2xunit +$(GO2XUNIT): | $(BASE) ; $(info Building go2xunit...) + $Q go install github.com/tebeka/go2xunit@latest + + +# Tests + +TEST_TARGETS := test-default test-bench test-short test-verbose test-race +.PHONY: $(TEST_TARGETS) test-xml check test tests +test-bench: ARGS=-run=__absolutelynothing__ -bench=. ## Run benchmarks +test-short: ARGS=-short ## Run only short tests +test-verbose: ARGS=-v ## Run tests in verbose mode with coverage reporting +test-race: ARGS=-race ## Run tests with race detector +$(TEST_TARGETS): NAME=$(MAKECMDGOALS:test-%=%) +$(TEST_TARGETS): test +check test tests: fmt lint | $(BASE) ; $(info Running $(NAME:%=% )tests...) @ ## Run tests + $Q cd $(BASE) && $(GO) test -timeout $(TIMEOUT)s $(ARGS) $(TESTPKGS) + +test-xml: fmt lint | $(BASE) $(GO2XUNIT) ; $(info Running $(NAME:%=% )tests...) @ ## Run tests with xUnit output + $Q cd $(BASE) && 2>&1 $(GO) test -timeout 20s -v $(TESTPKGS) | tee test/tests.output + $(GO2XUNIT) -fail -input test/tests.output -output test/tests.xml + +COVERAGE_DIR = $(CURDIR)/test/coverage +COVERAGE_MODE = atomic +COVERAGE_PROFILE = $(COVERAGE_DIR)/profile.out +COVERAGE_XML = $(COVERAGE_DIR)/coverage.xml +COVERAGE_HTML = $(COVERAGE_DIR)/index.html +.PHONY: test-coverage test-coverage-tools +test-coverage-tools: | $(GOCOVMERGE) $(GOCOV) $(GOCOVXML) $(GCOV2LCOV) +test-coverage: fmt test-coverage-tools | $(BASE) ; $(info Running coverage tests...) @ ## Run coverage tests + $Q mkdir -p $(COVERAGE_DIR)/pkgs + $Q cd $(BASE) && for pkg in $(TESTPKGS); do \ + $(GO) test \ + -coverpkg=$(REPO_PATH)/... \ + -covermode=$(COVERAGE_MODE) \ + -coverprofile="$(COVERAGE_DIR)/pkgs/`echo $$pkg | tr "/" "-"`.cover" $$pkg ;\ + done + $Q $(GOCOVMERGE) $(COVERAGE_DIR)/pkgs/*.cover > $(COVERAGE_PROFILE) + $Q $(GO) tool cover -html=$(COVERAGE_PROFILE) -o $(COVERAGE_HTML) + $Q $(GOCOV) convert $(COVERAGE_PROFILE) | $(GOCOVXML) > $(COVERAGE_XML) + $Q $(GCOV2LCOV) -infile $(COVERAGE_PROFILE) -outfile $(COVERAGE_DIR)/lcov.info + +.PHONY: lint +lint: | $(BASE) $(GOLANGCILINT) ; $(info Running golangci-lint...) @ ## Run golint on all source files + $Q $(GOLANGCILINT) run ./... + +.PHONY: fmt +fmt: ; $(info Running gofmt...) @ ## Run gofmt on all source files + @ret=0 && for d in $$($(GO) list -f '{{.Dir}}' ./... | grep -v /vendor/); do \ + $(GOFMT) -l -w $$d/*.go || ret=$$? ; \ + done ; exit $$ret + +# Docker image +# To pass proxy for Docker invoke it as 'make image HTTP_POXY=http://192.168.0.1:8080' +.PHONY: image +image: | $(BASE) ; $(info Building Docker image...) @ ## Build SR-IOV CNI docker image + @$(IMAGE_BUILDER) build -t $(TAG) -f $(DOCKERFILE) $(CURDIR) $(DOCKERARGS) + +test-image: image + $Q $(BASE)/images/image_test.sh $(IMAGE_BUILDER) $(TAG) + +# Misc + +.PHONY: deps-update +deps-update: ; $(info Updating dependencies...) @ ## Update dependencies + @go mod tidy && go mod vendor + +.PHONY: clean +clean: | $(BASE) ; $(info Cleaning...) @ ## Cleanup everything + @cd $(BASE) && $(GO) clean --modcache --cache --testcache + @rm -rf $(GOPATH) + @rm -rf $(BUILDDIR) + @rm -rf $(GOBIN) + @rm -rf test/ + +.PHONY: help +help: ; @ ## Display this help message + @grep -E '^[ a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ + awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}' diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/README.md b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/README.md new file mode 100644 index 000000000..6e8429500 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/README.md @@ -0,0 +1,153 @@ +[![Build Status](https://travis-ci.org/k8snetworkplumbingwg/sriov-cni.svg?branch=master)](https://travis-ci.org/k8snetworkplumbingwg/sriov-cni) [![Go Report Card](https://goreportcard.com/badge/github.com/k8snetworkplumbingwg/sriov-cni)](https://goreportcard.com/report/github.com/k8snetworkplumbingwg/sriov-cni) [![Weekly minutes](https://img.shields.io/badge/Weekly%20Meeting%20Minutes-Mon%203pm%20GMT-blue.svg?style=plastic)](https://docs.google.com/document/d/1sJQMHbxZdeYJPgAWK1aSt6yzZ4K_8es7woVIrwinVwI) [![Coverage Status](https://coveralls.io/repos/github/k8snetworkplumbingwg/sriov-cni/badge.svg?branch=master)](https://coveralls.io/github/k8snetworkplumbingwg/sriov-cni?branch=master) + + * [SR-IOV CNI plugin](#sr-iov-cni-plugin) + * [Build](#build) + * [Kubernetes Quick Start](#kubernetes-quick-start) + * [Usage](#usage) + * [Basic configuration parameters](#basic-configuration-parameters) + * [Example configurations](#example-configurations) + * [Kernel driver config](#kernel-driver-config) + * [Advanced kernel driver config](#advanced-kernel-driver-config) + * [DPDK userspace driver config](#dpdk-userspace-driver-config) + * [Advanced configuration](#advanced-configuration) + * [Contributing](#contributing) + +# SR-IOV CNI plugin +This plugin enables the configuration and usage of SR-IOV VF networks in containers and orchestrators like Kubernetes. + +Network Interface Cards (NICs) with [SR-IOV](http://blog.scottlowe.org/2009/12/02/what-is-sr-iov/) capabilities are managed through physical functions (PFs) and virtual functions (VFs). A PF is used by the host and usually represents a single NIC port. VF configurations are applied through the PF. With SR-IOV CNI each VF can be treated as a separate network interface, assigned to a container, and configured with it's own MAC, VLAN, IP and more. + +SR-IOV CNI plugin works with [SR-IOV device plugin](https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin) for VF allocation in Kubernetes. A metaplugin such as [Multus](https://github.com/intel/multus-cni) gets the allocated VF's `deviceID`(PCI address) and is responsible for invoking the SR-IOV CNI plugin with that `deviceID`. + +## Build + +This plugin uses Go modules for dependency management and requires Go 1.17+ to build. + +To build the plugin binary: + +`` +make +`` + +Upon successful build the plugin binary will be available in `build/sriov`. + +## Kubernetes Quick Start +A full guide on orchestrating SR-IOV virtual functions in Kubernetes can be found at the [SR-IOV Device Plugin project.](https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin#quick-start) + +Creating VFs is outside the scope of the SR-IOV CNI plugin. [More information about allocating VFs on different NICs can be found here](https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin/blob/master/docs/vf-setup.md) + +To deploy SR-IOV CNI by itself on a Kubernetes 1.16+ cluster: + +`kubectl apply -f images/sriov-cni-daemonset.yaml` + +**Note** The above deployment is not sufficient to manage and configure SR-IOV virtual functions. [See the full orchestration guide for more information.](https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin#sr-iov-network-device-plugin) + + +## Usage +SR-IOV CNI networks are commonly configured using Multus and SR-IOV Device Plugin using Network Attachment Definitions. More information about configuring Kubernetes networks using this pattern can be found in the [Multus configuration reference document.](https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/configuration.md) + +A Network Attachment Definition for SR-IOV CNI takes the form: + +``` +apiVersion: "k8s.cni.cncf.io/v1" +kind: NetworkAttachmentDefinition +metadata: + name: sriov-net1 + annotations: + k8s.v1.cni.cncf.io/resourceName: intel.com/intel_sriov_netdevice +spec: + config: '{ + "type": "sriov", + "cniVersion": "0.3.1", + "name": "sriov-network", + "ipam": { + "type": "host-local", + "subnet": "10.56.217.0/24", + "routes": [{ + "dst": "0.0.0.0/0" + }], + "gateway": "10.56.217.1" + } +}' +``` + +The `.spec.config` field contains the configuration information used by the SR-IOV CNI. + +### Basic configuration parameters + +The following parameters are generic parameters which are not specific to the SR-IOV CNI configuration, though (with the exception of ipam) they need to be included in the config. + +* `cniVersion` : the version of the CNI spec used. +* `type` : CNI plugin used. "sriov" corresponds to SR-IOV CNI. +* `name` : the name of the network created. +* `ipam` (optional) : the configuration of the IP Address Management plugin. Required to designate an IP for a kernel interface. + +### Example configurations +The following examples show the config needed to set up basic SR-IOV networking in a container. Each of the json config objects below can be placed in the `.spec.config` field of a Network Attachment Definition to integrate with Multus. + +#### Kernel driver config +This is the minimum configuration for a working kernel driver interface using an SR-IOV Virtual Function. It applies an IP address using the host-local IPAM plugin in the range of the subnet provided. + +```json +{ + "type": "sriov", + "cniVersion": "0.3.1", + "name": "sriov-network", + "ipam": { + "type": "host-local", + "subnet": "10.56.217.0/24", + "routes": [{ + "dst": "0.0.0.0/0" + }], + "gateway": "10.56.217.1" + } +} +``` + +#### Extended kernel driver config +This configuration sets a number of extra parameters that may be key for SR-IOV networks including a vlan tag, disabled spoof checking and enabled trust mode. These parameters are commonly set in more advanced SR-IOV VF based networks. + +```json +{ + "cniVersion": "0.3.1", + "name": "sriov-advanced", + "type": "sriov", + "vlan": 1000, + "spoofchk": "off", + "trust": "on", + "ipam": { + "type": "host-local", + "subnet": "10.56.217.0/24", + "routes": [{ + "dst": "0.0.0.0/0" + }], + "gateway": "10.56.217.1" + } +} +``` + +#### DPDK userspace driver config + +The below config will configure a VF using a userspace driver (uio/vfio) for use in a container. If this plugin is used with a VF bound to a dpdk driver then the IPAM configuration will still be respected, but it will only allocate IP address(es) using the specified IPAM plugin, not apply the IP address(es) to container interface. Other config parameters should be applicable but implementation may be driver specific. + +```json +{ + "cniVersion": "0.3.1", + "name": "sriov-dpdk", + "type": "sriov", + "vlan": 1000 +} +``` + +**Note** [DHCP](https://github.com/containernetworking/plugins/tree/master/plugins/ipam/dhcp) IPAM plugin can not be used for VF bound to a dpdk driver (uio/vfio). + +**Note** When VLAN is not specified in the Network-Attachment-Definition, or when it is given a value of 0, +VFs connected to this network will have no vlan tag. + + +### Advanced Configuration + +SR-IOV CNI allows the setting of other SR-IOV options such as link-state and quality of service parameters. To learn more about how these parameters are set consult the [SR-IOV CNI configuration reference guide](docs/configuration-reference.md) + +## Contributing +To report a bug or request a feature, open an issue on this repo using one of the available templates. diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/cmd/sriov/main.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/cmd/sriov/main.go new file mode 100644 index 000000000..3e587b040 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/cmd/sriov/main.go @@ -0,0 +1,369 @@ +package main + +import ( + "context" + "errors" + "fmt" + "log" + "net" + "runtime" + "strings" + "time" + + "github.com/containernetworking/cni/pkg/skel" + "github.com/containernetworking/cni/pkg/types" + current "github.com/containernetworking/cni/pkg/types/100" + "github.com/containernetworking/cni/pkg/version" + "github.com/containernetworking/plugins/pkg/ipam" + "github.com/containernetworking/plugins/pkg/ns" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/config" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/logging" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/sriov" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" + pb "github.com/opiproject/opi-api/network/evpn-gw/v1alpha1/gen/go" + "github.com/vishvananda/netlink" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" +) + +type envArgs struct { + types.CommonArgs + MAC types.UnmarshallableString `json:"mac,omitempty"` +} + +func init() { + // this ensures that main runs only on main thread (thread group leader). + // since namespace ops (unshare, setns) are done for a single thread, we + // must ensure that the goroutine does not jump from OS thread to thread + runtime.LockOSThread() +} + +func getEnvArgs(envArgsString string) (*envArgs, error) { + if envArgsString != "" { + e := envArgs{} + err := types.LoadArgs(envArgsString, &e) + if err != nil { + return nil, err + } + return &e, nil + } + return nil, nil +} + +func cmdAdd(args *skel.CmdArgs) error { + if err := config.SetLogging(args.StdinData, args.ContainerID, args.Netns, args.IfName); err != nil { + return err + } + logging.Debug("function called", + "func", "cmdAdd", + "args.Path", args.Path, "args.StdinData", string(args.StdinData), "args.Args", args.Args) + + netConf, err := config.LoadConf(args.StdinData) + if err != nil { + return fmt.Errorf("SRIOV-CNI failed to load netconf: %v", err) + } + + envArgs, err := getEnvArgs(args.Args) + if err != nil { + return fmt.Errorf("SRIOV-CNI failed to parse args: %v", err) + } + + if envArgs != nil { + MAC := string(envArgs.MAC) + if MAC != "" { + netConf.MAC = MAC + } + } + + // RuntimeConfig takes preference than envArgs. + // This maintains compatibility of using envArgs + // for MAC config. + if netConf.RuntimeConfig.Mac != "" { + netConf.MAC = netConf.RuntimeConfig.Mac + } + + // Always use lower case for mac address + netConf.MAC = strings.ToLower(netConf.MAC) + + netns, err := ns.GetNS(args.Netns) + if err != nil { + return fmt.Errorf("failed to open netns %q: %v", netns, err) + } + defer netns.Close() + + sm := sriov.NewSriovManager() + // err = sm.FillOriginalVfInfo(netConf) + // if err != nil { + // return fmt.Errorf("failed to get original vf information: %v", err) + // } + defer func() { + if err != nil { + err := netns.Do(func(_ ns.NetNS) error { + _, err := netlink.LinkByName(args.IfName) + return err + }) + if err == nil { + _ = sm.ReleaseVF(netConf, args.IfName, netns) + } + // Reset the VF if failure occurs before the netconf is cached + _ = sm.ResetVFConfig(netConf) + } + }() + if err := sm.ApplyVFConfig(netConf); err != nil { + return fmt.Errorf("SRIOV-CNI failed to configure VF %q", err) + } + + result := ¤t.Result{} + result.Interfaces = []*current.Interface{{ + Name: args.IfName, + Sandbox: netns.Path(), + }} + + if !netConf.DPDKMode { + err = sm.SetupVF(netConf, args.IfName, netns) + + if err != nil { + return fmt.Errorf("failed to set up pod interface %q from the device %q: %v", args.IfName, netConf.Master, err) + } + } + + result.Interfaces[0].Mac = config.GetMacAddressForResult(netConf) + + // run the IPAM plugin + if netConf.IPAM.Type != "" { + var r types.Result + r, err = ipam.ExecAdd(netConf.IPAM.Type, args.StdinData) + if err != nil { + return fmt.Errorf("failed to set up IPAM plugin type %q from the device %q: %v", netConf.IPAM.Type, netConf.Master, err) + } + + defer func() { + if err != nil { + _ = ipam.ExecDel(netConf.IPAM.Type, args.StdinData) + } + }() + + // Convert the IPAM result into the current Result type + var newResult *current.Result + newResult, err = current.NewResultFromResult(r) + if err != nil { + return err + } + + if len(newResult.IPs) == 0 { + err = errors.New("IPAM plugin returned missing IP config") + return err + } + + newResult.Interfaces = result.Interfaces + + for _, ipc := range newResult.IPs { + // All addresses apply to the container interface (move from host) + ipc.Interface = current.Int(0) + } + + if !netConf.DPDKMode { + err = netns.Do(func(_ ns.NetNS) error { + err := ipam.ConfigureIface(args.IfName, newResult) + if err != nil { + return err + } + + /* After IPAM configuration is done, the following needs to handle the case of an IP address being reused by a different pods. + * This is achieved by sending Gratuitous ARPs and/or Unsolicited Neighbor Advertisements unconditionally. + * Although we set arp_notify and ndisc_notify unconditionally on the interface (please see EnableArpAndNdiscNotify()), the kernel + * only sends GARPs/Unsolicited NA when the interface goes from down to up, or when the link-layer address changes on the interfaces. + * These scenarios are perfectly valid and recommended to be enabled for optimal network performance. + * However for our specific case, which the kernel is unaware of, is the reuse of IP addresses across pods where each pod has a different + * link-layer address for it's SRIOV interface. The ARP/Neighbor cache residing in neighbors would be invalid if an IP address is reused. + * In order to update the cache, the GARP/Unsolicited NA packets should be sent for performance reasons. Otherwise, the neighbors + * may be sending packets with the incorrect link-layer address. Eventually, most network stacks would send ARPs and/or Neighbor + * Solicitation packets when the connection is unreachable. This would correct the invalid cache; however this may take a significant + * amount of time to complete. + * + * The error is ignored here because enabling this feature is only a performance enhancement. + */ + _ = utils.AnnounceIPs(args.IfName, newResult.IPs) + return nil + }) + if err != nil { + return err + } + } + result = newResult + } + + // Cache NetConf for CmdDel + logging.Debug("Cache NetConf for CmdDel", + "func", "cmdAdd", + "config.DefaultCNIDir", config.DefaultCNIDir, + "netConf", netConf) + if err = utils.SaveNetConf(args.ContainerID, config.DefaultCNIDir, args.IfName, netConf); err != nil { + return fmt.Errorf("error saving NetConf %q", err) + } + + // Mark the pci address as in use. + logging.Debug("Mark the PCI address as in use", + "func", "cmdAdd", + "config.DefaultCNIDir", config.DefaultCNIDir, + "netConf.DeviceID", netConf.DeviceID) + allocator := utils.NewPCIAllocator(config.DefaultCNIDir) + if err = allocator.SaveAllocatedPCI(netConf.DeviceID, args.Netns); err != nil { + return fmt.Errorf("error saving the pci allocation for vf pci address %s: %v", netConf.DeviceID, err) + } + + conn, err := grpc.Dial(netConf.DpuDaemonAddress, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + log.Fatalf("did not connect: %v", err) + } + defer conn.Close() + + c := pb.NewBridgePortServiceClient(conn) + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + mac, err := net.ParseMAC(netConf.OrigVfState.EffectiveMAC) + if err != nil { + return fmt.Errorf("error Parsing Mac Address %q", err) + } + + createRequest := &pb.CreateBridgePortRequest{ + BridgePort: &pb.BridgePort{ + Name: netConf.Master + fmt.Sprint(netConf.VFID), + Spec: &pb.BridgePortSpec{ + Ptype: 1, + MacAddress: []byte(mac), + LogicalBridges: []string{fmt.Sprint(netConf.VFID + 2)}, + }, + }, + } + + r, err := c.CreateBridgePort(ctx, createRequest) + if err != nil { + return fmt.Errorf("could not create bridge port: %v", err) + } + log.Printf("BridgePort Name: %s", r.GetName()) + + return types.PrintResult(result, netConf.CNIVersion) +} + +func cmdDel(args *skel.CmdArgs) error { + if err := config.SetLogging(args.StdinData, args.ContainerID, args.Netns, args.IfName); err != nil { + return err + } + logging.Debug("function called", + "func", "cmdDel", + "args.Path", args.Path, "args.StdinData", string(args.StdinData), "args.Args", args.Args) + + netConf, cRefPath, err := config.LoadConfFromCache(args) + if err != nil { + // If cmdDel() fails, cached netconf is cleaned up by + // the followed defer call. However, subsequence calls + // of cmdDel() from kubelet fail in a dead loop due to + // cached netconf doesn't exist. + // Return nil when LoadConfFromCache fails since the rest + // of cmdDel() code relies on netconf as input argument + // and there is no meaning to continue. + logging.Error("Cannot load config file from cache", + "func", "cmdDel", + "err", err) + return nil + } + + defer func() { + if err == nil && cRefPath != "" { + _ = utils.CleanCachedNetConf(cRefPath) + } + }() + + if netConf.IPAM.Type != "" { + err = ipam.ExecDel(netConf.IPAM.Type, args.StdinData) + if err != nil { + return err + } + } + + // https://github.com/kubernetes/kubernetes/pull/35240 + if args.Netns == "" { + return nil + } + + // Verify VF ID existence. + if _, err := utils.GetVfid(netConf.DeviceID, netConf.Master); err != nil { + return fmt.Errorf("cmdDel() error obtaining VF ID: %q", err) + } + + sm := sriov.NewSriovManager() + + /* ResetVFConfig resets a VF administratively. We must run ResetVFConfig + before ReleaseVF because some drivers will error out if we try to + reset netdev VF with trust off. So, reset VF MAC address via PF first. + */ + if err := sm.ResetVFConfig(netConf); err != nil { + return fmt.Errorf("cmdDel() error reseting VF: %q", err) + } + + if !netConf.DPDKMode { + netns, err := ns.GetNS(args.Netns) + if err != nil { + // according to: + // https://github.com/kubernetes/kubernetes/issues/43014#issuecomment-287164444 + // if provided path does not exist (e.x. when node was restarted) + // plugin should silently return with success after releasing + // IPAM resources + _, ok := err.(ns.NSPathNotExistErr) + if ok { + return nil + } + + return fmt.Errorf("failed to open netns %s: %q", netns, err) + } + defer netns.Close() + + if err = sm.ReleaseVF(netConf, args.IfName, netns); err != nil { + return err + } + } + + // Mark the pci address as released + logging.Debug("Mark the PCI address as released", + "func", "cmdDel", + "config.DefaultCNIDir", config.DefaultCNIDir, + "netConf.DeviceID", netConf.DeviceID) + allocator := utils.NewPCIAllocator(config.DefaultCNIDir) + if err = allocator.DeleteAllocatedPCI(netConf.DeviceID); err != nil { + return fmt.Errorf("error cleaning the pci allocation for vf pci address %s: %v", netConf.DeviceID, err) + } + + conn, err := grpc.Dial(netConf.DpuDaemonAddress, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + log.Fatalf("did not connect: %v", err) + } + defer conn.Close() + + c := pb.NewBridgePortServiceClient(conn) + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + deleteRequest := &pb.DeleteBridgePortRequest{ + Name: netConf.Master + fmt.Sprint(netConf.VFID), + } + + _, err = c.DeleteBridgePort(ctx, deleteRequest) + if err != nil { + return fmt.Errorf("could not delete bridge port: %v", err) + } + log.Printf("BridgePort Deleted") + + return nil +} + +func cmdCheck(_ *skel.CmdArgs) error { + return nil +} + +func main() { + skel.PluginMain(cmdAdd, cmdCheck, cmdDel, version.All, "") +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/docs/configuration-reference.md b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/docs/configuration-reference.md new file mode 100644 index 000000000..7f7904956 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/docs/configuration-reference.md @@ -0,0 +1,74 @@ +## Configuration reference - SR-IOV CNI + +The SR-IOV CNI configures networks through a CNI spec configuration object. In a Kubernetes cluster set up with Multus this object is most often delivered as a Network Attachment Definition. + + +### Parameters +* `name` (string, required): the name of the network +* `type` (string, required): "sriov" +* `ipam` (dictionary, optional): IPAM configuration to be used for this network. +* `deviceID` (string, required): A valid pci address of an SRIOV NIC's VF. e.g. "0000:03:02.3" +* `vlan` (int, optional): VLAN ID to assign for the VF. Value must be in the range 0-4094 (0 for disabled, 1-4094 for valid VLAN IDs). +* `vlanQoS` (int, optional): VLAN QoS to assign for the VF. Value must be in the range 0-7. This option requires `vlan` field to be set to a non-zero value. Otherwise, the error will be returned. +* `vlanProto` (string, optional): VLAN protocol to assign for the VF. Allowed values: "802.1ad", "802.1q" (default). +* `mac` (string, optional): MAC address to assign for the VF +* `spoofchk` (string, optional): turn packet spoof checking on or off for the VF +* `trust` (string, optional): turn trust setting on or off for the VF +* `link_state` (string, optional): enforce link state for the VF. Allowed values: auto, enable, disable. Note that driver support may differ for this feature. For example, `i40e` is known to work but `igb` doesn't. +* `min_tx_rate` (int, optional): change the allowed minimum transmit bandwidth, in Mbps, for the VF. Setting this to 0 disables rate limiting. The min_tx_rate value should be <= max_tx_rate. Support of this feature depends on NICs and drivers. +* `max_tx_rate` (int, optional): change the allowed maximum transmit bandwidth, in Mbps, for the VF. +Setting this to 0 disables rate limiting. +* `logLevel` (string, optional): either of panic, error, warning, info, debug with a default of info. +* `logFile` (string, optional): path to file for log output. By default, this will log to stderr. Logging to stderr +means that the logs will show up in crio logs (in the journal in most configurations) and in multus pod logs. + + +An SR-IOV CNI config with each field filled out looks like: + +```json +{ + "cniVersion": "0.3.1", + "name": "sriov-dpdk", + "type": "sriovi-net", + "deviceID": "0000:03:02.0", + "mac": "CA:FE:C0:FF:EE:00", + "vlan": 1000, + "vlanQoS": 4, + "vlanProto": "802.1ad", + "min_tx_rate": 100, + "max_tx_rate": 200, + "spoofchk": "off", + "trust": "on", + "link_state": "enable", + "logLevel": "debug", + "logFile": "/tmp/sriov.log" +} +``` + +### Runtime Configuration + +The SR-IOV CNI accepts a MAC address when passed as a runtime configuration - that is as part of a Kubernetes Pod spec. An example pod with a runtime configuration is: + +``` +apiVersion: v1 +kind: Pod +metadata: + name: samplepod + annotations: + k8s.v1.cni.cncf.io/networks: '[ + { + "name": "sriov-net", + "mac": "CA:FE:C0:FF:EE:00" + } + ]' +spec: + containers: + - name: runTimeConfig + command: ["/bin/bash", "-c", "sleep 300"] + image: centos/tools + +``` + +The above config will configure a VF of type "sriov-net" with the MAC address configured as the value supplied under the 'k8s.v1.cni.cncf.io/networks'. Where the MAC address supplied is invalid the container may be created with an unexpected address. + +To avoid this it's key to ensure the supplied MAC is valid for the specified interface. On some systems setting a Multicast MAC address (Where the least significant bit of the first octet is '1') results in failure to set the MAC address. diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/go.mod b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/go.mod new file mode 100644 index 000000000..a47d5e231 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/go.mod @@ -0,0 +1,47 @@ +module github.com/k8snetworkplumbingwg/sriov-cni + +go 1.21 + +require ( + github.com/containernetworking/cni v1.2.0 + github.com/containernetworking/plugins v1.4.1 + github.com/k8snetworkplumbingwg/cni-log v0.0.0-20230801160229-b6e062c9e0f2 + github.com/onsi/ginkgo/v2 v2.17.1 + github.com/onsi/gomega v1.32.0 + github.com/opiproject/opi-api v0.0.0-20240216141047-82ae5a5a6f1a + github.com/stretchr/testify v1.9.0 + github.com/vishvananda/netlink v1.2.1-beta.2.0.20230905152006-63484bbf69f8 + golang.org/x/net v0.34.0 + google.golang.org/grpc v1.63.2 +) + +require ( + github.com/coreos/go-iptables v0.7.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/pprof v0.0.0-20230323073829-e72429f035bd // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/safchain/ethtool v0.3.0 // indirect + github.com/stretchr/objx v0.5.2 // indirect + github.com/vishvananda/netns v0.0.4 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/text v0.21.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect + google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/protobuf v1.33.0 // indirect + gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +replace ( + github.com/onsi/ginkgo/v2 => github.com/onsi/ginkgo/v2 v2.9.2 + github.com/onsi/gomega => github.com/onsi/gomega v1.27.5 +) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/go.sum b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/go.sum new file mode 100644 index 000000000..d007897aa --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/go.sum @@ -0,0 +1,84 @@ +github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I= +github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/containernetworking/cni v1.2.0 h1:fEjhlfWwWAXEvlcMQu/i6z8DA0Kbu7EcmR5+zb6cm5I= +github.com/containernetworking/cni v1.2.0/go.mod h1:/r+vA/7vrynNfbvSP9g8tIKEoy6win7sALJAw4ZiJks= +github.com/containernetworking/plugins v1.4.1 h1:+sJRRv8PKhLkXIl6tH1D7RMi+CbbHutDGU+ErLBORWA= +github.com/containernetworking/plugins v1.4.1/go.mod h1:n6FFGKcaY4o2o5msgu/UImtoC+fpQXM3076VHfHbj60= +github.com/coreos/go-iptables v0.7.0 h1:XWM3V+MPRr5/q51NuWSgU0fqMad64Zyxs8ZUoMsamr8= +github.com/coreos/go-iptables v0.7.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20230323073829-e72429f035bd h1:r8yyd+DJDmsUhGrRBxH5Pj7KeFK5l+Y3FsgT8keqKtk= +github.com/google/pprof v0.0.0-20230323073829-e72429f035bd/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= +github.com/k8snetworkplumbingwg/cni-log v0.0.0-20230801160229-b6e062c9e0f2 h1:KB8UPZQwLge4Abuk9tNmvzffdCJgqXSN341BX98QTHg= +github.com/k8snetworkplumbingwg/cni-log v0.0.0-20230801160229-b6e062c9e0f2/go.mod h1:/x45AlZDoJVSSV4ECDb5TcHLzrVRDllsCMDzMrtHKwk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/onsi/ginkgo/v2 v2.9.2 h1:BA2GMJOtfGAfagzYtrAlufIP0lq6QERkFmHLMLPwFSU= +github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= +github.com/onsi/gomega v1.27.5 h1:T/X6I0RNFw/kTqgfkZPcQ5KU6vCnWNBGdtrIx2dpGeQ= +github.com/onsi/gomega v1.27.5/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/opiproject/opi-api v0.0.0-20240216141047-82ae5a5a6f1a h1:qu/JsZjKLY1vyOQEzHD+m8lDBBimNMMB6/9N5V8fEHU= +github.com/opiproject/opi-api v0.0.0-20240216141047-82ae5a5a6f1a/go.mod h1:92pv4ulvvPMuxCJ9ND3aYbmBfEMLx0VCjpkiR7ZTqPY= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0= +github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/vishvananda/netlink v1.2.1-beta.2.0.20230905152006-63484bbf69f8 h1:xxfANIR2aBrzBufGZZkbIg0N4V1AEmw0hKWlWv8eMYM= +github.com/vishvananda/netlink v1.2.1-beta.2.0.20230905152006-63484bbf69f8/go.mod h1:whJevzBpTrid75eZy99s3DqCmy05NfibNaF2Ol5Ox5A= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/README.md b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/README.md new file mode 100644 index 000000000..1ce26d875 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/README.md @@ -0,0 +1,35 @@ +## Dockerfile build + +This is used for distribution of SR-IOV CNI binary in a Docker image. + +Typically you'd build this from the root of your SR-IOV CNI clone, and you'd set the `-f` flag to specify the Dockerfile during build time. This allows the addition of the entirety of the SR-IOV CNI git clone as part of the Docker context. Use the `-f` flag with the root of the clone as the context (e.g. your current work directory would be root of git clone), such as: + +``` +$ docker build -t sriov-cni -f ./Dockerfile . +``` + +A `build_docker.sh` script is available for building the SR-IOV CNI docker image from the `./images` directory. + +--- + +## Daemonset deployment + +You may wish to deploy SR-IOV CNI as a daemonset, you can do so by starting with the example Daemonset shown here: + +``` +$ kubectl create -f ./images/sriov-cni-daemonset.yaml +``` + +Note: The likely best practice here is to build your own image given the Dockerfile, and then push it to your preferred registry, and change the `image` fields in the Daemonset YAML to reference that image. + +--- + +### Development notes + +Example docker run command: + +``` +$ docker run -it -v /opt/cni/bin/:/host/opt/cni/bin/ --entrypoint=/bin/bash ghcr.io/k8snetworkplumbingwg/sriov-cni +``` + +Originally inspired by and is a portmanteau of the [Flannel daemonset](https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml), the [Calico Daemonset](https://github.com/projectcalico/calico/blob/master/v2.0/getting-started/kubernetes/installation/hosted/k8s-backend-addon-manager/calico-daemonset.yaml), and the [Calico CNI install bash script](https://github.com/projectcalico/cni-plugin/blob/be4df4db2e47aa7378b1bdf6933724bac1f348d0/k8s-install/scripts/install-cni.sh#L104-L153). diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/build_docker.sh b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/build_docker.sh new file mode 100755 index 000000000..01f614197 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/build_docker.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -e + +## Build docker image +docker build -t sriov-cni -f ../Dockerfile ../ diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/entrypoint.sh b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/entrypoint.sh new file mode 100755 index 000000000..906917599 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/entrypoint.sh @@ -0,0 +1,74 @@ +#!/bin/sh + +# Always exit on errors. +set -e + +# Set known directories. +CNI_BIN_DIR="/host/opt/cni/bin" +SRIOV_BIN_FILE="/usr/bin/sriov" +NO_SLEEP=0 + +# Give help text for parameters. +usage() +{ + printf "This is an entrypoint script for SR-IOV CNI to overlay its\n" + printf "binary into location in a filesystem. The binary file will\n" + printf "be copied to the corresponding directory.\n" + printf "\n" + printf "./entrypoint.sh\n" + printf "\t-h --help\n" + printf "\t--cni-bin-dir=%s\n" "$CNI_BIN_DIR" + printf "\t--sriov-bin-file=%s\n" "$SRIOV_BIN_FILE" + printf "\t--no-sleep\n" +} + +# Parse parameters given as arguments to this script. +while [ "$1" != "" ]; do + PARAM=$(echo "$1" | awk -F= '{print $1}') + VALUE=$(echo "$1" | awk -F= '{print $2}') + case $PARAM in + -h | --help) + usage + exit + ;; + --cni-bin-dir) + CNI_BIN_DIR=$VALUE + ;; + --sriov-bin-file) + SRIOV_BIN_FILE=$VALUE + ;; + --no-sleep) + NO_SLEEP=1 + ;; + *) + /bin/echo "ERROR: unknown parameter \"$PARAM\"" + usage + exit 1 + ;; + esac + shift +done + + +# Loop through and verify each location each. +for i in $CNI_BIN_DIR $SRIOV_BIN_FILE +do + if [ ! -e "$i" ]; then + /bin/echo "Location $i does not exist" + exit 1; + fi +done + +# Copy file into proper place. +cp -f "$SRIOV_BIN_FILE" "$CNI_BIN_DIR" + +if [ $NO_SLEEP -eq 1 ]; then + exit 0 +fi + +echo "Entering sleep... (success)" +trap : TERM INT + +# Sleep forever. +# sleep infinity is not available in alpine; instead lets go sleep for ~68 years. Hopefully that's enough sleep +sleep 2147483647 & wait diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/image_test.sh b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/image_test.sh new file mode 100755 index 000000000..a7adbbcec --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/image_test.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +set -x + +OCI_RUNTIME=$1 +IMAGE_UNDER_TEST=$2 + +OUTPUT_DIR=$(mktemp -d) + +"${OCI_RUNTIME}" run -v "${OUTPUT_DIR}:/out" "${IMAGE_UNDER_TEST}" --cni-bin-dir=/out --no-sleep + +if [ ! -e "${OUTPUT_DIR}/sriov" ]; then + echo "Output file ${OUTPUT_DIR}/sriov not found" + exit 1 +fi + +if [ ! -s "${OUTPUT_DIR}/sriov" ]; then + echo "Output file ${OUTPUT_DIR}/sriov is empty" + exit 1 +fi + +exit 0 diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/sriov-cni-daemonset.yaml b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/sriov-cni-daemonset.yaml new file mode 100644 index 000000000..6c2cf1793 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/images/sriov-cni-daemonset.yaml @@ -0,0 +1,51 @@ +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: kube-sriov-cni-ds-amd64 + namespace: kube-system + labels: + tier: node + app: sriov-cni +spec: + selector: + matchLabels: + name: sriov-cni + template: + metadata: + labels: + name: sriov-cni + tier: node + app: sriov-cni + spec: + nodeSelector: + kubernetes.io/arch: amd64 + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: kube-sriov-cni + image: ghcr.io/k8snetworkplumbingwg/sriov-cni + imagePullPolicy: IfNotPresent + securityContext: + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + volumeMounts: + - name: cnibin + mountPath: /host/opt/cni/bin + volumes: + - name: cnibin + hostPath: + path: /opt/cni/bin diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config.go new file mode 100644 index 000000000..7b050a977 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config.go @@ -0,0 +1,193 @@ +package config + +import ( + "encoding/json" + "fmt" + "path/filepath" + "strings" + + "github.com/containernetworking/cni/pkg/skel" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/logging" + sriovtypes "github.com/k8snetworkplumbingwg/sriov-cni/pkg/types" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" +) + +var ( + // DefaultCNIDir used for caching NetConf + DefaultCNIDir = "/var/lib/cni/sriov" + addr = "localhost:50151" +) + +// SetLogging sets global logging parameters. +func SetLogging(stdinData []byte, containerID, netns, ifName string) error { + n := &sriovtypes.NetConf{} + if err := json.Unmarshal(stdinData, n); err != nil { + return fmt.Errorf("SetLogging(): failed to load netconf: %v", err) + } + + logging.Init(n.LogLevel, n.LogFile, containerID, netns, ifName) + return nil +} + +// LoadConf parses and validates stdin netconf and returns NetConf object +func LoadConf(bytes []byte) (*sriovtypes.NetConf, error) { + n := &sriovtypes.NetConf{} + if err := json.Unmarshal(bytes, n); err != nil { + return nil, fmt.Errorf("LoadConf(): failed to load netconf: %v", err) + } + + if n.DpuDaemonAddress == "" { + n.DpuDaemonAddress = addr + } + + // DeviceID takes precedence; if we are given a VF pciaddr then work from there + if n.DeviceID != "" { + // Get rest of the VF information + pfName, vfID, err := getVfInfo(n.DeviceID) + if err != nil { + return nil, fmt.Errorf("LoadConf(): failed to get VF information: %q", err) + } + n.VFID = vfID + n.Master = pfName + } else { + return nil, fmt.Errorf("LoadConf(): VF pci addr is required") + } + + // Check if the device is already allocated. + // This is to prevent issues where kubelet request to delete a pod and in the same time a new pod using the same + // vf is started. we can have an issue where the cmdDel of the old pod is called AFTER the cmdAdd of the new one + // This will block the new pod creation until the cmdDel is done. + logging.Debug("Check if the device is already allocated", + "func", "LoadConf", + "DefaultCNIDir", DefaultCNIDir, + "n.DeviceID", n.DeviceID) + allocator := utils.NewPCIAllocator(DefaultCNIDir) + isAllocated, err := allocator.IsAllocated(n.DeviceID) + if err != nil { + return n, err + } + + if isAllocated { + return n, fmt.Errorf("pci address %s is already allocated", n.DeviceID) + } + + // Assuming VF is netdev interface; Get interface name(s) + hostIFName, err := utils.GetVFLinkName(n.DeviceID) + if err != nil || hostIFName == "" { + // VF interface not found; check if VF has dpdk driver + hasDpdkDriver, err := utils.HasDpdkDriver(n.DeviceID) + if err != nil { + return nil, fmt.Errorf("LoadConf(): failed to detect if VF %s has dpdk driver %q", n.DeviceID, err) + } + n.DPDKMode = hasDpdkDriver + } + + if hostIFName != "" { + n.OrigVfState.HostIFName = hostIFName + } + + if hostIFName == "" && !n.DPDKMode { + return nil, fmt.Errorf("LoadConf(): the VF %s does not have a interface name or a dpdk driver", n.DeviceID) + } + + if n.Vlan == nil { + vlan := 0 + n.Vlan = &vlan + } + + // validate vlan id range + if *n.Vlan < 0 || *n.Vlan > 4094 { + return nil, fmt.Errorf("LoadConf(): vlan id %d invalid: value must be in the range 0-4094", *n.Vlan) + } + + if n.VlanQoS == nil { + qos := 0 + n.VlanQoS = &qos + } + + // validate that VLAN QoS is in the 0-7 range + if *n.VlanQoS < 0 || *n.VlanQoS > 7 { + return nil, fmt.Errorf("LoadConf(): vlan QoS PCP %d invalid: value must be in the range 0-7", *n.VlanQoS) + } + + // validate non-zero value for vlan id if vlan qos is set to a non-zero value + if *n.VlanQoS != 0 && *n.Vlan == 0 { + return nil, fmt.Errorf("LoadConf(): non-zero vlan id must be configured to set vlan QoS to a non-zero value") + } + + if n.VlanProto == nil { + proto := sriovtypes.Proto8021q + n.VlanProto = &proto + } + + *n.VlanProto = strings.ToLower(*n.VlanProto) + if *n.VlanProto != sriovtypes.Proto8021ad && *n.VlanProto != sriovtypes.Proto8021q { + return nil, fmt.Errorf("LoadConf(): vlan Proto %s invalid: value must be '802.1Q' or '802.1ad'", *n.VlanProto) + } + + // validate non-zero value for vlan id if vlan proto is set to 802.1ad + if *n.VlanProto == sriovtypes.Proto8021ad && *n.Vlan == 0 { + return nil, fmt.Errorf("LoadConf(): non-zero vlan id must be configured to set vlan proto 802.1ad") + } + + // validate that link state is one of supported values + if n.LinkState != "" && n.LinkState != "auto" && n.LinkState != "enable" && n.LinkState != "disable" { + return nil, fmt.Errorf("LoadConf(): invalid link_state value: %s", n.LinkState) + } + + return n, nil +} + +func getVfInfo(vfPci string) (string, int, error) { + var vfID int + + pf, err := utils.GetPfName(vfPci) + if err != nil { + return "", vfID, err + } + + vfID, err = utils.GetVfid(vfPci, pf) + if err != nil { + return "", vfID, err + } + + return pf, vfID, nil +} + +// LoadConfFromCache retrieves cached NetConf returns it along with a handle for removal +func LoadConfFromCache(args *skel.CmdArgs) (*sriovtypes.NetConf, string, error) { + netConf := &sriovtypes.NetConf{} + + s := []string{args.ContainerID, args.IfName} + cRef := strings.Join(s, "-") + cRefPath := filepath.Join(DefaultCNIDir, cRef) + + netConfBytes, err := utils.ReadScratchNetConf(cRefPath) + if err != nil { + return nil, "", fmt.Errorf("error reading cached NetConf in %s with name %s", DefaultCNIDir, cRef) + } + + if err = json.Unmarshal(netConfBytes, netConf); err != nil { + return nil, "", fmt.Errorf("failed to parse NetConf: %q", err) + } + + return netConf, cRefPath, nil +} + +// GetMacAddressForResult return the mac address we should report to the CNI call return object +// if the device is on kernel mode we report that one back +// if not we check the administrative mac address on the PF +// if it is set and is not zero, report it. +func GetMacAddressForResult(netConf *sriovtypes.NetConf) string { + if netConf.MAC != "" { + return netConf.MAC + } + if !netConf.DPDKMode { + return netConf.OrigVfState.EffectiveMAC + } + if netConf.OrigVfState.AdminMAC != "00:00:00:00:00:00" { + return netConf.OrigVfState.AdminMAC + } + + return "" +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config_suite_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config_suite_test.go new file mode 100644 index 000000000..250602953 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config_suite_test.go @@ -0,0 +1,25 @@ +package config + +import ( + "testing" + + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +func TestConfig(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Config Suite") +} + +var _ = BeforeSuite(func() { + // create test sys tree + err := utils.CreateTmpSysFs() + Expect(err).Should(Succeed()) +}) + +var _ = AfterSuite(func() { + err := utils.RemoveTmpSysFs() + Expect(err).Should(Succeed()) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config_test.go new file mode 100644 index 000000000..74d7179f8 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/config/config_test.go @@ -0,0 +1,221 @@ +package config + +import ( + "fmt" + "os" + + "github.com/containernetworking/plugins/pkg/testutils" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/types" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" +) + +var _ = Describe("Config", func() { + Context("Checking LoadConf function", func() { + It("Assuming correct config file - existing DeviceID", func() { + conf := []byte(`{ + "name": "mynet", + "type": "sriov", + "deviceID": "0000:af:06.1", + "vf": 0, + "ipam": { + "type": "host-local", + "subnet": "10.55.206.0/26", + "routes": [ + { "dst": "0.0.0.0/0" } + ], + "gateway": "10.55.206.1" + } + }`) + _, err := LoadConf(conf) + Expect(err).NotTo(HaveOccurred()) + }) + It("Assuming incorrect config file - not existing DeviceID", func() { + conf := []byte(`{ + "name": "mynet", + "type": "sriov", + "deviceID": "0000:af:06.3", + "vf": 0, + "ipam": { + "type": "host-local", + "subnet": "10.55.206.0/26", + "routes": [ + { "dst": "0.0.0.0/0" } + ], + "gateway": "10.55.206.1" + } + }`) + _, err := LoadConf(conf) + Expect(err).To(HaveOccurred()) + }) + It("Assuming incorrect config file - broken json", func() { + conf := []byte(`{ + "name": "mynet" + "type": "sriov", + "deviceID": "0000:af:06.1", + "vf": 0, + "ipam": { + "type": "host-local", + "subnet": "10.55.206.0/26", + "routes": [ + { "dst": "0.0.0.0/0" } + ], + "gateway": "10.55.206.1" + } + }`) + _, err := LoadConf(conf) + Expect(err).To(HaveOccurred()) + }) + + validVlanID := 100 + zeroVlanID := 0 + invalidVlanID := 5000 + validQoS := 1 + zeroQoS := 0 + invalidQoS := 10 + valid8021qProto := "802.1Q" + valid8021adProto := "802.1ad" + invalidProto := "802" + DescribeTable("Vlan ID, QoS and Proto", + func(vlanID *int, vlanQoS *int, vlanProto *string, failure bool) { + s := `{ + "name": "mynet", + "type": "sriov", + "deviceID": "0000:af:06.1", + "vf": 0` + if vlanID != nil { + s = fmt.Sprintf(`%s, + "vlan": %d`, s, *vlanID) + } + if vlanQoS != nil { + s = fmt.Sprintf(`%s, + "vlanQoS": %d`, s, *vlanQoS) + } + if vlanProto != nil { + s = fmt.Sprintf(`%s, + "vlanProto": "%s"`, s, *vlanProto) + } + s = fmt.Sprintf(`%s + }`, s) + conf := []byte(s) + _, err := LoadConf(conf) + if failure { + Expect(err).To(HaveOccurred()) + } else { + Expect(err).ToNot(HaveOccurred()) + } + }, + Entry("valid vlan ID", &validVlanID, nil, nil, false), + Entry("invalid vlan ID", &invalidVlanID, nil, nil, true), + Entry("vlan ID equal to zero and non-zero QoS set", &zeroVlanID, &validQoS, nil, true), + Entry("vlan ID equal to zero and 802.1ad Proto set", &zeroVlanID, nil, &valid8021adProto, true), + Entry("invalid QoS", &validVlanID, &invalidQoS, nil, true), + Entry("invalid Proto", &validVlanID, nil, &invalidProto, true), + Entry("valid 802.1q Proto", &validVlanID, nil, &valid8021qProto, false), + Entry("valid 802.1ad Proto", &validVlanID, nil, &valid8021adProto, false), + Entry("no vlan ID and non-zero QoS set", nil, &validQoS, nil, true), + Entry("no vlan ID and 802.1ad Proto set", nil, nil, &valid8021adProto, true), + Entry("default values for vlan, qos and proto", &zeroVlanID, &zeroQoS, &valid8021qProto, false), + ) + + It("Assuming device is allocated", func() { + conf := []byte(`{ + "name": "mynet", + "type": "sriov", + "deviceID": "0000:af:06.1", + "vf": 0, + "ipam": { + "type": "host-local", + "subnet": "10.55.206.0/26", + "routes": [ + { "dst": "0.0.0.0/0" } + ], + "gateway": "10.55.206.1" + } + }`) + + tmpdir, err := os.MkdirTemp("/tmp", "sriovplugin-testfiles-") + Expect(err).ToNot(HaveOccurred()) + originCNIDir := DefaultCNIDir + DefaultCNIDir = tmpdir + defer func() { + DefaultCNIDir = originCNIDir + }() + + targetNetNS, err := testutils.NewNS() + Expect(err).NotTo(HaveOccurred()) + defer func() { + if targetNetNS != nil { + targetNetNS.Close() + err = testutils.UnmountNS(targetNetNS) + } + }() + + allocator := utils.NewPCIAllocator(tmpdir) + err = allocator.SaveAllocatedPCI("0000:af:06.1", targetNetNS.Path()) + Expect(err).ToNot(HaveOccurred()) + + _, err = LoadConf(conf) + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("pci address 0000:af:06.1 is already allocated")) + }) + + }) + Context("Checking getVfInfo function", func() { + It("Assuming existing PF", func() { + _, _, err := getVfInfo("0000:af:06.0") + Expect(err).NotTo(HaveOccurred()) + }) + It("Assuming not existing PF", func() { + _, _, err := getVfInfo("0000:af:07.0") + Expect(err).To(HaveOccurred()) + }) + }) + Context("Checking GetMacAddressForResult function", func() { + It("Should return the mac address requested by the user", func() { + netconf := &types.NetConf{ + MAC: "MAC", + OrigVfState: types.VfState{ + EffectiveMAC: "EffectiveMAC", + AdminMAC: "AdminMAC", + }, + } + + Expect(GetMacAddressForResult(netconf)).To(Equal("MAC")) + }) + It("Should return the EffectiveMAC mac address if the user didn't request and the the driver is not DPDK", func() { + netconf := &types.NetConf{ + DPDKMode: false, + OrigVfState: types.VfState{ + EffectiveMAC: "EffectiveMAC", + AdminMAC: "AdminMAC", + }, + } + + Expect(GetMacAddressForResult(netconf)).To(Equal("EffectiveMAC")) + }) + It("Should return the AdminMAC mac address if the user didn't request and the the driver is DPDK", func() { + netconf := &types.NetConf{ + DPDKMode: true, + OrigVfState: types.VfState{ + EffectiveMAC: "EffectiveMAC", + AdminMAC: "AdminMAC", + }, + } + + Expect(GetMacAddressForResult(netconf)).To(Equal("AdminMAC")) + }) + It("Should return empty string if the user didn't request the the driver is DPDK and adminMac is 0", func() { + netconf := &types.NetConf{ + DPDKMode: true, + OrigVfState: types.VfState{ + AdminMAC: "00:00:00:00:00:00", + }, + } + + Expect(GetMacAddressForResult(netconf)).To(Equal("")) + }) + }) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging.go new file mode 100644 index 000000000..4d5e81fc4 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging.go @@ -0,0 +1,93 @@ +// package logging is a small wrapper around github.com/k8snetworkplumbingwg/cni-log + +package logging + +import ( + cnilog "github.com/k8snetworkplumbingwg/cni-log" +) + +const ( + labelCNIName = "cniName" + labelContainerID = "containerID" + labelNetNS = "netns" + labelIFName = "ifname" + cniName = "sriov-cni" +) + +var ( + logLevelDefault = cnilog.InfoLevel + containerID = "" + netNS = "" + ifName = "" +) + +// Init initializes logging with the requested parameters in this order: log level, log file, container ID, +// network namespace and interface name. +func Init(logLevel, logFile, containerIdentification, networkNamespace, interfaceName string) { + setLogLevel(logLevel) + setLogFile(logFile) + containerID = containerIdentification + netNS = networkNamespace + ifName = interfaceName +} + +// setLogLevel sets the log level to either verbose, debug, info, warn, error or panic. If an invalid string is +// provided, it uses error. +func setLogLevel(l string) { + ll := cnilog.StringToLevel(l) + if ll == cnilog.InvalidLevel { + ll = logLevelDefault + } + cnilog.SetLogLevel(ll) +} + +// setLogFile sets the log file for logging. If the empty string is provided, it uses stderr. +func setLogFile(fileName string) { + if fileName == "" { + cnilog.SetLogStderr(true) + cnilog.SetLogFile("") + return + } + cnilog.SetLogFile(fileName) + cnilog.SetLogStderr(false) +} + +// Debug provides structured logging for log level >= debug. +func Debug(msg string, args ...interface{}) { + cnilog.DebugStructured(msg, prependArgs(args)...) +} + +// Info provides structured logging for log level >= info. +func Info(msg string, args ...interface{}) { + cnilog.InfoStructured(msg, prependArgs(args)...) +} + +// Warning provides structured logging for log level >= warning. +func Warning(msg string, args ...interface{}) { + cnilog.WarningStructured(msg, prependArgs(args)...) +} + +// Error provides structured logging for log level >= error. +func Error(msg string, args ...interface{}) { + _ = cnilog.ErrorStructured(msg, prependArgs(args)...) +} + +// Panic provides structured logging for log level >= panic. +func Panic(msg string, args ...interface{}) { + cnilog.PanicStructured(msg, prependArgs(args)...) +} + +// prependArgs prepends cniName, containerID, netNS and ifName to the args of every log message. +func prependArgs(args []interface{}) []interface{} { + if ifName != "" { + args = append([]interface{}{labelIFName, ifName}, args...) + } + if netNS != "" { + args = append([]interface{}{labelNetNS, netNS}, args...) + } + if containerID != "" { + args = append([]interface{}{labelContainerID, containerID}, args...) + } + args = append([]interface{}{labelCNIName, cniName}, args...) + return args +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging_suite_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging_suite_test.go new file mode 100644 index 000000000..6f85b94ef --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging_suite_test.go @@ -0,0 +1,19 @@ +package logging + +import ( + "testing" + + g "github.com/onsi/ginkgo/v2" + o "github.com/onsi/gomega" +) + +func TestConfig(t *testing.T) { + o.RegisterFailHandler(g.Fail) + g.RunSpecs(t, "Logging Suite") +} + +var _ = g.BeforeSuite(func() { +}) + +var _ = g.AfterSuite(func() { +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging_test.go new file mode 100644 index 000000000..495690c28 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/logging/logging_test.go @@ -0,0 +1,230 @@ +package logging + +import ( + "fmt" + "io" + "os" + + g "github.com/onsi/ginkgo/v2" + o "github.com/onsi/gomega" +) + +var _ = g.Describe("Logging", func() { + var origStderr *os.File + var stderrFile *os.File + + g.BeforeEach(func() { + var err error + stderrFile, err = os.CreateTemp("", "") + o.Expect(err).NotTo(o.HaveOccurred()) + origStderr = os.Stderr + os.Stderr = stderrFile + }) + + g.AfterEach(func() { + os.Stderr = origStderr + o.Expect(stderrFile.Close()).To(o.Succeed()) + o.Expect(os.RemoveAll(stderrFile.Name())).To(o.Succeed()) + }) + + g.Context("log argument prepender", func() { + g.When("none of netns, containerID, ifName are specified", func() { + g.BeforeEach(func() { + Init("", "", "", "", "") + }) + + g.It("should only prepend the cniName", func() { + Panic("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring(fmt.Sprintf(`%s="%s"`, labelCNIName, cniName))) + o.Expect(out).ShouldNot(o.ContainSubstring(labelContainerID)) + o.Expect(out).ShouldNot(o.ContainSubstring(labelNetNS)) + o.Expect(out).ShouldNot(o.ContainSubstring(labelIFName)) + }) + }) + + g.When("netns, containerID and ifName are specified", func() { + const ( + testContainerID = "test-containerid" + testNetNS = "test-netns" + testIFName = "test-ifname" + ) + + g.BeforeEach(func() { + Init("", "", testContainerID, testNetNS, testIFName) + }) + + g.It("should log cniName, netns, containerID and ifName", func() { + Panic("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring(fmt.Sprintf(`%s="%s"`, labelCNIName, cniName))) + o.Expect(out).Should(o.ContainSubstring(fmt.Sprintf(`%s="%s"`, labelContainerID, testContainerID))) + o.Expect(out).Should(o.ContainSubstring(fmt.Sprintf(`%s="%s"`, labelNetNS, testNetNS))) + o.Expect(out).Should(o.ContainSubstring(fmt.Sprintf(`%s="%s"`, labelIFName, testIFName))) + }) + }) + }) + + g.Context("log levels", func() { + g.When("the defaults are used", func() { + g.BeforeEach(func() { + Init("", "", "", "", "") + }) + + g.It("panic messages are logged to stderr", func() { + Panic("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + }) + + g.It("info messages are logged to stderr and look as expected", func() { + Info("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring(`msg="test message"`)) + o.Expect(out).Should(o.ContainSubstring(`a="b"`)) + o.Expect(out).Should(o.ContainSubstring(`level="info"`)) + }) + + g.It("debug messages are not logged to stderr", func() { + Debug("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).ShouldNot(o.ContainSubstring("test message")) + }) + }) + + g.When("the log level is raised to warning", func() { + g.BeforeEach(func() { + Init("warning", "", "", "", "") + }) + + g.It("panic messages are logged to stderr", func() { + Panic("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + }) + + g.It("error messages are logged to stderr", func() { + Error("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + }) + + g.It("warning messages are logged to stderr", func() { + Warning("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + }) + + g.It("info messages are not logged to stderr", func() { + Info("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).ShouldNot(o.ContainSubstring("test message")) + }) + }) + + g.When("the log level is set to an invalid value", func() { + g.BeforeEach(func() { + Init("I'm invalid", "", "", "", "") + }) + + g.It("panic messages are logged to stderr", func() { + Panic("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + }) + + g.It("info messages are logged to stderr", func() { + Info("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + }) + + g.It("debug messages are not logged to stderr", func() { + Debug("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).ShouldNot(o.ContainSubstring("test message")) + }) + }) + }) + + g.Context("log files", func() { + var logFile *os.File + + g.BeforeEach(func() { + var err error + logFile, err = os.CreateTemp("", "") + o.Expect(err).NotTo(o.HaveOccurred()) + }) + + g.AfterEach(func() { + o.Expect(logFile.Close()).To(o.Succeed()) + o.Expect(os.RemoveAll(logFile.Name())).To(o.Succeed()) + }) + + g.When("the log file is set", func() { + g.BeforeEach(func() { + Init("", logFile.Name(), "", "", "") + }) + + g.It("error messages are logged to log file but not to stderr", func() { + Error("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(logFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + + _, _ = stderrFile.Seek(0, 0) + out, err = io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).ShouldNot(o.ContainSubstring("test message")) + }) + }) + + g.When("the log file is set and then unset", func() { + g.BeforeEach(func() { + // TODO: This triggers a data race in github.com/k8snetworkplumbingwg/cni-log; fix the datarace in the + // logging component and then remove the skip. + g.Skip("https://github.com/k8snetworkplumbingwg/cni-log/issues/15") + Init("", logFile.Name(), "", "", "") + setLogFile("") + }) + + g.It("logs to stderr but not to file", func() { + Error("test message", "a", "b") + _, _ = stderrFile.Seek(0, 0) + out, err := io.ReadAll(logFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).ShouldNot(o.ContainSubstring("test message")) + + _, _ = stderrFile.Seek(0, 0) + out, err = io.ReadAll(stderrFile) + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(out).Should(o.ContainSubstring("test message")) + }) + }) + }) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/mocks/pci_utils_mock.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/mocks/pci_utils_mock.go new file mode 100644 index 000000000..d6f71ac5c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/mocks/pci_utils_mock.go @@ -0,0 +1,104 @@ +// Code generated by mockery v2.14.0. DO NOT EDIT. + +package mocks + +import mock "github.com/stretchr/testify/mock" + +// PciUtils is an autogenerated mock type for the pciUtils type +type PciUtils struct { + mock.Mock +} + +// EnableArpAndNdiscNotify provides a mock function with given fields: ifName +func (_m *PciUtils) EnableArpAndNdiscNotify(ifName string) error { + ret := _m.Called(ifName) + + var r0 error + if rf, ok := ret.Get(0).(func(string) error); ok { + r0 = rf(ifName) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// GetPciAddress provides a mock function with given fields: ifName, vf +func (_m *PciUtils) GetPciAddress(ifName string, vf int) (string, error) { + ret := _m.Called(ifName, vf) + + var r0 string + if rf, ok := ret.Get(0).(func(string, int) string); ok { + r0 = rf(ifName, vf) + } else { + r0 = ret.Get(0).(string) + } + + var r1 error + if rf, ok := ret.Get(1).(func(string, int) error); ok { + r1 = rf(ifName, vf) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GetSriovNumVfs provides a mock function with given fields: ifName +func (_m *PciUtils) GetSriovNumVfs(ifName string) (int, error) { + ret := _m.Called(ifName) + + var r0 int + if rf, ok := ret.Get(0).(func(string) int); ok { + r0 = rf(ifName) + } else { + r0 = ret.Get(0).(int) + } + + var r1 error + if rf, ok := ret.Get(1).(func(string) error); ok { + r1 = rf(ifName) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GetVFLinkNamesFromVFID provides a mock function with given fields: pfName, vfID +func (_m *PciUtils) GetVFLinkNamesFromVFID(pfName string, vfID int) ([]string, error) { + ret := _m.Called(pfName, vfID) + + var r0 []string + if rf, ok := ret.Get(0).(func(string, int) []string); ok { + r0 = rf(pfName, vfID) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]string) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(string, int) error); ok { + r1 = rf(pfName, vfID) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +type mockConstructorTestingTNewPciUtils interface { + mock.TestingT + Cleanup(func()) +} + +// NewPciUtils creates a new instance of PciUtils. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewPciUtils(t mockConstructorTestingTNewPciUtils) *PciUtils { + mock := &PciUtils{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov.go new file mode 100644 index 000000000..e92485f8b --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov.go @@ -0,0 +1,373 @@ +package sriov + +import ( + "fmt" + + "github.com/containernetworking/plugins/pkg/ns" + + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/logging" + sriovtypes "github.com/k8snetworkplumbingwg/sriov-cni/pkg/types" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" + "github.com/vishvananda/netlink" +) + +type pciUtils interface { + GetSriovNumVfs(ifName string) (int, error) + GetVFLinkNamesFromVFID(pfName string, vfID int) ([]string, error) + GetPciAddress(ifName string, vf int) (string, error) + EnableArpAndNdiscNotify(ifName string) error +} + +type pciUtilsImpl struct{} + +func (p *pciUtilsImpl) GetSriovNumVfs(ifName string) (int, error) { + return utils.GetSriovNumVfs(ifName) +} + +func (p *pciUtilsImpl) GetVFLinkNamesFromVFID(pfName string, vfID int) ([]string, error) { + return utils.GetVFLinkNamesFromVFID(pfName, vfID) +} + +func (p *pciUtilsImpl) GetPciAddress(ifName string, vf int) (string, error) { + return utils.GetPciAddress(ifName, vf) +} + +func (p *pciUtilsImpl) EnableArpAndNdiscNotify(ifName string) error { + return utils.EnableArpAndNdiscNotify(ifName) +} + +// Manager provides interface invoke sriov nic related operations +type Manager interface { + SetupVF(conf *sriovtypes.NetConf, podifName string, netns ns.NetNS) error + ReleaseVF(conf *sriovtypes.NetConf, podifName string, netns ns.NetNS) error + ResetVFConfig(conf *sriovtypes.NetConf) error + ApplyVFConfig(conf *sriovtypes.NetConf) error + FillOriginalVfInfo(conf *sriovtypes.NetConf) error +} + +type sriovManager struct { + nLink utils.NetlinkManager + utils pciUtils +} + +// NewSriovManager returns an instance of SriovManager +func NewSriovManager() Manager { + return &sriovManager{ + nLink: &utils.MyNetlink{}, + utils: &pciUtilsImpl{}, + } +} + +// SetupVF sets up a VF in Pod netns +func (s *sriovManager) SetupVF(conf *sriovtypes.NetConf, podifName string, netns ns.NetNS) error { + linkName := conf.OrigVfState.HostIFName + + linkObj, err := s.nLink.LinkByName(linkName) + if err != nil { + return fmt.Errorf("error getting VF netdevice with name %s", linkName) + } + + // Save the original effective MAC address before overriding it + conf.OrigVfState.EffectiveMAC = linkObj.Attrs().HardwareAddr.String() + + // tempName used as intermediary name to avoid name conflicts + tempName := fmt.Sprintf("%s%d", "temp_", linkObj.Attrs().Index) + + // 1. Set link down + logging.Debug("1. Set link down", + "func", "SetupVF", + "linkObj", linkObj) + if err := s.nLink.LinkSetDown(linkObj); err != nil { + return fmt.Errorf("failed to down vf device %q: %v", linkName, err) + } + + // 2. Set temp name + logging.Debug("2. Set temp name", + "func", "SetupVF", + "linkObj", linkObj, + "tempName", tempName) + if err := s.nLink.LinkSetName(linkObj, tempName); err != nil { + return fmt.Errorf("error setting temp IF name %s for %s", tempName, linkName) + } + + // 3. Change netns + logging.Debug("3. Change netns", + "func", "SetupVF", + "linkObj", linkObj, + "netns.Fd()", int(netns.Fd())) + if err := s.nLink.LinkSetNsFd(linkObj, int(netns.Fd())); err != nil { + return fmt.Errorf("failed to move IF %s to netns: %q", tempName, err) + } + + if err := netns.Do(func(_ ns.NetNS) error { + // 4. Set Pod IF name + logging.Debug("4. Set Pod IF name", + "func", "SetupVF", + "linkObj", linkObj, + "podifName", podifName) + if err := s.nLink.LinkSetName(linkObj, podifName); err != nil { + return fmt.Errorf("error setting container interface name %s for %s", linkName, tempName) + } + + // 5. Enable IPv4 ARP notify and IPv6 Network Discovery notify + // Error is ignored here because enabling this feature is only a performance enhancement. + logging.Debug("5. Enable IPv4 ARP notify and IPv6 Network Discovery notify", + "func", "SetupVF", + "podifName", podifName) + _ = s.utils.EnableArpAndNdiscNotify(podifName) + + // 6. Set MAC address + if conf.MAC != "" { + logging.Debug("6. Set MAC address", + "func", "SetupVF", + "s.nLink", s.nLink, + "podifName", podifName, + "conf.MAC", conf.MAC) + err = utils.SetVFEffectiveMAC(s.nLink, podifName, conf.MAC) + if err != nil { + return fmt.Errorf("failed to set netlink MAC address to %s: %v", conf.MAC, err) + } + } + + // 7. Bring IF up in Pod netns + logging.Debug("7. Bring IF up in Pod netns", + "func", "SetupVF", + "linkObj", linkObj) + if err := s.nLink.LinkSetUp(linkObj); err != nil { + return fmt.Errorf("error bringing interface up in container ns: %q", err) + } + + return nil + }); err != nil { + return fmt.Errorf("error setting up interface in container namespace: %q", err) + } + + return nil +} + +// ReleaseVF reset a VF from Pod netns and return it to init netns +func (s *sriovManager) ReleaseVF(conf *sriovtypes.NetConf, podifName string, netns ns.NetNS) error { + initns, err := ns.GetCurrentNS() + if err != nil { + return fmt.Errorf("failed to get init netns: %v", err) + } + + return netns.Do(func(_ ns.NetNS) error { + // get VF device + logging.Debug("Get VF device", + "func", "ReleaseVF", + "podifName", podifName) + linkObj, err := s.nLink.LinkByName(podifName) + if err != nil { + return fmt.Errorf("failed to get netlink device with name %s: %q", podifName, err) + } + + // shutdown VF device + logging.Debug("Shutdown VF device", + "func", "ReleaseVF", + "linkObj", linkObj) + if err = s.nLink.LinkSetDown(linkObj); err != nil { + return fmt.Errorf("failed to set link %s down: %q", podifName, err) + } + + // rename VF device + logging.Debug("Rename VF device", + "func", "ReleaseVF", + "linkObj", linkObj, + "conf.OrigVfState.HostIFName", conf.OrigVfState.HostIFName) + err = s.nLink.LinkSetName(linkObj, conf.OrigVfState.HostIFName) + if err != nil { + return fmt.Errorf("failed to rename link %s to host name %s: %q", podifName, conf.OrigVfState.HostIFName, err) + } + + if conf.MAC != "" { + // reset effective MAC address + logging.Debug("Reset effective MAC address", + "func", "ReleaseVF", + "s.nLink", s.nLink, + "conf.OrigVfState.HostIFName", conf.OrigVfState.HostIFName, + "conf.OrigVfState.EffectiveMAC", conf.OrigVfState.EffectiveMAC) + err = utils.SetVFEffectiveMAC(s.nLink, conf.OrigVfState.HostIFName, conf.OrigVfState.EffectiveMAC) + if err != nil { + return fmt.Errorf("failed to restore original effective netlink MAC address %s: %v", conf.OrigVfState.EffectiveMAC, err) + } + } + + // move VF device to init netns + logging.Debug("Move VF device to init netns", + "func", "ReleaseVF", + "linkObj", linkObj, + "initns.Fd()", int(initns.Fd())) + if err = s.nLink.LinkSetNsFd(linkObj, int(initns.Fd())); err != nil { + return fmt.Errorf("failed to move interface %s to init netns: %v", conf.OrigVfState.HostIFName, err) + } + + return nil + }) +} + +func getVfInfo(link netlink.Link, id int) *netlink.VfInfo { + attrs := link.Attrs() + for _, vf := range attrs.Vfs { + if vf.ID == id { + return &vf + } + } + return nil +} + +// ApplyVFConfig configure a VF with parameters given in NetConf +func (s *sriovManager) ApplyVFConfig(conf *sriovtypes.NetConf) error { + pfLink, err := s.nLink.LinkByName(conf.Master) + if err != nil { + return fmt.Errorf("failed to lookup master %q: %v", conf.Master, err) + } + // 1. Set vlan + // if err = s.nLink.LinkSetVfVlanQosProto(pfLink, conf.VFID, *conf.Vlan, *conf.VlanQoS, sriovtypes.VlanProtoInt[*conf.VlanProto]); err != nil { + // return fmt.Errorf("failed to set vf %d vlan configuration - id %d, qos %d and proto %s: %v", conf.VFID, *conf.Vlan, *conf.VlanQoS, *conf.VlanProto, err) + // } + + // 2. Set mac address + if conf.MAC != "" { + // when we restore the original hardware mac address we may get a device or resource busy. so we introduce retry + if err := utils.SetVFHardwareMAC(s.nLink, conf.Master, conf.VFID, conf.MAC); err != nil { + return fmt.Errorf("failed to set MAC address to %s: %v", conf.MAC, err) + } + } + + // 3. Set min/max tx link rate. 0 means no rate limiting. Support depends on NICs and driver. + var minTxRate, maxTxRate int + rateConfigured := false + if conf.MinTxRate != nil { + minTxRate = *conf.MinTxRate + rateConfigured = true + } + + if conf.MaxTxRate != nil { + maxTxRate = *conf.MaxTxRate + rateConfigured = true + } + + if rateConfigured { + if err = s.nLink.LinkSetVfRate(pfLink, conf.VFID, minTxRate, maxTxRate); err != nil { + return fmt.Errorf("failed to set vf %d min_tx_rate to %d Mbps: max_tx_rate to %d Mbps: %v", + conf.VFID, minTxRate, maxTxRate, err) + } + } + + // 4. Set spoofchk flag + if conf.SpoofChk != "" { + spoofChk := false + if conf.SpoofChk == "on" { + spoofChk = true + } + if err = s.nLink.LinkSetVfSpoofchk(pfLink, conf.VFID, spoofChk); err != nil { + return fmt.Errorf("failed to set vf %d spoofchk flag to %s: %v", conf.VFID, conf.SpoofChk, err) + } + } + + // 5. Set trust flag + if conf.Trust != "" { + trust := false + if conf.Trust == "on" { + trust = true + } + if err = s.nLink.LinkSetVfTrust(pfLink, conf.VFID, trust); err != nil { + return fmt.Errorf("failed to set vf %d trust flag to %s: %v", conf.VFID, conf.Trust, err) + } + } + + // 6. Set link state + if conf.LinkState != "" { + var state uint32 + switch conf.LinkState { + case "auto": + state = netlink.VF_LINK_STATE_AUTO + case "enable": + state = netlink.VF_LINK_STATE_ENABLE + case "disable": + state = netlink.VF_LINK_STATE_DISABLE + default: + // the value should have been validated earlier, return error if we somehow got here + return fmt.Errorf("unknown link state %s when setting it for vf %d: %v", conf.LinkState, conf.VFID, err) + } + if err = s.nLink.LinkSetVfState(pfLink, conf.VFID, state); err != nil { + return fmt.Errorf("failed to set vf %d link state to %d: %v", conf.VFID, state, err) + } + } + + return nil +} + +// FillOriginalVfInfo fills the original vf info +func (s *sriovManager) FillOriginalVfInfo(conf *sriovtypes.NetConf) error { + pfLink, err := s.nLink.LinkByName(conf.Master) + if err != nil { + return fmt.Errorf("failed to lookup master %q: %v", conf.Master, err) + } + // Save current the VF state before modifying it + vfState := getVfInfo(pfLink, conf.VFID) + if vfState == nil { + return fmt.Errorf("failed to find vf %d", conf.VFID) + } + conf.OrigVfState.FillFromVfInfo(vfState) + + return err +} + +// ResetVFConfig reset a VF to its original state +func (s *sriovManager) ResetVFConfig(conf *sriovtypes.NetConf) error { + pfLink, err := s.nLink.LinkByName(conf.Master) + if err != nil { + return fmt.Errorf("failed to lookup master %q: %v", conf.Master, err) + } + + // Set 802.1q as default in case cache config does not have a value for vlan proto. + // if conf.OrigVfState.VlanProto == 0 { + // conf.OrigVfState.VlanProto = sriovtypes.VlanProtoInt[sriovtypes.Proto8021q] + // } + + // if err = s.nLink.LinkSetVfVlanQosProto(pfLink, conf.VFID, conf.OrigVfState.Vlan, conf.OrigVfState.VlanQoS, conf.OrigVfState.VlanProto); err != nil { + // return fmt.Errorf("failed to set vf %d vlan configuration - id %d, qos %d and proto %d: %v", conf.VFID, conf.OrigVfState.Vlan, conf.OrigVfState.VlanQoS, conf.OrigVfState.VlanProto, err) + // } + + // Restore spoofchk + if conf.SpoofChk != "" { + if err = s.nLink.LinkSetVfSpoofchk(pfLink, conf.VFID, conf.OrigVfState.SpoofChk); err != nil { + return fmt.Errorf("failed to restore spoofchk for vf %d: %v", conf.VFID, err) + } + } + + // Restore the original administrative MAC address + if conf.MAC != "" { + // when we restore the original hardware mac address we may get a device or resource busy. so we introduce retry + if err := utils.SetVFHardwareMAC(s.nLink, conf.Master, conf.VFID, conf.OrigVfState.AdminMAC); err != nil { + return fmt.Errorf("failed to restore original administrative MAC address %s: %v", conf.OrigVfState.AdminMAC, err) + } + } + + // Restore VF trust + if conf.Trust != "" { + if err = s.nLink.LinkSetVfTrust(pfLink, conf.VFID, conf.OrigVfState.Trust); err != nil { + return fmt.Errorf("failed to set trust for vf %d: %v", conf.VFID, err) + } + } + + // Restore rate limiting + if conf.MinTxRate != nil || conf.MaxTxRate != nil { + if err = s.nLink.LinkSetVfRate(pfLink, conf.VFID, conf.OrigVfState.MinTxRate, conf.OrigVfState.MaxTxRate); err != nil { + return fmt.Errorf("failed to disable rate limiting for vf %d %v", conf.VFID, err) + } + } + + // Restore link state to `auto` + if conf.LinkState != "" { + // Reset only when link_state was explicitly specified, to accommodate for drivers / NICs + // that don't support the netlink command (e.g. igb driver) + if err = s.nLink.LinkSetVfState(pfLink, conf.VFID, conf.OrigVfState.LinkState); err != nil { + return fmt.Errorf("failed to set link state to auto for vf %d: %v", conf.VFID, err) + } + } + + return nil +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov_suite_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov_suite_test.go new file mode 100644 index 000000000..4ee20377c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov_suite_test.go @@ -0,0 +1,26 @@ +package sriov + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "testing" + + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" +) + +func TestConfig(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Sriov Suite") +} + +var _ = BeforeSuite(func() { + // create test sys tree + err := utils.CreateTmpSysFs() + Expect(err).Should(Succeed()) +}) + +var _ = AfterSuite(func() { + err := utils.RemoveTmpSysFs() + Expect(err).Should(Succeed()) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov_test.go new file mode 100644 index 000000000..00f705f00 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/sriov/sriov_test.go @@ -0,0 +1,365 @@ +package sriov + +import ( + "net" + + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" + + "github.com/containernetworking/plugins/pkg/ns" + "github.com/containernetworking/plugins/pkg/testutils" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/sriov/mocks" + sriovtypes "github.com/k8snetworkplumbingwg/sriov-cni/pkg/types" + mocks_utils "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils/mocks" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + "github.com/stretchr/testify/mock" + "github.com/vishvananda/netlink" +) + +var _ = Describe("Sriov", func() { + var ( + t GinkgoTInterface + ) + BeforeEach(func() { + t = GinkgoT() + }) + + Context("Checking SetupVF function", func() { + var ( + podifName string + netconf *sriovtypes.NetConf + ) + + BeforeEach(func() { + podifName = "net1" + netconf = &sriovtypes.NetConf{ + Master: "enp175s0f1", + DeviceID: "0000:af:06.0", + VFID: 0, + OrigVfState: sriovtypes.VfState{ + HostIFName: "enp175s6", + }, + } + t = GinkgoT() + }) + + It("Assuming existing interface", func() { + var targetNetNS ns.NetNS + targetNetNS, err := testutils.NewNS() + defer func() { + if targetNetNS != nil { + targetNetNS.Close() + } + }() + Expect(err).NotTo(HaveOccurred()) + mocked := &mocks_utils.NetlinkManager{} + mockedPciUtils := &mocks.PciUtils{} + fakeMac, err := net.ParseMAC("6e:16:06:0e:b7:e9") + + Expect(err).NotTo(HaveOccurred()) + + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{ + Index: 1000, + Name: "dummylink", + HardwareAddr: fakeMac, + }} + + mocked.On("LinkByName", mock.AnythingOfType("string")).Return(fakeLink, nil) + mocked.On("LinkSetDown", fakeLink).Return(nil) + mocked.On("LinkSetName", fakeLink, mock.Anything).Return(nil) + mocked.On("LinkSetNsFd", fakeLink, mock.AnythingOfType("int")).Return(nil) + mocked.On("LinkSetUp", fakeLink).Return(nil) + mocked.On("LinkSetVfVlan", mock.Anything, mock.AnythingOfType("int"), mock.AnythingOfType("int")).Return(nil) + mocked.On("LinkSetVfVlanQos", mock.Anything, mock.AnythingOfType("int"), mock.AnythingOfType("int"), mock.AnythingOfType("int")).Return(nil) + mockedPciUtils.On("EnableArpAndNdiscNotify", mock.AnythingOfType("string")).Return(nil) + sm := sriovManager{nLink: mocked, utils: mockedPciUtils} + err = sm.SetupVF(netconf, podifName, targetNetNS) + Expect(err).NotTo(HaveOccurred()) + Expect(netconf.OrigVfState.EffectiveMAC).To(Equal("6e:16:06:0e:b7:e9")) + }) + It("Setting VF's MAC address", func() { + var targetNetNS ns.NetNS + targetNetNS, err := testutils.NewNS() + defer func() { + if targetNetNS != nil { + targetNetNS.Close() + } + }() + Expect(err).NotTo(HaveOccurred()) + mocked := &mocks_utils.NetlinkManager{} + mockedPciUtils := &mocks.PciUtils{} + fakeMac, err := net.ParseMAC("6e:16:06:0e:b7:e9") + Expect(err).NotTo(HaveOccurred()) + + netconf.MAC = "e4:11:22:33:44:55" + expMac, err := net.ParseMAC(netconf.MAC) + Expect(err).NotTo(HaveOccurred()) + + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{ + Index: 1000, + Name: "dummylink", + HardwareAddr: fakeMac, + }} + + net1Link := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{ + Index: 1000, + Name: "net1", + HardwareAddr: expMac, + }} + + mocked.On("LinkByName", "enp175s6").Return(fakeLink, nil) + mocked.On("LinkByName", "net1").Return(net1Link, nil) + mocked.On("LinkSetDown", fakeLink).Return(nil) + mocked.On("LinkSetName", fakeLink, mock.Anything).Return(nil) + mocked.On("LinkSetHardwareAddr", net1Link, expMac).Return(nil) + mocked.On("LinkSetNsFd", fakeLink, mock.AnythingOfType("int")).Return(nil) + mocked.On("LinkSetUp", fakeLink).Return(nil) + mockedPciUtils.On("EnableArpAndNdiscNotify", mock.AnythingOfType("string")).Return(nil) + sm := sriovManager{nLink: mocked, utils: mockedPciUtils} + err = sm.SetupVF(netconf, podifName, targetNetNS) + Expect(err).NotTo(HaveOccurred()) + mocked.AssertExpectations(t) + }) + }) + + Context("Checking ReleaseVF function", func() { + var ( + podifName string + netconf *sriovtypes.NetConf + ) + + BeforeEach(func() { + podifName = "net1" + netconf = &sriovtypes.NetConf{ + Master: "enp175s0f1", + DeviceID: "0000:af:06.0", + VFID: 0, + OrigVfState: sriovtypes.VfState{ + HostIFName: "enp175s6", + EffectiveMAC: "6e:16:06:0e:b7:e9", + }, + } + }) + It("Assuming existing interface", func() { + var targetNetNS ns.NetNS + targetNetNS, err := testutils.NewNS() + defer func() { + if targetNetNS != nil { + targetNetNS.Close() + } + }() + Expect(err).NotTo(HaveOccurred()) + mocked := &mocks_utils.NetlinkManager{} + fakeMac, err := net.ParseMAC("6e:16:06:0e:b7:e9") + Expect(err).NotTo(HaveOccurred()) + + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{Index: 1000, Name: "dummylink", HardwareAddr: fakeMac}} + + mocked.On("LinkByName", podifName).Return(fakeLink, nil) + mocked.On("LinkSetDown", fakeLink).Return(nil) + mocked.On("LinkSetName", fakeLink, netconf.OrigVfState.HostIFName).Return(nil) + mocked.On("LinkSetNsFd", fakeLink, mock.AnythingOfType("int")).Return(nil) + sm := sriovManager{nLink: mocked} + err = sm.ReleaseVF(netconf, podifName, targetNetNS) + Expect(err).NotTo(HaveOccurred()) + mocked.AssertExpectations(t) + }) + }) + Context("Checking ReleaseVF function - restore config", func() { + var ( + podifName string + netconf *sriovtypes.NetConf + ) + + BeforeEach(func() { + podifName = "net1" + netconf = &sriovtypes.NetConf{ + Master: "enp175s0f1", + DeviceID: "0000:af:06.0", + VFID: 0, + OrigVfState: sriovtypes.VfState{ + HostIFName: "enp175s6", + EffectiveMAC: "c6:c8:7f:1f:21:90", + }, + } + }) + It("Should not restores Effective MAC address when it is not provided in netconf", func() { + var targetNetNS ns.NetNS + targetNetNS, err := testutils.NewNS() + defer func() { + if targetNetNS != nil { + targetNetNS.Close() + } + }() + Expect(err).NotTo(HaveOccurred()) + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{Index: 1000, Name: "dummylink"}} + mocked := &mocks_utils.NetlinkManager{} + + mocked.On("LinkByName", podifName).Return(fakeLink, nil) + mocked.On("LinkSetDown", fakeLink).Return(nil) + mocked.On("LinkSetName", fakeLink, netconf.OrigVfState.HostIFName).Return(nil) + mocked.On("LinkSetNsFd", fakeLink, mock.AnythingOfType("int")).Return(nil) + sm := sriovManager{nLink: mocked} + err = sm.ReleaseVF(netconf, podifName, targetNetNS) + Expect(err).NotTo(HaveOccurred()) + mocked.AssertExpectations(t) + }) + + It("Restores Effective MAC address when provided in netconf", func() { + netconf.MAC = "aa:f3:8d:65:1b:d4" + var targetNetNS ns.NetNS + targetNetNS, err := testutils.NewNS() + defer func() { + if targetNetNS != nil { + targetNetNS.Close() + } + }() + Expect(err).NotTo(HaveOccurred()) + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{Index: 1000, Name: "dummylink"}} + mocked := &mocks_utils.NetlinkManager{} + + fakeMac, err := net.ParseMAC("c6:c8:7f:1f:21:90") + Expect(err).NotTo(HaveOccurred()) + tempLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{ + Index: 1000, + Name: "enp175s6", + HardwareAddr: fakeMac, + }} + + mocked.On("LinkByName", podifName).Return(fakeLink, nil) + mocked.On("LinkByName", netconf.OrigVfState.HostIFName).Return(tempLink, nil) + mocked.On("LinkSetDown", fakeLink).Return(nil) + mocked.On("LinkSetHardwareAddr", tempLink, fakeMac).Return(nil) + mocked.On("LinkSetName", fakeLink, netconf.OrigVfState.HostIFName).Return(nil) + mocked.On("LinkSetNsFd", fakeLink, mock.AnythingOfType("int")).Return(nil) + sm := sriovManager{nLink: mocked} + err = sm.ReleaseVF(netconf, podifName, targetNetNS) + Expect(err).NotTo(HaveOccurred()) + mocked.AssertExpectations(t) + }) + }) + Context("Checking FillOriginalVfInfo function", func() { + var ( + netconf *sriovtypes.NetConf + ) + + BeforeEach(func() { + netconf = &sriovtypes.NetConf{ + Master: "enp175s0f1", + DeviceID: "0000:af:06.0", + VFID: 0, + OrigVfState: sriovtypes.VfState{ + HostIFName: "enp175s6", + }, + } + }) + It("Saves the current VF state", func() { + mocked := &mocks_utils.NetlinkManager{} + //fakeLink := &FakeLink{netlink.LinkAttrs{Index: 1000, Name: "dummylink"}} + fakeMac, err := net.ParseMAC("6e:16:06:0e:b7:e9") + Expect(err).NotTo(HaveOccurred()) + + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{ + Index: 1000, + Name: "dummylink", + HardwareAddr: fakeMac, + Vfs: []netlink.VfInfo{ + { + ID: 0, + Mac: net.HardwareAddr(fakeMac), + }, + }, + }} + mocked.On("LinkByName", netconf.Master).Return(fakeLink, nil) + sm := sriovManager{nLink: mocked} + err = sm.FillOriginalVfInfo(netconf) + Expect(err).NotTo(HaveOccurred()) + mocked.AssertExpectations(t) + }) + }) + Context("Checking ResetVFConfig function - restore config no user params", func() { + var ( + netconf *sriovtypes.NetConf + ) + + BeforeEach(func() { + netconf = &sriovtypes.NetConf{ + Master: "enp175s0f1", + DeviceID: "0000:af:06.0", + VFID: 0, + OrigVfState: sriovtypes.VfState{ + HostIFName: "enp175s6", + }, + } + }) + It("Does not change VF config if it wasnt requested to be changed in netconf", func() { + mocked := &mocks_utils.NetlinkManager{} + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{Index: 1000, Name: "dummylink"}} + + mocked.On("LinkByName", netconf.Master).Return(fakeLink, nil) + mocked.On("LinkSetVfVlanQosProto", fakeLink, netconf.VFID, netconf.OrigVfState.Vlan, netconf.OrigVfState.VlanQoS, sriovtypes.VlanProtoInt[sriovtypes.Proto8021q]).Return(nil) + sm := sriovManager{nLink: mocked} + err := sm.ResetVFConfig(netconf) + Expect(err).NotTo(HaveOccurred()) + mocked.AssertExpectations(t) + }) + }) + Context("Checking ResetVFConfig function - restore config with user params", func() { + var ( + netconf *sriovtypes.NetConf + ) + + BeforeEach(func() { + vlan := 6 + vlanQos := 3 + maxTxRate := 4000 + minTxRate := 1000 + + netconf = &sriovtypes.NetConf{ + Master: "enp175s0f1", + DeviceID: "0000:af:06.0", + VFID: 0, + MAC: "d2:fc:22:a7:0d:e8", + Vlan: &vlan, + VlanQoS: &vlanQos, + SpoofChk: "on", + MaxTxRate: &maxTxRate, + MinTxRate: &minTxRate, + Trust: "on", + LinkState: "enable", + OrigVfState: sriovtypes.VfState{ + HostIFName: "enp175s6", + SpoofChk: false, + AdminMAC: "aa:f3:8d:65:1b:d4", + EffectiveMAC: "aa:f3:8d:65:1b:d4", + Vlan: 1, + VlanQoS: 1, + MinTxRate: 0, + MaxTxRate: 0, + LinkState: 2, // disable + }, + } + }) + It("Restores original VF configurations", func() { + origMac, err := net.ParseMAC(netconf.OrigVfState.AdminMAC) + Expect(err).NotTo(HaveOccurred()) + mocked := &mocks_utils.NetlinkManager{} + fakeLink := &utils.FakeLink{LinkAttrs: netlink.LinkAttrs{Index: 1000, Name: "dummylink", Vfs: []netlink.VfInfo{ + {Mac: origMac}, + }}} + + mocked.On("LinkByName", netconf.Master).Return(fakeLink, nil) + mocked.On("LinkSetVfVlanQosProto", fakeLink, netconf.VFID, netconf.OrigVfState.Vlan, netconf.OrigVfState.VlanQoS, sriovtypes.VlanProtoInt[sriovtypes.Proto8021q]).Return(nil) + mocked.On("LinkSetVfSpoofchk", fakeLink, netconf.VFID, netconf.OrigVfState.SpoofChk).Return(nil) + mocked.On("LinkSetVfHardwareAddr", fakeLink, netconf.VFID, origMac).Return(nil) + mocked.On("LinkSetVfTrust", fakeLink, netconf.VFID, false).Return(nil) + mocked.On("LinkSetVfRate", fakeLink, netconf.VFID, netconf.OrigVfState.MinTxRate, netconf.OrigVfState.MaxTxRate).Return(nil) + mocked.On("LinkSetVfState", fakeLink, netconf.VFID, netconf.OrigVfState.LinkState).Return(nil) + + sm := sriovManager{nLink: mocked} + err = sm.ResetVFConfig(netconf) + Expect(err).NotTo(HaveOccurred()) + mocked.AssertExpectations(t) + }) + }) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/types/types.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/types/types.go new file mode 100644 index 000000000..1f9f3b926 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/types/types.go @@ -0,0 +1,66 @@ +package types + +import ( + "github.com/containernetworking/cni/pkg/types" + "github.com/vishvananda/netlink" +) + +const ( + Proto8021q = "802.1q" + Proto8021ad = "802.1ad" +) + +var VlanProtoInt = map[string]int{Proto8021q: 33024, Proto8021ad: 34984} + +// VfState represents the state of the VF +type VfState struct { + HostIFName string + SpoofChk bool + Trust bool + AdminMAC string + EffectiveMAC string + Vlan int + VlanQoS int + VlanProto int + MinTxRate int + MaxTxRate int + LinkState uint32 +} + +// FillFromVfInfo - Fill attributes according to the provided netlink.VfInfo struct +func (vs *VfState) FillFromVfInfo(info *netlink.VfInfo) { + vs.AdminMAC = info.Mac.String() + vs.LinkState = info.LinkState + vs.MaxTxRate = int(info.MaxTxRate) + vs.MinTxRate = int(info.MinTxRate) + vs.Vlan = info.Vlan + vs.VlanQoS = info.Qos + vs.VlanProto = info.VlanProto + vs.SpoofChk = info.Spoofchk + vs.Trust = info.Trust != 0 +} + +// NetConf extends types.NetConf for sriov-cni +type NetConf struct { + types.NetConf + OrigVfState VfState // Stores the original VF state as it was prior to any operations done during cmdAdd flow + DPDKMode bool `json:"-"` + Master string + MAC string + Vlan *int `json:"vlan"` + VlanQoS *int `json:"vlanQoS"` + VlanProto *string `json:"vlanProto"` // 802.1ad|802.1q + DeviceID string `json:"deviceID"` // PCI address of a VF in valid sysfs format + VFID int + MinTxRate *int `json:"min_tx_rate"` // Mbps, 0 = disable rate limiting + MaxTxRate *int `json:"max_tx_rate"` // Mbps, 0 = disable rate limiting + SpoofChk string `json:"spoofchk,omitempty"` // on|off + Trust string `json:"trust,omitempty"` // on|off + LinkState string `json:"link_state,omitempty"` // auto|enable|disable + RuntimeConfig struct { + Mac string `json:"mac,omitempty"` + } `json:"runtimeConfig,omitempty"` + DpuDaemonAddress string `json:"ipu_manager_address,omitempty"` + LogLevel string `json:"logLevel,omitempty"` + LogFile string `json:"logFile,omitempty"` +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/mocks/netlink_manager_mock.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/mocks/netlink_manager_mock.go new file mode 100644 index 000000000..0e1fc4395 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/mocks/netlink_manager_mock.go @@ -0,0 +1,211 @@ +// Code generated by mockery v2.20.0. DO NOT EDIT. + +package mocks + +import ( + net "net" + + mock "github.com/stretchr/testify/mock" + + netlink "github.com/vishvananda/netlink" +) + +// NetlinkManager is an autogenerated mock type for the NetlinkManager type +type NetlinkManager struct { + mock.Mock +} + +// LinkByName provides a mock function with given fields: _a0 +func (_m *NetlinkManager) LinkByName(_a0 string) (netlink.Link, error) { + ret := _m.Called(_a0) + + var r0 netlink.Link + var r1 error + if rf, ok := ret.Get(0).(func(string) (netlink.Link, error)); ok { + return rf(_a0) + } + if rf, ok := ret.Get(0).(func(string) netlink.Link); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(netlink.Link) + } + } + + if rf, ok := ret.Get(1).(func(string) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// LinkSetDown provides a mock function with given fields: _a0 +func (_m *NetlinkManager) LinkSetDown(_a0 netlink.Link) error { + ret := _m.Called(_a0) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link) error); ok { + r0 = rf(_a0) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetHardwareAddr provides a mock function with given fields: _a0, _a1 +func (_m *NetlinkManager) LinkSetHardwareAddr(_a0 netlink.Link, _a1 net.HardwareAddr) error { + ret := _m.Called(_a0, _a1) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, net.HardwareAddr) error); ok { + r0 = rf(_a0, _a1) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetName provides a mock function with given fields: _a0, _a1 +func (_m *NetlinkManager) LinkSetName(_a0 netlink.Link, _a1 string) error { + ret := _m.Called(_a0, _a1) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, string) error); ok { + r0 = rf(_a0, _a1) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetNsFd provides a mock function with given fields: _a0, _a1 +func (_m *NetlinkManager) LinkSetNsFd(_a0 netlink.Link, _a1 int) error { + ret := _m.Called(_a0, _a1) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, int) error); ok { + r0 = rf(_a0, _a1) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetUp provides a mock function with given fields: _a0 +func (_m *NetlinkManager) LinkSetUp(_a0 netlink.Link) error { + ret := _m.Called(_a0) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link) error); ok { + r0 = rf(_a0) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetVfHardwareAddr provides a mock function with given fields: _a0, _a1, _a2 +func (_m *NetlinkManager) LinkSetVfHardwareAddr(_a0 netlink.Link, _a1 int, _a2 net.HardwareAddr) error { + ret := _m.Called(_a0, _a1, _a2) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, int, net.HardwareAddr) error); ok { + r0 = rf(_a0, _a1, _a2) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetVfRate provides a mock function with given fields: _a0, _a1, _a2, _a3 +func (_m *NetlinkManager) LinkSetVfRate(_a0 netlink.Link, _a1 int, _a2 int, _a3 int) error { + ret := _m.Called(_a0, _a1, _a2, _a3) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, int, int, int) error); ok { + r0 = rf(_a0, _a1, _a2, _a3) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetVfSpoofchk provides a mock function with given fields: _a0, _a1, _a2 +func (_m *NetlinkManager) LinkSetVfSpoofchk(_a0 netlink.Link, _a1 int, _a2 bool) error { + ret := _m.Called(_a0, _a1, _a2) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, int, bool) error); ok { + r0 = rf(_a0, _a1, _a2) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetVfState provides a mock function with given fields: _a0, _a1, _a2 +func (_m *NetlinkManager) LinkSetVfState(_a0 netlink.Link, _a1 int, _a2 uint32) error { + ret := _m.Called(_a0, _a1, _a2) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, int, uint32) error); ok { + r0 = rf(_a0, _a1, _a2) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetVfTrust provides a mock function with given fields: _a0, _a1, _a2 +func (_m *NetlinkManager) LinkSetVfTrust(_a0 netlink.Link, _a1 int, _a2 bool) error { + ret := _m.Called(_a0, _a1, _a2) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, int, bool) error); ok { + r0 = rf(_a0, _a1, _a2) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LinkSetVfVlanQosProto provides a mock function with given fields: _a0, _a1, _a2, _a3, _a4 +func (_m *NetlinkManager) LinkSetVfVlanQosProto(_a0 netlink.Link, _a1 int, _a2 int, _a3 int, _a4 int) error { + ret := _m.Called(_a0, _a1, _a2, _a3, _a4) + + var r0 error + if rf, ok := ret.Get(0).(func(netlink.Link, int, int, int, int) error); ok { + r0 = rf(_a0, _a1, _a2, _a3, _a4) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +type mockConstructorTestingTNewNetlinkManager interface { + mock.TestingT + Cleanup(func()) +} + +// NewNetlinkManager creates a new instance of NetlinkManager. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewNetlinkManager(t mockConstructorTestingTNewNetlinkManager) *NetlinkManager { + mock := &NetlinkManager{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/mocks/pci_allocator_mock.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/mocks/pci_allocator_mock.go new file mode 100644 index 000000000..4d6580ecb --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/mocks/pci_allocator_mock.go @@ -0,0 +1,81 @@ +// Code generated by mockery v2.14.0. DO NOT EDIT. + +package mocks + +import mock "github.com/stretchr/testify/mock" + +// PCIAllocation is an autogenerated mock type for the PCIAllocation type +type PCIAllocation struct { + mock.Mock +} + +// CleanAllocatedPCI provides a mock function with given fields: _a0 +func (_m *PCIAllocation) CleanAllocatedPCI(_a0 string) error { + ret := _m.Called(_a0) + + var r0 error + if rf, ok := ret.Get(0).(func(string) error); ok { + r0 = rf(_a0) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// IsAllocated provides a mock function with given fields: _a0 +func (_m *PCIAllocation) IsAllocated(_a0 string) (bool, string, error) { + ret := _m.Called(_a0) + + var r0 bool + if rf, ok := ret.Get(0).(func(string) bool); ok { + r0 = rf(_a0) + } else { + r0 = ret.Get(0).(bool) + } + + var r1 string + if rf, ok := ret.Get(1).(func(string) string); ok { + r1 = rf(_a0) + } else { + r1 = ret.Get(1).(string) + } + + var r2 error + if rf, ok := ret.Get(2).(func(string) error); ok { + r2 = rf(_a0) + } else { + r2 = ret.Error(2) + } + + return r0, r1, r2 +} + +// SaveAllocatedPCI provides a mock function with given fields: _a0, _a1 +func (_m *PCIAllocation) SaveAllocatedPCI(_a0 string, _a1 string) error { + ret := _m.Called(_a0, _a1) + + var r0 error + if rf, ok := ret.Get(0).(func(string, string) error); ok { + r0 = rf(_a0, _a1) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +type mockConstructorTestingTNewPCIAllocation interface { + mock.TestingT + Cleanup(func()) +} + +// NewPCIAllocation creates a new instance of PCIAllocation. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewPCIAllocation(t mockConstructorTestingTNewPCIAllocation) *PCIAllocation { + mock := &PCIAllocation{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/netlink_manager.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/netlink_manager.go new file mode 100644 index 000000000..2eeb4c507 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/netlink_manager.go @@ -0,0 +1,90 @@ +package utils + +import ( + "net" + + "github.com/vishvananda/netlink" +) + +// Mocked netlink interface, this is required for unit tests + +// NetlinkManager is an interface to mock nelink library +type NetlinkManager interface { + LinkByName(string) (netlink.Link, error) + LinkSetVfVlanQosProto(netlink.Link, int, int, int, int) error + LinkSetVfHardwareAddr(netlink.Link, int, net.HardwareAddr) error + LinkSetHardwareAddr(netlink.Link, net.HardwareAddr) error + LinkSetUp(netlink.Link) error + LinkSetDown(netlink.Link) error + LinkSetNsFd(netlink.Link, int) error + LinkSetName(netlink.Link, string) error + LinkSetVfRate(netlink.Link, int, int, int) error + LinkSetVfSpoofchk(netlink.Link, int, bool) error + LinkSetVfTrust(netlink.Link, int, bool) error + LinkSetVfState(netlink.Link, int, uint32) error +} + +// MyNetlink NetlinkManager +type MyNetlink struct { + NetlinkManager +} + +// LinkByName implements NetlinkManager +func (n *MyNetlink) LinkByName(name string) (netlink.Link, error) { + return netlink.LinkByName(name) +} + +// LinkSetVfVlanQosProto sets VLAN ID, QoS and Proto field for given VF using NetlinkManager +func (n *MyNetlink) LinkSetVfVlanQosProto(link netlink.Link, vf, vlan, qos, proto int) error { + return netlink.LinkSetVfVlanQosProto(link, vf, vlan, qos, proto) +} + +// LinkSetVfHardwareAddr using NetlinkManager +func (n *MyNetlink) LinkSetVfHardwareAddr(link netlink.Link, vf int, hwaddr net.HardwareAddr) error { + return netlink.LinkSetVfHardwareAddr(link, vf, hwaddr) +} + +// LinkSetHardwareAddr using NetlinkManager +func (n *MyNetlink) LinkSetHardwareAddr(link netlink.Link, hwaddr net.HardwareAddr) error { + return netlink.LinkSetHardwareAddr(link, hwaddr) +} + +// LinkSetUp using NetlinkManager +func (n *MyNetlink) LinkSetUp(link netlink.Link) error { + return netlink.LinkSetUp(link) +} + +// LinkSetDown using NetlinkManager +func (n *MyNetlink) LinkSetDown(link netlink.Link) error { + return netlink.LinkSetDown(link) +} + +// LinkSetNsFd using NetlinkManager +func (n *MyNetlink) LinkSetNsFd(link netlink.Link, fd int) error { + return netlink.LinkSetNsFd(link, fd) +} + +// LinkSetName using NetlinkManager +func (n *MyNetlink) LinkSetName(link netlink.Link, name string) error { + return netlink.LinkSetName(link, name) +} + +// LinkSetVfRate using NetlinkManager +func (n *MyNetlink) LinkSetVfRate(link netlink.Link, vf int, minRate int, maxRate int) error { + return netlink.LinkSetVfRate(link, vf, minRate, maxRate) +} + +// LinkSetVfSpoofchk using NetlinkManager +func (n *MyNetlink) LinkSetVfSpoofchk(link netlink.Link, vf int, check bool) error { + return netlink.LinkSetVfSpoofchk(link, vf, check) +} + +// LinkSetVfTrust using NetlinkManager +func (n *MyNetlink) LinkSetVfTrust(link netlink.Link, vf int, state bool) error { + return netlink.LinkSetVfTrust(link, vf, state) +} + +// LinkSetVfState using NetlinkManager +func (n *MyNetlink) LinkSetVfState(link netlink.Link, vf int, state uint32) error { + return netlink.LinkSetVfState(link, vf, state) +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/packet.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/packet.go new file mode 100644 index 000000000..7628dc820 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/packet.go @@ -0,0 +1,198 @@ +package utils + +import ( + "bytes" + "encoding/binary" + "fmt" + "net" + "syscall" + + current "github.com/containernetworking/cni/pkg/types/100" + "github.com/vishvananda/netlink" + "golang.org/x/net/icmp" + "golang.org/x/net/ipv6" +) + +var ( + arpPacketName = "ARP" + icmpV6PacketName = "ICMPv6" +) + +// htons converts an uint16 from host to network byte order. +func htons(i uint16) uint16 { + return (i<<8)&0xff00 | i>>8 +} + +// formatPacketFieldWriteError builds an error string for the cases when writing to a field of a packet fails. +func formatPacketFieldWriteError(field string, packetType string, writeErr error) error { + return fmt.Errorf("failed to write the %s field in the %s packet: %v", field, packetType, writeErr) +} + +// SendGratuitousArp sends a gratuitous ARP packet with the provided source IP over the provided interface. +func SendGratuitousArp(srcIP net.IP, linkObj netlink.Link) error { + /* As per RFC 5944 section 4.6, a gratuitous ARP packet can be sent by a node in order to spontaneously cause other nodes to update + * an entry in their ARP cache. In the case of SRIOV-CNI, an address can be reused for different pods. Each pod could likely have a + * different link-layer address in this scenario, which makes the ARP cache entries residing in the other nodes to be an invalid. + * The gratuitous ARP packet should update the link-layer address accordingly for the invalid ARP cache. + */ + + // Construct the ARP packet following RFC 5944 section 4.6. + arpPacket := new(bytes.Buffer) + if writeErr := binary.Write(arpPacket, binary.BigEndian, uint16(1)); writeErr != nil { // Hardware Type: 1 is Ethernet + return formatPacketFieldWriteError("Hardware Type", arpPacketName, writeErr) + } + if writeErr := binary.Write(arpPacket, binary.BigEndian, uint16(syscall.ETH_P_IP)); writeErr != nil { // Protocol Type: 0x0800 is IPv4 + return formatPacketFieldWriteError("Protocol Type", arpPacketName, writeErr) + } + if writeErr := binary.Write(arpPacket, binary.BigEndian, uint8(6)); writeErr != nil { // Hardware address Length: 6 bytes for MAC address + return formatPacketFieldWriteError("Hardware address Length", arpPacketName, writeErr) + } + if writeErr := binary.Write(arpPacket, binary.BigEndian, uint8(4)); writeErr != nil { // Protocol address length: 4 bytes for IPv4 address + return formatPacketFieldWriteError("Protocol address length", arpPacketName, writeErr) + } + if writeErr := binary.Write(arpPacket, binary.BigEndian, uint16(1)); writeErr != nil { // Operation: 1 is request, 2 is response + return formatPacketFieldWriteError("Operation", arpPacketName, writeErr) + } + if _, writeErr := arpPacket.Write(linkObj.Attrs().HardwareAddr); writeErr != nil { // Sender hardware address + return formatPacketFieldWriteError("Sender hardware address", arpPacketName, writeErr) + } + if _, writeErr := arpPacket.Write(srcIP.To4()); writeErr != nil { // Sender protocol address + return formatPacketFieldWriteError("Sender protocol address", arpPacketName, writeErr) + } + if _, writeErr := arpPacket.Write([]byte{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}); writeErr != nil { // Target hardware address is the Broadcast MAC. + return formatPacketFieldWriteError("Target hardware address", arpPacketName, writeErr) + } + if _, writeErr := arpPacket.Write(srcIP.To4()); writeErr != nil { // Target protocol address + return formatPacketFieldWriteError("Target protocol address", arpPacketName, writeErr) + } + + sockAddr := syscall.SockaddrLinklayer{ + Protocol: htons(syscall.ETH_P_ARP), // Ethertype of ARP (0x0806) + Ifindex: linkObj.Attrs().Index, // Interface Index + Hatype: 1, // Hardware Type: 1 is Ethernet + Pkttype: 0, // Packet Type. + Halen: 6, // Hardware address Length: 6 bytes for MAC address + Addr: [8]byte{0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // Address is the broadcast MAC address. + } + + // Create a socket such that the Ethernet header would constructed by the OS. The arpPacket only contains the ARP payload. + soc, err := syscall.Socket(syscall.AF_PACKET, syscall.SOCK_DGRAM, int(htons(syscall.ETH_P_ARP))) + if err != nil { + return fmt.Errorf("failed to create AF_PACKET datagram socket: %v", err) + } + defer syscall.Close(soc) + + if err := syscall.Sendto(soc, arpPacket.Bytes(), 0, &sockAddr); err != nil { + return fmt.Errorf("failed to send Gratuitous ARP for IPv4 %s on Interface %s: %v", srcIP.String(), linkObj.Attrs().Name, err) + } + + return nil +} + +// SendUnsolicitedNeighborAdvertisement sends an unsolicited neighbor advertisement packet with the provided source IP over the provided interface. +func SendUnsolicitedNeighborAdvertisement(srcIP net.IP, linkObj netlink.Link) error { + /* As per RFC 4861, a link-layer address change can multicast a few unsolicited neighbor advertisements to all nodes to quickly + * update the cached link-layer addresses that have become invalid. In the case of SRIOV-CNI, an address can be reused for + * different pods. Each pod could likely have a different link-layer address in this scenario, which makes the Neighbor Cache + * entries residing in the neighbors to be an invalid. The unsolicited neighbor advertisement should update the link-layer address + * accordingly for the IPv6 entry. + * However if any of these conditions are true: + * - The IPv6 address was not reused for the new pod. + * - No prior established communication with the neighbor. + * Then the neighbor receiving this unsolicited neighbor advertisement would be silently discard. This behavior is described + * in RFC 4861 section 7.2.5. This is acceptable behavior since the purpose of sending an unsolicited neighbor advertisement + * is not to create a new entry but rather update already existing invalid entries. + */ + + // Construct the ICMPv6 Neighbor Advertisement packet following RFC 4861. + payload := new(bytes.Buffer) + // ICMPv6 Flags: As per RFC 4861, the solicited flag must not be set and the override flag should be set (to + // override existing cache entry) for unsolicited advertisements. + if writeErr := binary.Write(payload, binary.BigEndian, uint32(0x20000000)); writeErr != nil { + return formatPacketFieldWriteError("Flags", icmpV6PacketName, writeErr) + } + if _, writeErr := payload.Write(srcIP.To16()); writeErr != nil { // ICMPv6 Target IPv6 Address. + return formatPacketFieldWriteError("Target IPv6 Address", icmpV6PacketName, writeErr) + } + if writeErr := binary.Write(payload, binary.BigEndian, uint8(2)); writeErr != nil { // ICMPv6 Option Type: 2 is target link-layer address. + return formatPacketFieldWriteError("Option Type", icmpV6PacketName, writeErr) + } + if writeErr := binary.Write(payload, binary.BigEndian, uint8(1)); writeErr != nil { // ICMPv6 Option Length. Units of 8 bytes. + return formatPacketFieldWriteError("Option Length", icmpV6PacketName, writeErr) + } + if _, writeErr := payload.Write(linkObj.Attrs().HardwareAddr); writeErr != nil { // ICMPv6 Option Link-layer Address. + return formatPacketFieldWriteError("Option Link-layer Address", icmpV6PacketName, writeErr) + } + + icmpv6Msg := icmp.Message{ + Type: ipv6.ICMPTypeNeighborAdvertisement, // ICMPv6 type is neighbor advertisement. + Code: 0, // ICMPv6 Code: As per RFC 4861 section 7.1.2, the code is always 0. + Checksum: 0, // Checksum is calculated later. + Body: &icmp.RawBody{ + Data: payload.Bytes(), + }, + } + + // Get the byte array of the ICMPv6 Message. + icmpv6Bytes, err := icmpv6Msg.Marshal(nil) + if err != nil { + return fmt.Errorf("failed to Marshal ICMPv6 Message: %v", err) + } + + // Create a socket such that the Ethernet header and IPv6 header would constructed by the OS. + soc, err := syscall.Socket(syscall.AF_INET6, syscall.SOCK_RAW, syscall.IPPROTO_ICMPV6) + if err != nil { + return fmt.Errorf("failed to create AF_INET6 raw socket: %v", err) + } + defer syscall.Close(soc) + + // As per RFC 4861 section 7.1.2, the IPv6 hop limit is always 255. + if err := syscall.SetsockoptInt(soc, syscall.IPPROTO_IPV6, syscall.IPV6_MULTICAST_HOPS, 255); err != nil { + return fmt.Errorf("failed to set IPv6 multicast hops to 255: %v", err) + } + + // Set the destination IPv6 address to the IPv6 link-local all nodes multicast address (ff02::1). + var r [16]byte + copy(r[:], net.IPv6linklocalallnodes.To16()) + sockAddr := syscall.SockaddrInet6{Addr: r} + if err := syscall.Sendto(soc, icmpv6Bytes, 0, &sockAddr); err != nil { + return fmt.Errorf("failed to send Unsolicited Neighbor Advertisement for IPv6 %s on Interface %s: %v", srcIP.String(), linkObj.Attrs().Name, err) + } + + return nil +} + +// AnnounceIPs sends either a GARP or Unsolicited NA depending on the IP address type (IPv4 vs. IPv6 respectively) configured on the interface. +func AnnounceIPs(ifName string, ipConfigs []*current.IPConfig) error { + myNetLink := MyNetlink{} + + // Retrieve the interface name in the container. + linkObj, err := myNetLink.LinkByName(ifName) + if err != nil { + return fmt.Errorf("failed to get netlink device with name %q: %v", ifName, err) + } + if !IsValidMACAddress(linkObj.Attrs().HardwareAddr) { + return fmt.Errorf("invalid Ethernet MAC address: %q", linkObj.Attrs().HardwareAddr) + } + + // For all the IP addresses assigned by IPAM, we will send either a GARP (IPv4) or Unsolicited NA (IPv6). + for _, ipc := range ipConfigs { + var err error + if IsIPv6(ipc.Address.IP) { + /* As per RFC 4861, sending unsolicited neighbor advertisements should be considered as a performance + * optimization. It does not reliably update caches in all nodes. The Neighbor Unreachability Detection + * algorithm is more reliable although it may take slightly longer to update. + */ + err = SendUnsolicitedNeighborAdvertisement(ipc.Address.IP, linkObj) + } else if IsIPv4(ipc.Address.IP) { + err = SendGratuitousArp(ipc.Address.IP, linkObj) + } else { + return fmt.Errorf("the IP %s on interface %q is neither IPv4 or IPv6", ipc.Address.IP.String(), ifName) + } + + if err != nil { + return fmt.Errorf("failed to send GARP/NA message for ip %s on interface %q: %v", ipc.Address.IP.String(), ifName, err) + } + } + return nil +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/pci_allocator.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/pci_allocator.go new file mode 100644 index 000000000..3bf6ff054 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/pci_allocator.go @@ -0,0 +1,92 @@ +package utils + +import ( + "fmt" + "os" + "path/filepath" + + "github.com/containernetworking/plugins/pkg/ns" + "github.com/k8snetworkplumbingwg/sriov-cni/pkg/logging" +) + +type PCIAllocation interface { + SaveAllocatedPCI(string, string) error + DeleteAllocatedPCI(string) error + IsAllocated(string) error +} + +type PCIAllocator struct { + dataDir string +} + +// NewPCIAllocator returns a new PCI allocator +// it will use the /pci folder to store the information about allocated PCI addresses +func NewPCIAllocator(dataDir string) *PCIAllocator { + return &PCIAllocator{dataDir: filepath.Join(dataDir, "pci")} +} + +// SaveAllocatedPCI creates a file with the pci address as a name and the network namespace as the content +// return error if the file was not created +func (p *PCIAllocator) SaveAllocatedPCI(pciAddress, ns string) error { + if err := os.MkdirAll(p.dataDir, 0600); err != nil { + return fmt.Errorf("failed to create the sriov data directory(%q): %v", p.dataDir, err) + } + + path := filepath.Join(p.dataDir, pciAddress) + err := os.WriteFile(path, []byte(ns), 0600) + if err != nil { + return fmt.Errorf("failed to write used PCI address lock file in the path(%q): %v", path, err) + } + + return err +} + +// DeleteAllocatedPCI Remove the allocated PCI file +// return error if the file doesn't exist +func (p *PCIAllocator) DeleteAllocatedPCI(pciAddress string) error { + path := filepath.Join(p.dataDir, pciAddress) + if err := os.Remove(path); err != nil { + return fmt.Errorf("error removing PCI address lock file %s: %v", path, err) + } + return nil +} + +// IsAllocated checks if the PCI address file exist +// if it exists we also check the network namespace still exist if not we delete the allocation +// The function will return an error if the pci is still allocated to a running pod +func (p *PCIAllocator) IsAllocated(pciAddress string) (bool, error) { + path := filepath.Join(p.dataDir, pciAddress) + _, err := os.Stat(path) + if err != nil { + if os.IsNotExist(err) { + return false, nil + } + + return false, fmt.Errorf("failed to check for pci address file for %s: %v", path, err) + } + + dat, err := os.ReadFile(path) + if err != nil { + return false, fmt.Errorf("failed to read for pci address file for %s: %v", path, err) + } + + // To prevent a locking of a PCI address for every pciAddress file we also add the netns path where it's been used + // This way if for some reason the cmdDel command was not called but the pod namespace doesn't exist anymore + // we release the PCI address + networkNamespace, err := ns.GetNS(string(dat)) + if err != nil { + logging.Debug("Mark the PCI address as released", + "func", "IsAllocated", + "pciAddress", pciAddress) + err = p.DeleteAllocatedPCI(pciAddress) + if err != nil { + return false, fmt.Errorf("error deleting the pci allocation for vf pci address %s: %v", pciAddress, err) + } + + return false, nil + } + + // Close the network namespace + networkNamespace.Close() + return true, nil +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/pci_allocator_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/pci_allocator_test.go new file mode 100644 index 000000000..4160aa308 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/pci_allocator_test.go @@ -0,0 +1,60 @@ +package utils + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/containernetworking/plugins/pkg/ns" + "github.com/containernetworking/plugins/pkg/testutils" +) + +var _ = Describe("PCIAllocator", func() { + var targetNetNS ns.NetNS + var err error + + AfterEach(func() { + if targetNetNS != nil { + targetNetNS.Close() + err = testutils.UnmountNS(targetNetNS) + } + }) + + Context("IsAllocated", func() { + It("Assuming is not allocated", func() { + allocator := NewPCIAllocator(ts.dirRoot) + isAllocated, err := allocator.IsAllocated("0000:af:00.1") + Expect(err).ToNot(HaveOccurred()) + Expect(isAllocated).To(BeFalse()) + }) + + It("Assuming is allocated and namespace exist", func() { + targetNetNS, err = testutils.NewNS() + Expect(err).NotTo(HaveOccurred()) + allocator := NewPCIAllocator(ts.dirRoot) + + err = allocator.SaveAllocatedPCI("0000:af:00.1", targetNetNS.Path()) + Expect(err).ToNot(HaveOccurred()) + + isAllocated, err := allocator.IsAllocated("0000:af:00.1") + Expect(err).ToNot(HaveOccurred()) + Expect(isAllocated).To(BeTrue()) + }) + + It("Assuming is allocated and namespace doesn't exist", func() { + targetNetNS, err = testutils.NewNS() + Expect(err).NotTo(HaveOccurred()) + + allocator := NewPCIAllocator(ts.dirRoot) + err = allocator.SaveAllocatedPCI("0000:af:00.1", targetNetNS.Path()) + Expect(err).ToNot(HaveOccurred()) + err = targetNetNS.Close() + Expect(err).ToNot(HaveOccurred()) + err = testutils.UnmountNS(targetNetNS) + Expect(err).ToNot(HaveOccurred()) + + isAllocated, err := allocator.IsAllocated("0000:af:00.1") + Expect(err).ToNot(HaveOccurred()) + Expect(isAllocated).To(BeFalse()) + }) + }) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/testing.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/testing.go new file mode 100644 index 000000000..7db0c19de --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/testing.go @@ -0,0 +1,156 @@ +/* + This file contains test helper functions to mock linux sysfs directory. + If a package need to access system sysfs it should call CreateTmpSysFs() before test + then call RemoveTmpSysFs() once test is done for clean up. +*/ + +package utils + +import ( + "os" + "path/filepath" + "syscall" + + "github.com/vishvananda/netlink" +) + +type tmpSysFs struct { + dirRoot string + dirList []string + fileList map[string][]byte + netSymlinks map[string]string + devSymlinks map[string]string + vfSymlinks map[string]string + originalRoot *os.File +} + +var ts = tmpSysFs{ + dirList: []string{ + "sys/class/net", + "sys/bus/pci/devices", + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1/net/enp175s0f1", + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.0/net/enp175s6", + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.1/net/enp175s7", + "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0/net/ens1", + "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0/net/ens1d1", + }, + fileList: map[string][]byte{ + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1/sriov_numvfs": []byte("2"), + "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0/sriov_numvfs": []byte("0"), + }, + netSymlinks: map[string]string{ + "sys/class/net/enp175s0f1": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1/net/enp175s0f1", + "sys/class/net/enp175s6": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.0/net/enp175s6", + "sys/class/net/enp175s7": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.1/net/enp175s7", + "sys/class/net/ens1": "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0/net/ens1", + "sys/class/net/ens1d1": "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0/net/ens1d1", + }, + devSymlinks: map[string]string{ + "sys/class/net/enp175s0f1/device": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1", + "sys/class/net/enp175s6/device": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.0", + "sys/class/net/enp175s7/device": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.1", + "sys/class/net/ens1/device": "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0", + "sys/class/net/ens1d1/device": "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0", + + "sys/bus/pci/devices/0000:af:00.1": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1", + "sys/bus/pci/devices/0000:af:06.0": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.0", + "sys/bus/pci/devices/0000:af:06.1": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.1", + "sys/bus/pci/devices/0000:05:00.0": "sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0", + }, + vfSymlinks: map[string]string{ + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1/virtfn0": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.0", + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.0/physfn": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1", + + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1/virtfn1": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.1", + "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:06.1/physfn": "sys/devices/pci0000:ae/0000:ae:00.0/0000:af:00.1", + }, +} + +// CreateTmpSysFs create mock sysfs for testing +func CreateTmpSysFs() error { + originalRoot, _ := os.Open("/") + ts.originalRoot = originalRoot + + tmpdir, err := os.MkdirTemp("/tmp", "sriovplugin-testfiles-") + if err != nil { + return err + } + + ts.dirRoot = tmpdir + //syscall.Chroot(ts.dirRoot) + + for _, dir := range ts.dirList { + if err := os.MkdirAll(filepath.Join(ts.dirRoot, dir), 0755); err != nil { + return err + } + } + + for filename, body := range ts.fileList { + if err := os.WriteFile(filepath.Join(ts.dirRoot, filename), body, 0600); err != nil { + return err + } + } + + for link, target := range ts.netSymlinks { + if err := createSymlinks(filepath.Join(ts.dirRoot, link), filepath.Join(ts.dirRoot, target)); err != nil { + return err + } + } + + for link, target := range ts.devSymlinks { + if err := createSymlinks(filepath.Join(ts.dirRoot, link), filepath.Join(ts.dirRoot, target)); err != nil { + return err + } + } + + for link, target := range ts.vfSymlinks { + if err := createSymlinks(filepath.Join(ts.dirRoot, link), filepath.Join(ts.dirRoot, target)); err != nil { + return err + } + } + + SysBusPci = filepath.Join(ts.dirRoot, SysBusPci) + NetDirectory = filepath.Join(ts.dirRoot, NetDirectory) + return nil +} + +func createSymlinks(link, target string) error { + if err := os.MkdirAll(target, 0755); err != nil { + return err + } + + return os.Symlink(target, link) +} + +// RemoveTmpSysFs removes mocked sysfs +func RemoveTmpSysFs() error { + err := ts.originalRoot.Chdir() + if err != nil { + return err + } + if err = syscall.Chroot("."); err != nil { + return err + } + if err = ts.originalRoot.Close(); err != nil { + return err + } + + return os.RemoveAll(ts.dirRoot) +} + +// FakeLink is a dummy netlink struct used during testing +type FakeLink struct { + netlink.LinkAttrs +} + +// type FakeLink struct { +// linkAtrrs *netlink.LinkAttrs +// } + +func (l *FakeLink) Attrs() *netlink.LinkAttrs { + return &l.LinkAttrs +} + +func (l *FakeLink) Type() string { + return "FakeLink" +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils.go new file mode 100644 index 000000000..81bcf70f3 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils.go @@ -0,0 +1,404 @@ +package utils + +import ( + "bytes" + "encoding/json" + "fmt" + "net" + "os" + "path/filepath" + "strconv" + "strings" + "time" +) + +var ( + sriovConfigured = "/sriov_numvfs" + // NetDirectory sysfs net directory + NetDirectory = "/sys/class/net" + // SysBusPci is sysfs pci device directory + SysBusPci = "/sys/bus/pci/devices" + // SysV4ArpNotify is the sysfs IPv4 ARP Notify directory + SysV4ArpNotify = "/proc/sys/net/ipv4/conf/" + // SysV6NdiscNotify is the sysfs IPv6 Neighbor Discovery Notify directory + SysV6NdiscNotify = "/proc/sys/net/ipv6/conf/" + // UserspaceDrivers is a list of driver names that don't have netlink representation for their devices + UserspaceDrivers = []string{"vfio-pci", "uio_pci_generic", "igb_uio"} +) + +// EnableArpAndNdiscNotify enables IPv4 arp_notify and IPv6 ndisc_notify for netdev +func EnableArpAndNdiscNotify(ifName string) error { + /* For arp_notify, when a value of "1" is set then a Gratuitous ARP request will be sent + * when the network device is brought up or if the link-layer address changes. + * For ndsic_notify, when a value of "1" is set then a Unsolicited Neighbor Advertisement + * will be sent when the network device is brought up or if the link-layer address changes. + * Both of these being enabled would be useful in the case when an application reenables + * an interface or if the MAC address configuration is changed. The kernel is responsible + * for sending of these packets when the conditions are met. + */ + v4ArpNotifyPath := filepath.Join(SysV4ArpNotify, ifName, "arp_notify") + err := os.WriteFile(v4ArpNotifyPath, []byte("1"), os.ModeAppend) + if err != nil { + return fmt.Errorf("failed to write arp_notify=1 for interface %s: %v", ifName, err) + } + v6NdiscNotifyPath := filepath.Join(SysV6NdiscNotify, ifName, "ndisc_notify") + err = os.WriteFile(v6NdiscNotifyPath, []byte("1"), os.ModeAppend) + if err != nil { + return fmt.Errorf("failed to write ndisc_notify=1 for interface %s: %v", ifName, err) + } + return nil +} + +// GetSriovNumVfs takes in a PF name(ifName) as string and returns number of VF configured as int +func GetSriovNumVfs(ifName string) (int, error) { + var vfTotal int + + sriovFile := filepath.Join(NetDirectory, ifName, "device", sriovConfigured) + if _, err := os.Lstat(sriovFile); err != nil { + return vfTotal, fmt.Errorf("failed to open the sriov_numfs of device %q: %v", ifName, err) + } + + data, err := os.ReadFile(sriovFile) + if err != nil { + return vfTotal, fmt.Errorf("failed to read the sriov_numfs of device %q: %v", ifName, err) + } + + if len(data) == 0 { + return vfTotal, fmt.Errorf("no data in the file %q", sriovFile) + } + + sriovNumfs := strings.TrimSpace(string(data)) + vfTotal, err = strconv.Atoi(sriovNumfs) + if err != nil { + return vfTotal, fmt.Errorf("failed to convert sriov_numfs(byte value) to int of device %q: %v", ifName, err) + } + + return vfTotal, nil +} + +// GetVfid takes in VF's PCI address(addr) and pfName as string and returns VF's ID as int +func GetVfid(addr string, pfName string) (int, error) { + var id int + vfTotal, err := GetSriovNumVfs(pfName) + if err != nil { + return id, err + } + for vf := 0; vf < vfTotal; vf++ { + vfDir := filepath.Join(NetDirectory, pfName, "device", fmt.Sprintf("virtfn%d", vf)) + _, err := os.Lstat(vfDir) + if err != nil { + continue + } + pciinfo, err := os.Readlink(vfDir) + if err != nil { + continue + } + pciaddr := filepath.Base(pciinfo) + if pciaddr == addr { + return vf, nil + } + } + return id, fmt.Errorf("unable to get VF ID with PF: %s and VF pci address %v", pfName, addr) +} + +// GetPfName returns PF net device name of a given VF pci address +func GetPfName(vf string) (string, error) { + pfSymLink := filepath.Join(SysBusPci, vf, "physfn", "net") + _, err := os.Lstat(pfSymLink) + if err != nil { + return "", err + } + + files, err := os.ReadDir(pfSymLink) + if err != nil { + return "", err + } + + if len(files) < 1 { + return "", fmt.Errorf("PF network device not found") + } + + return strings.TrimSpace(files[0].Name()), nil +} + +// GetPciAddress takes in a interface(ifName) and VF id and returns its pci addr as string +func GetPciAddress(ifName string, vf int) (string, error) { + var pciaddr string + vfDir := filepath.Join(NetDirectory, ifName, "device", fmt.Sprintf("virtfn%d", vf)) + dirInfo, err := os.Lstat(vfDir) + if err != nil { + return pciaddr, fmt.Errorf("can't get the symbolic link of virtfn%d dir of the device %q: %v", vf, ifName, err) + } + + if (dirInfo.Mode() & os.ModeSymlink) == 0 { + return pciaddr, fmt.Errorf("No symbolic link for the virtfn%d dir of the device %q", vf, ifName) + } + + pciinfo, err := os.Readlink(vfDir) + if err != nil { + return pciaddr, fmt.Errorf("can't read the symbolic link of virtfn%d dir of the device %q: %v", vf, ifName, err) + } + + pciaddr = filepath.Base(pciinfo) + return pciaddr, nil +} + +// GetSharedPF takes in VF name(ifName) as string and returns the other VF name that shares same PCI address as string +func GetSharedPF(ifName string) (string, error) { + pfName := "" + pfDir := filepath.Join(NetDirectory, ifName) + dirInfo, err := os.Lstat(pfDir) + if err != nil { + return pfName, fmt.Errorf("can't get the symbolic link of the device %q: %v", ifName, err) + } + + if (dirInfo.Mode() & os.ModeSymlink) == 0 { + return pfName, fmt.Errorf("No symbolic link for dir of the device %q", ifName) + } + + fullpath, _ := filepath.EvalSymlinks(pfDir) + parentDir := fullpath[:len(fullpath)-len(ifName)] + dirList, _ := os.ReadDir(parentDir) + + for _, file := range dirList { + if file.Name() != ifName { + pfName = file.Name() + return pfName, nil + } + } + + return pfName, fmt.Errorf("Shared PF not found") +} + +// GetVFLinkName returns VF's network interface name given it's PCI addr +func GetVFLinkName(pciAddr string) (string, error) { + var names []string + vfDir := filepath.Join(SysBusPci, pciAddr, "net") + if _, err := os.Lstat(vfDir); err != nil { + return "", err + } + + fInfos, err := os.ReadDir(vfDir) + if err != nil { + return "", fmt.Errorf("failed to read net dir of the device %s: %v", pciAddr, err) + } + + if len(fInfos) == 0 { + return "", fmt.Errorf("VF device %s sysfs path (%s) has no entries", pciAddr, vfDir) + } + + names = make([]string, 0) + for _, f := range fInfos { + names = append(names, f.Name()) + } + + return names[0], nil +} + +// GetVFLinkNamesFromVFID returns VF's network interface name given it's PF name as string and VF id as int +func GetVFLinkNamesFromVFID(pfName string, vfID int) ([]string, error) { + var names []string + vfDir := filepath.Join(NetDirectory, pfName, "device", fmt.Sprintf("virtfn%d", vfID), "net") + if _, err := os.Lstat(vfDir); err != nil { + return nil, err + } + + fInfos, err := os.ReadDir(vfDir) + if err != nil { + return nil, fmt.Errorf("failed to read the virtfn%d dir of the device %q: %v", vfID, pfName, err) + } + + names = make([]string, 0) + for _, f := range fInfos { + names = append(names, f.Name()) + } + + return names, nil +} + +// HasDpdkDriver checks if a device is attached to dpdk supported driver +func HasDpdkDriver(pciAddr string) (bool, error) { + driverLink := filepath.Join(SysBusPci, pciAddr, "driver") + driverPath, err := filepath.EvalSymlinks(driverLink) + if err != nil { + return false, err + } + driverStat, err := os.Stat(driverPath) + if err != nil { + return false, err + } + driverName := driverStat.Name() + for _, drv := range UserspaceDrivers { + if driverName == drv { + return true, nil + } + } + return false, nil +} + +// SaveNetConf takes in container ID, data dir and Pod interface name as string and a json encoded struct Conf +// and save this Conf in data dir +func SaveNetConf(cid, dataDir, podIfName string, conf interface{}) error { + netConfBytes, err := json.Marshal(conf) + if err != nil { + return fmt.Errorf("error serializing delegate netconf: %v", err) + } + + s := []string{cid, podIfName} + cRef := strings.Join(s, "-") + + // save the rendered netconf for cmdDel + return saveScratchNetConf(cRef, dataDir, netConfBytes) +} + +func saveScratchNetConf(containerID, dataDir string, netconf []byte) error { + if err := os.MkdirAll(dataDir, 0700); err != nil { + return fmt.Errorf("failed to create the sriov data directory(%q): %v", dataDir, err) + } + + path := filepath.Join(dataDir, containerID) + + err := os.WriteFile(path, netconf, 0600) + if err != nil { + return fmt.Errorf("failed to write container data in the path(%q): %v", path, err) + } + + return err +} + +// ReadScratchNetConf takes in container ID, Pod interface name and data dir as string and returns a pointer to Conf +func ReadScratchNetConf(cRefPath string) ([]byte, error) { + data, err := os.ReadFile(cRefPath) + if err != nil { + return nil, fmt.Errorf("failed to read container data in the path(%q): %v", cRefPath, err) + } + + return data, err +} + +// CleanCachedNetConf removed cached NetConf from disk +func CleanCachedNetConf(cRefPath string) error { + if err := os.Remove(cRefPath); err != nil { + return fmt.Errorf("error removing NetConf file %s: %v", cRefPath, err) + } + return nil +} + +// SetVFEffectiveMAC will try to set the mac address on a specific VF interface +// +// the function will also validate that the mac address was configured as expect +// it will return an error if it didn't manage to configure the vf mac address +// or the mac is not equal to the expect one +// retries 20 times and wait 100 milliseconds +// +// Some NIC drivers (i.e. i40e/iavf) set VF MAC address asynchronously +// via PF. This means that while the PF could already show the VF with +// the desired MAC address, the netdev VF may still have the original +// one. If in this window we issue a netdev VF MAC address set, the driver +// will return an error and the pod will fail to create. +// Other NICs (Mellanox) require explicit netdev VF MAC address so we +// cannot skip this part. +// Retry up to 5 times; wait 200 milliseconds between retries +func SetVFEffectiveMAC(netLinkManager NetlinkManager, netDeviceName string, macAddress string) error { + hwaddr, err := net.ParseMAC(macAddress) + if err != nil { + return fmt.Errorf("failed to parse MAC address %s: %v", macAddress, err) + } + + orgLinkObj, err := netLinkManager.LinkByName(netDeviceName) + if err != nil { + return err + } + + return Retry(20, 100*time.Millisecond, func() error { + if err := netLinkManager.LinkSetHardwareAddr(orgLinkObj, hwaddr); err != nil { + return err + } + + linkObj, err := netLinkManager.LinkByName(netDeviceName) + if err != nil { + return fmt.Errorf("failed to get netlink device with name %s: %q", orgLinkObj.Attrs().Name, err) + } + if linkObj.Attrs().HardwareAddr.String() != macAddress { + return fmt.Errorf("effective mac address is different from requested one") + } + + return nil + }) +} + +// SetVFHardwareMAC will try to set the hardware mac address on a specific VF ID under a requested PF + +// the function will also validate that the mac address was configured as expect +// it will return an error if it didn't manage to configure the vf mac address +// or the mac is not equal to the expect one +// retries 20 times and wait 100 milliseconds +func SetVFHardwareMAC(netLinkManager NetlinkManager, pfDevice string, vfID int, macAddress string) error { + hwaddr, err := net.ParseMAC(macAddress) + if err != nil { + return fmt.Errorf("failed to parse MAC address %s: %v", macAddress, err) + } + + orgLinkObj, err := netLinkManager.LinkByName(pfDevice) + if err != nil { + return err + } + + return Retry(20, 100*time.Millisecond, func() error { + if err := netLinkManager.LinkSetVfHardwareAddr(orgLinkObj, vfID, hwaddr); err != nil { + return err + } + + linkObj, err := netLinkManager.LinkByName(pfDevice) + if err != nil { + return fmt.Errorf("failed to get netlink device with name %s: %q", orgLinkObj.Attrs().Name, err) + } + if linkObj.Attrs().Vfs[vfID].Mac.String() != macAddress { + return fmt.Errorf("hardware mac address is different from requested one") + } + + return nil + }) +} + +// IsValidMACAddress checks if net.HardwareAddr is a valid MAC address. +func IsValidMACAddress(addr net.HardwareAddr) bool { + invalidMACAddresses := [][]byte{ + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, + } + valid := false + if len(addr) == 6 { + valid = true + for _, invalidMACAddress := range invalidMACAddresses { + if bytes.Equal(addr, invalidMACAddress) { + valid = false + break + } + } + } + return valid +} + +// IsIPv4 checks if a net.IP is an IPv4 address. +func IsIPv4(ip net.IP) bool { + return ip.To4() != nil +} + +// IsIPv6 checks if a net.IP is an IPv6 address. +func IsIPv6(ip net.IP) bool { + return ip.To4() == nil && ip.To16() != nil +} + +// Retry retries a given function until no return error; times out after retries*sleep +func Retry(retries int, sleep time.Duration, f func() error) error { + err := error(nil) + for retry := 0; retry < retries; retry++ { + err = f() + if err == nil { + return nil + } + time.Sleep(sleep) + } + return err +} diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils_suite_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils_suite_test.go new file mode 100644 index 000000000..66433869c --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils_suite_test.go @@ -0,0 +1,24 @@ +package utils + +import ( + "testing" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +func TestUtils(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Utils Suite") +} + +var _ = BeforeSuite(func() { + // create test sys tree + err := CreateTmpSysFs() + Expect(err).Should(Succeed()) +}) + +var _ = AfterSuite(func() { + err := RemoveTmpSysFs() + Expect(err).Should(Succeed()) +}) diff --git a/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils_test.go b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils_test.go new file mode 100644 index 000000000..273f02e91 --- /dev/null +++ b/vendor/github.com/intel/ipu-opi-plugins/sriov_cni/pkg/utils/utils_test.go @@ -0,0 +1,187 @@ +package utils + +import ( + "errors" + "net" + "time" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/vishvananda/netlink" + + mocks_utils "github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils/mocks" +) + +var _ = Describe("Utils", func() { + + Context("Checking GetSriovNumVfs function", func() { + It("Assuming existing interface", func() { + result, err := GetSriovNumVfs("enp175s0f1") + Expect(result).To(Equal(2), "Existing sriov interface should return correct VFs count") + Expect(err).NotTo(HaveOccurred(), "Existing sriov interface should not return an error") + }) + It("Assuming not existing interface", func() { + _, err := GetSriovNumVfs("enp175s0f2") + Expect(err).To(HaveOccurred(), "Not existing sriov interface should return an error") + }) + }) + Context("Checking GetVfid function", func() { + It("Assuming existing interface", func() { + result, err := GetVfid("0000:af:06.0", "enp175s0f1") + Expect(result).To(Equal(0), "Existing VF should return correct VF index") + Expect(err).NotTo(HaveOccurred(), "Existing VF should not return an error") + }) + It("Assuming not existing interface", func() { + _, err := GetVfid("0000:af:06.0", "enp175s0f2") + Expect(err).To(HaveOccurred(), "Not existing interface should return an error") + }) + }) + Context("Checking GetPfName function", func() { + It("Assuming existing vf", func() { + result, err := GetPfName("0000:af:06.0") + Expect(err).NotTo(HaveOccurred(), "Existing VF should not return an error") + Expect(result).To(Equal("enp175s0f1"), "Existing VF should return correct PF name") + }) + It("Assuming not existing vf", func() { + result, err := GetPfName("0000:af:07.0") + Expect(result).To(Equal("")) + Expect(err).To(HaveOccurred(), "Not existing VF should return an error") + }) + }) + Context("Checking GetPciAddress function", func() { + It("Assuming existing interface and vf", func() { + Expect(GetPciAddress("enp175s0f1", 0)).To(Equal("0000:af:06.0"), "Existing PF and VF id should return correct VF pci address") + }) + It("Assuming not existing interface", func() { + _, err := GetPciAddress("enp175s0f2", 0) + Expect(err).To(HaveOccurred(), "Not existing PF should return an error") + }) + It("Assuming not existing vf", func() { + result, err := GetPciAddress("enp175s0f1", 33) + Expect(result).To(Equal(""), "Not existing VF id should not return pci address") + Expect(err).To(HaveOccurred(), "Not existing VF id should return an error") + }) + }) + Context("Checking GetSharedPF function", func() { + /* TO-DO */ + // It("Assuming existing interface", func() { + // result, err := GetSharedPF("enp175s0f1") + // Expect(result).To(Equal("sharedpf"), "Looking for shared PF for supported NIC should return correct PF name") + // Expect(err).NotTo(HaveOccurred(), "Looking for shared PF for supported NIC should not return an error") + // }) + // It("Assuming not existing interface", func() { + // _, err := GetSharedPF("enp175s0f2") + // Expect(err).To(HaveOccurred(), "Looking for shared PF for not supported NIC should return an error") + // }) + }) + Context("Checking GetVFLinkName function", func() { + It("Assuming existing vf", func() { + result, err := GetVFLinkNamesFromVFID("enp175s0f1", 0) + Expect(result).To(ContainElement("enp175s6"), "Existing PF should have at least one VF") + Expect(err).NotTo(HaveOccurred(), "Existing PF should not return an error") + }) + It("Assuming not existing vf", func() { + _, err := GetVFLinkNamesFromVFID("enp175s0f1", 3) + Expect(err).To(HaveOccurred(), "Not existing VF should return an error") + }) + }) + Context("Checking Retry function", func() { + It("Assuming calling function fails", func() { + err := Retry(5, 10*time.Millisecond, func() error { return errors.New("") }) + Expect(err).To((HaveOccurred()), "Retry should return an error") + }) + It("Assuming calling function does not fail", func() { + err := Retry(5, 10*time.Millisecond, func() error { return nil }) + Expect(err).NotTo((HaveOccurred()), "Retry should not return an error") + }) + }) + Context("Checking SetVFEffectiveMAC function", func() { + It("assuming calling function fails", func() { + mocked := &mocks_utils.NetlinkManager{} + fakeMac, err := net.ParseMAC("6e:16:06:0e:b7:e9") + Expect(err).ToNot(HaveOccurred()) + fakeNewMac, err := net.ParseMAC("60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + + fakeLink := &FakeLink{netlink.LinkAttrs{ + Index: 1000, + Name: "enp175s0f1", + HardwareAddr: fakeMac, + }} + + mocked.On("LinkByName", "enp175s0f1").Return(fakeLink, nil) + mocked.On("LinkSetHardwareAddr", fakeLink, fakeNewMac).Return(nil) + + err = SetVFEffectiveMAC(mocked, "enp175s0f1", "60:00:00:00:00:01") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("effective mac address is different from requested one")) + }) + + It("assuming calling function does not fails", func() { + mocked := &mocks_utils.NetlinkManager{} + fakeMac, err := net.ParseMAC("60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + fakeNewMac, err := net.ParseMAC("60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + + fakeLink := &FakeLink{netlink.LinkAttrs{ + Index: 1000, + Name: "enp175s0f1", + HardwareAddr: fakeMac, + }} + + mocked.On("LinkByName", "enp175s0f1").Return(fakeLink, nil) + mocked.On("LinkSetHardwareAddr", fakeLink, fakeNewMac).Return(nil) + + err = SetVFEffectiveMAC(mocked, "enp175s0f1", "60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + }) + }) + Context("Checking SetVFHardwareMAC function", func() { + It("assuming calling function fails", func() { + mocked := &mocks_utils.NetlinkManager{} + fakeMac, err := net.ParseMAC("6e:16:06:0e:b7:e9") + Expect(err).ToNot(HaveOccurred()) + fakeNewMac, err := net.ParseMAC("60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + + fakeLink := &FakeLink{netlink.LinkAttrs{ + Index: 1000, + Name: "enp175s0f1", + Vfs: []netlink.VfInfo{ + {Mac: fakeMac}, + }, + }} + + mocked.On("LinkByName", "enp175s0f1").Return(fakeLink, nil) + mocked.On("LinkSetVfHardwareAddr", fakeLink, 0, fakeNewMac).Return(nil) + + err = SetVFHardwareMAC(mocked, "enp175s0f1", 0, "60:00:00:00:00:01") + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("hardware mac address is different from requested one")) + }) + + It("assuming calling function does not fails", func() { + mocked := &mocks_utils.NetlinkManager{} + fakeMac, err := net.ParseMAC("60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + fakeNewMac, err := net.ParseMAC("60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + + fakeLink := &FakeLink{netlink.LinkAttrs{ + Index: 1000, + Name: "enp175s0f1", + Vfs: []netlink.VfInfo{ + {Mac: fakeMac}, + }, + }} + + mocked.On("LinkByName", "enp175s0f1").Return(fakeLink, nil) + mocked.On("LinkSetVfHardwareAddr", fakeLink, 0, fakeNewMac).Return(nil) + + err = SetVFHardwareMAC(mocked, "enp175s0f1", 0, "60:00:00:00:00:01") + Expect(err).ToNot(HaveOccurred()) + }) + }) +})