From 62383b0328a4ecd91aba411ae072e753521ce0b3 Mon Sep 17 00:00:00 2001 From: Tianlei Wu Date: Fri, 7 Feb 2020 11:01:03 -0800 Subject: [PATCH] Improve BERT optimization script: Gelu and LayerNorm for models from Tensorflow 2.* (#2957) * Add unit test. Add an option --use_onnxruntime to use onnxruntime to do optimization for pytorch model. Update layer norm and gelu for tensorflow 2.1 keras bert model. Add logging and use f-strings. Add extra checking for tensorflow model reshape fusion. Allow output model to json for test purpose. update match parent path utility function to return index * remove function not used. --- .../python/tools/bert/BertOnnxModel.py | 62 +++--- .../python/tools/bert/BertOnnxModelTF.py | 207 ++++++++++++++---- onnxruntime/python/tools/bert/OnnxModel.py | 100 +++++++-- onnxruntime/python/tools/bert/README.md | 2 + .../tools/bert/bert_model_optimization.py | 107 +++++++-- .../tools/bert/test_bert_optimization.py | 183 ++++++++++++++++ .../TFBertForSequenceClassification_1.onnx | Bin 0 -> 669767 bytes .../test_data_set_0/input_0.pb | Bin 0 -> 47 bytes .../test_data_set_0/input_1.pb | Bin 0 -> 52 bytes .../test_data_set_0/input_2.pb | Bin 0 -> 52 bytes .../test_data_set_0/output_0.pb | 1 + .../BertForQuestionAnswering_0.onnx | Bin 0 -> 101695 bytes .../BertForQuestionAnswering_1.onnx | Bin 0 -> 101745 bytes .../test_data_set_0/input_0.pb | Bin 0 -> 99 bytes .../test_data_set_0/input_1.pb | Bin 0 -> 100 bytes .../test_data_set_0/input_2.pb | Bin 0 -> 101 bytes .../test_data_set_0/output_0.pb | 2 + .../test_data_set_0/output_1.pb | 2 + 18 files changed, 556 insertions(+), 110 deletions(-) create mode 100644 onnxruntime/python/tools/bert/test_bert_optimization.py create mode 100644 onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/TFBertForSequenceClassification_1.onnx create mode 100644 onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/input_0.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/input_1.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/input_2.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/output_0.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/BertForQuestionAnswering_0.onnx create mode 100644 onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/BertForQuestionAnswering_1.onnx create mode 100644 onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/test_data_set_0/input_0.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/test_data_set_0/input_1.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/test_data_set_0/input_2.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/test_data_set_0/output_0.pb create mode 100644 onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/test_data_set_0/output_1.pb diff --git a/onnxruntime/python/tools/bert/BertOnnxModel.py b/onnxruntime/python/tools/bert/BertOnnxModel.py index 88b41f8562..f30aeb56c8 100644 --- a/onnxruntime/python/tools/bert/BertOnnxModel.py +++ b/onnxruntime/python/tools/bert/BertOnnxModel.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. #-------------------------------------------------------------------------- +import logging import onnx import sys import argparse @@ -11,6 +12,8 @@ from collections import deque from onnx import ModelProto, TensorProto, numpy_helper from OnnxModel import OnnxModel +logger = logging.getLogger(__name__) + class BertOnnxModel(OnnxModel): def __init__(self, model, num_heads, hidden_size, sequence_length, input_int32, float16, gpu_only, verbose): assert num_heads > 0 @@ -219,7 +222,7 @@ class BertOnnxModel(OnnxModel): self.remove_nodes(nodes_to_remove) self.update_graph() - print("Fused Attention count:", attention_count) + logger.info(f"Fused Attention count:{attention_count}") def fuse_gelu(self, gelu_op_name): self.fuse_gelu_with_elf(gelu_op_name) @@ -294,7 +297,7 @@ class BertOnnxModel(OnnxModel): self.remove_nodes(nodes_to_remove) self.add_nodes(nodes_to_add) if len(nodes_to_add) > 0: - print("Fused {} count:{}".format('FastGelu (approximation)' if gelu_op_name == 'FastGelu' else 'Gelu', len(nodes_to_add))) + logger.info("Fused {} count:{}".format('FastGelu (approximation)' if gelu_op_name == 'FastGelu' else 'Gelu', len(nodes_to_add))) """ Fuse Gelu with tanh into one node: @@ -389,7 +392,7 @@ class BertOnnxModel(OnnxModel): nodes_to_add.append(gelu_node) if len(nodes_to_add) > 0: - print("Fused {} count: {}".format('Gelu (FastGelu fits better)' if gelu_op_name == 'Gelu' else 'FastGelu', len(nodes_to_add))) + logger.info("Fused {} count: {}".format('Gelu (FastGelu fits better)' if gelu_op_name == 'Gelu' else 'FastGelu', len(nodes_to_add))) self.remove_nodes(nodes_to_remove) self.add_nodes(nodes_to_add) @@ -437,7 +440,7 @@ class BertOnnxModel(OnnxModel): nodes_to_add.append(gelu_node) if len(nodes_to_add) > 0: - print("Fused FastGelu with Bias count:", len(nodes_to_add)) + logger.info(f"Fused FastGelu with Bias count:{len(nodes_to_add)}") self.remove_nodes(nodes_to_remove) self.add_nodes(nodes_to_add) @@ -484,7 +487,7 @@ class BertOnnxModel(OnnxModel): nodes_to_add.append(new_node) if len(nodes_to_add) > 0: - print("Fused SkipLayerNormalization with Bias count:", len(nodes_to_add)) + logger.info(f"Fused SkipLayerNormalization with Bias count:{len(nodes_to_add)}") self.remove_nodes(nodes_to_remove) self.add_nodes(nodes_to_add) @@ -540,7 +543,11 @@ class BertOnnxModel(OnnxModel): concat_2 = self.get_initializer(concat_node.input[2]) if concat_2 is None: continue - shape.extend(numpy_helper.to_array(concat_2)) + concat_value = numpy_helper.to_array(concat_2) + if isinstance(concat_value, list): + shape.extend(concat_value) + else: + shape.append(concat_value) if len(concat_node.input) == 4 and self.get_initializer(concat_node.input[3]) is None: path2 = self.match_parent_path(concat_node, ['Unsqueeze', 'Div', 'Gather', 'Shape'], [3, 0, 0, 0], output_name_to_node) @@ -552,7 +559,12 @@ class BertOnnxModel(OnnxModel): concat_3 = self.get_initializer(concat_node.input[3]) if concat_3 is None: continue - shape.extend(numpy_helper.to_array(concat_3)) + + concat_value = numpy_helper.to_array(concat_3) + if isinstance(concat_value, list): + shape.extend(concat_value) + else: + shape.append(concat_value) root_input = reshape_node.input[0] same_shape_input = True @@ -582,7 +594,7 @@ class BertOnnxModel(OnnxModel): nodes_to_remove.extend(path3) nodes_to_add.append(new_node) - print("Fused Reshape count:", len(nodes_to_add)) + logger.info(f"Fused Reshape count:{len(nodes_to_add)}") self.remove_nodes(nodes_to_remove) self.add_nodes(nodes_to_add) @@ -615,10 +627,10 @@ class BertOnnxModel(OnnxModel): output_name_to_node = self.output_name_to_node() if len(self.mask_indice) == 0: - print("skip embed layer fusion since mask input is not found") + logger.info("skip embed layer fusion since mask input is not found") return if len(self.mask_indice) > 1: - print("skip embed layer fusion since there are multiple mask inputs found") + logger.info("skip embed layer fusion since there are multiple mask inputs found") return mask_input_name = next(iter(self.mask_indice)) mask_output_name = self.mask_indice[mask_input_name] @@ -635,13 +647,14 @@ class BertOnnxModel(OnnxModel): break if normalize_node is None: - print("Failed to find embedding layer") + logger.info("Failed to find embedding layer") + return # Here we assume the order of embedding is word_embedding + # position_embedding + segment_embedding. word_embedding_path = self.match_parent_path(normalize_node, ['Add', 'Gather'], [0, 0]) if word_embedding_path is None: - print("Failed to find word embedding") + logger.info("Failed to find word embedding") return add_node, word_embedding_gather = word_embedding_path input_ids = word_embedding_gather.input[1] @@ -654,14 +667,14 @@ class BertOnnxModel(OnnxModel): if position_embedding_path is None: position_embedding_path = self.match_parent_path(add_node, ['Gather', 'Expand', 'Concat', 'Unsqueeze', 'Gather', 'Shape'], [1, 1, 1, 1, 0, 0]) if position_embedding_path is None: - print("Failed to find position embedding") + logger.info("Failed to find position embedding") return position_embedding_weight_node, position_embedding_expand, _, _, _, position_embedding_shape = position_embedding_path else: position_embedding_weight_node, position_embedding_expand, position_embedding_shape = position_embedding_path if not position_embedding_shape is None and position_embedding_shape.input[0] != input_ids: - print("position and word embedding is expected to be applied on same input") + logger.info("position and word embedding is expected to be applied on same input") return else: _, position_embedding_weight_node = position_embedding_path @@ -670,7 +683,7 @@ class BertOnnxModel(OnnxModel): if segment_embedding_path is None: segment_embedding_path = self.match_parent_path(normalize_node, ['Add', 'Gather'], [0, 1]) if segment_embedding_path is None: - print("Failed to find segment embedding") + logger.info("Failed to find segment embedding") return _, segment_embedding_gather = segment_embedding_path else: @@ -724,7 +737,7 @@ class BertOnnxModel(OnnxModel): self.remove_nodes(nodes_to_remove) self.add_node(embed_node) self.update_graph() - print("Fused EmbedLayerNormalization count: 1") + logger.info("Fused EmbedLayerNormalization count: 1") # Change graph input data type int32 if needed. if self.input_int32: @@ -816,17 +829,6 @@ class BertOnnxModel(OnnxModel): | | +----------------------+ - TODO: Batch Layer Norm from Keras in Tensorflow: - +----------------------+ - | | - | v (B) (A) - Add --> ReduceMean --> Sub --> Mul --> ReduceMean --> Add --> Sqrt --> Reciprocol --> Mul --> Mul --> Sub --> Add - | | | ^ ^ - | | | | | - | +----------------------------------------------------------------------------|-------+ | - | v | - +-------------------------------------------------------------------------------------> Mul--------------------+ - """ def fuse_layer_norm(self): input_name_to_nodes = self.input_name_to_nodes() @@ -912,8 +914,8 @@ class BertOnnxModel(OnnxModel): self.remove_nodes(nodes_to_remove) self.add_nodes(skip_layernorm_nodes) self.add_nodes(layernorm_nodes) - print("Fused SkipLayerNormalization count:", len(skip_layernorm_nodes)) - print("Fused LayerNormalization count:", len(layernorm_nodes)) + logger.info(f"Fused SkipLayerNormalization count: {len(skip_layernorm_nodes)}") + logger.info(f"Fused LayerNormalization count: {len(layernorm_nodes)}") def preprocess(self): return @@ -945,4 +947,4 @@ class BertOnnxModel(OnnxModel): # Use symbolic batch dimension in input and output. self.update_dynamic_batch_io() - print("opset verion", self.model.opset_import[0].version) \ No newline at end of file + logger.info(f"opset verion: {self.model.opset_import[0].version}") diff --git a/onnxruntime/python/tools/bert/BertOnnxModelTF.py b/onnxruntime/python/tools/bert/BertOnnxModelTF.py index 43676c5ef2..57ad6520e7 100644 --- a/onnxruntime/python/tools/bert/BertOnnxModelTF.py +++ b/onnxruntime/python/tools/bert/BertOnnxModelTF.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. #-------------------------------------------------------------------------- +import logging import onnx import sys import argparse @@ -11,10 +12,91 @@ from collections import deque from onnx import ModelProto, TensorProto, numpy_helper from BertOnnxModel import BertOnnxModel +logger = logging.getLogger(__name__) + class BertOnnxModelTF(BertOnnxModel): def __init(self, model, num_heads, hidden_size, sequence_length, input_int32, float16, gpu_only, verbose): super().__init__(model, num_heads, hidden_size, sequence_length, verbose) + """ + Fuse Gelu with Erf into one node: + +----------------------------------------------+ + | | + | v + [root] --> Mul -----> Erf --> Add --> Mul -->Mul + (A=0.7071067690849304) (B=1) (B=0.5) + + Note that constant input for Add and Mul could be first or second input: like either A=0.5 or B=0.5 is fine. + """ + def fuse_gelu_with_elf(self, gelu_op_name): + input_name_to_nodes = self.input_name_to_nodes() + output_name_to_node = self.output_name_to_node() + + nodes_to_remove = [] + nodes_to_add = [] + + for node in self.get_nodes_by_op_type('Erf'): + erf_node = node + + if erf_node.output[0] not in input_name_to_nodes: + continue + children = input_name_to_nodes[erf_node.output[0]] + if len(children) != 1 or children[0].op_type != 'Add': + continue + add_after_erf = children[0] + + if not self.has_constant_input(add_after_erf, 1): + continue + + if add_after_erf.output[0] not in input_name_to_nodes: + continue + children = input_name_to_nodes[add_after_erf.output[0]] + if len(children) != 1 or children[0].op_type != 'Mul': + continue + mul_half = children[0] + + if not self.has_constant_input(mul_half, 0.5): + continue + + first_mul = self.match_parent(erf_node, 'Mul', 0, output_name_to_node) + if first_mul is None: + continue + + i = self.find_constant_input(first_mul, 0.7071067690849304, delta=0.001) + if i < 0: + continue + + root_node = self.get_parent(first_mul, 0 if i == 1 else 1, output_name_to_node) + if root_node is None: + continue + + if mul_half.output[0] not in input_name_to_nodes: + continue + children = input_name_to_nodes[mul_half.output[0]] + if len(children) != 1 or children[0].op_type != 'Mul': + continue + last_mul = children[0] + + if not (last_mul.input[0] == root_node.output[0] or last_mul.input[1] == root_node.output[0]): + continue + + subgraph_nodes = [first_mul, erf_node, add_after_erf, mul_half, last_mul] + if not self.is_safe_to_fuse_nodes(subgraph_nodes, [last_mul.output[0]], input_name_to_nodes, output_name_to_node): + continue + + nodes_to_remove.extend(subgraph_nodes) + gelu_node = onnx.helper.make_node(gelu_op_name, + inputs=[root_node.output[0]], + outputs=[last_mul.output[0]]) + gelu_node.domain = "com.microsoft" + nodes_to_add.append(gelu_node) + + self.remove_nodes(nodes_to_remove) + self.add_nodes(nodes_to_add) + if len(nodes_to_add) > 0: + logger.info("Fused {} count:{}".format('FastGelu (approximation)' if gelu_op_name == 'FastGelu' else 'Gelu', len(nodes_to_add))) + + """ Fuse Gelu with tanh into one node: +---------------------------+ @@ -111,7 +193,7 @@ class BertOnnxModelTF(BertOnnxModel): nodes_to_add.append(gelu_node) if len(nodes_to_add) > 0: - print("Fused {} count: {}".format('Gelu (FastGelu fits better)' if gelu_op_name == 'Gelu' else 'FastGelu', len(nodes_to_add))) + logger.info("Fused {} count: {}".format('Gelu (FastGelu fits better)' if gelu_op_name == 'Gelu' else 'FastGelu', len(nodes_to_add))) self.remove_nodes(nodes_to_remove) self.add_nodes(nodes_to_add) @@ -151,11 +233,25 @@ class BertOnnxModelTF(BertOnnxModel): nodes_to_add.append(new_node) def __fuse_reshape_after_sotfmax(self, reshape_node, nodes_to_remove, nodes_to_add): + # Check that it is reshape after softmax. + path = self.match_parent_path(reshape_node, ['Transpose', 'MatMul', 'Softmax', 'Add'], [0, 0, 0, 0]) + if path is None: + return + path0 = self.match_parent_path(reshape_node, ['Cast', 'Concat', 'Unsqueeze', 'Mul'], [1, 0, 0, 0]) if path0 is None: return cast_node, concat_node, unsqueeze_node, mul_node = path0 + # Verify that cast has attribute "to" = 7 + is_good_cast = False + for att in cast_node.attribute: + if att.name == 'to' and att.i == 7: + is_good_cast = True + break + if not is_good_cast: + return + if not len(concat_node.input) == 2: return @@ -184,7 +280,7 @@ class BertOnnxModelTF(BertOnnxModel): def __fuse_reshape_after_normalize(self, reshape_node, nodes_to_remove): parent = self.get_parent(reshape_node, 0) - if not parent.op_type == self.normalize_name: + if parent is None or not parent.op_type == self.normalize_name: return parent_path = self.match_parent_path( @@ -199,6 +295,9 @@ class BertOnnxModelTF(BertOnnxModel): self.replace_input_of_all_nodes(reshape_node.output[0], reshape_node.input[0]) + + + def fuse_reshape(self): nodes = self.nodes() input_name_to_nodes = self.input_name_to_nodes() @@ -212,7 +311,7 @@ class BertOnnxModelTF(BertOnnxModel): self.__fuse_reshape_after_sotfmax(reshape_node, nodes_to_remove, nodes_to_add) self.__fuse_reshape_after_normalize(reshape_node, nodes_to_remove) - print("Count of nodes removed for Reshape fuse:", len(nodes_to_remove)) + logger.info(f"Count of nodes removed for Reshape fuse:{len(nodes_to_remove)}") self.remove_nodes(nodes_to_remove) self.add_nodes(nodes_to_add) @@ -238,51 +337,81 @@ class BertOnnxModelTF(BertOnnxModel): layernorm_nodes = [] for node in self.nodes(): if node.op_type == 'Add': + return_indice=[] parent_nodes = self.match_parent_path( node, ['Sub', 'Mul', 'Mul', 'Reciprocal', 'Sqrt', 'Add', 'ReduceMean', 'Mul', 'Sub', 'ReduceMean'], - [ 1, 1, 1, 0, 0, 0, 0, 0, 0, 1], - output_name_to_node) + [ 1, 1, None, 0, 0, 0, None, 0, 0, None], + output_name_to_node, + return_indice=return_indice) + if parent_nodes is None: continue + assert len(return_indice) == 3 + if not (return_indice[0] in [0, 1] and return_indice[1] in [0, 1] and return_indice[2] in [0, 1]): + logger.debug("return indice is exepected in [0, 1], but got {return_indice}") + continue + sub_node_0, mul_node_0, mul_node_1, reciprocol_node, sqrt_node, add_node_0, reduce_mean_node_0, mul_node_2, sub_node_1, reduce_mean_node_1 = parent_nodes - mul_node_3 = self.get_parent(node, 0, output_name_to_node) + mul_node_3 = self.match_parent(node, 'Mul', 0, output_name_to_node) if mul_node_3 is None: + logger.debug("mul_node_3 not found") continue root_node = self.get_parent(reduce_mean_node_1, 0, output_name_to_node) if root_node is None: + logger.debug("root node is none") continue - i, add_weight = self.get_constant_input(add_node_0) - #if add_weight is None or add_weight <= 0 or add_weight > 1.0E-5: - # continue + i, epsilon = self.get_constant_input(add_node_0) + if epsilon is None or epsilon <= 0 or epsilon > 1.0E-5: + logger.debug("epsilon is not matched") + continue - nodes_to_remove.extend([node, sub_node_0, mul_node_0, mul_node_1, reciprocol_node, sqrt_node, add_node_0, reduce_mean_node_0, mul_node_2, sub_node_1, reduce_mean_node_1,mul_node_3]) + if reduce_mean_node_1.input[0] not in mul_node_3.input or reduce_mean_node_1.input[0] not in sub_node_1.input: + logger.debug("reduce_mean_node_1 and mul_node_3 shall link from root node") + continue + + if mul_node_2.input[0] != mul_node_2.input[1]: + logger.debug("mul_node_2 shall have two same inputs") + continue + + subgraph_nodes = [node, sub_node_0, mul_node_0, mul_node_1, reciprocol_node, sqrt_node, add_node_0, reduce_mean_node_0, mul_node_2, sub_node_1, reduce_mean_node_1,mul_node_3] + if not self.is_safe_to_fuse_nodes(subgraph_nodes, node.output, self.input_name_to_nodes(), self.output_name_to_node()): + logger.debug("not safe to fuse layer normalization") + continue + + nodes_to_remove.extend(subgraph_nodes) weight_input = mul_node_1.input[1] bias_input = sub_node_0.input[0] + if root_node.op_type == 'Add': - nodes_to_remove.append(root_node) - normalize_node = onnx.helper.make_node(self.normalize_name, - inputs=[root_node.input[0], root_node.input[1], weight_input, bias_input], - outputs=[node.output[0]], - name=self.create_node_name(self.normalize_name, name_prefix="SkipLayerNorm")) - normalize_node.domain = "com.microsoft" - skip_layernorm_nodes.extend([normalize_node]) - else: - normalize_node = onnx.helper.make_node('LayerNormalization', - inputs=[reduce_mean_node_1.input[0], weight_input, bias_input], - outputs=[node.output[0]], epsilon=add_weight) - layernorm_nodes.extend([normalize_node]) + subgraph_nodes.append(root_node) + if not self.is_safe_to_fuse_nodes(subgraph_nodes, node.output, self.input_name_to_nodes(), self.output_name_to_node()): + subgraph_nodes.pop() + else: + nodes_to_remove.append(root_node) + normalize_node = onnx.helper.make_node(self.normalize_name, + inputs=[root_node.input[0], root_node.input[1], weight_input, bias_input], + outputs=[node.output[0]], + name=self.create_node_name(self.normalize_name, name_prefix="SkipLayerNorm")) + normalize_node.domain = "com.microsoft" + skip_layernorm_nodes.extend([normalize_node]) + continue + + normalize_node = onnx.helper.make_node('LayerNormalization', + inputs=[reduce_mean_node_1.input[0], weight_input, bias_input], + outputs=[node.output[0]], epsilon=epsilon) + layernorm_nodes.extend([normalize_node]) self.remove_nodes(nodes_to_remove) self.add_nodes(skip_layernorm_nodes) self.add_nodes(layernorm_nodes) - print("Fused SkipLayerNormalization count:", len(skip_layernorm_nodes)) - print("Fused LayerNormalization count:", len(layernorm_nodes)) + logger.info(f"Fused SkipLayerNormalization count: {len(skip_layernorm_nodes)}") + logger.info(f"Fused LayerNormalization count: {len(layernorm_nodes)}") def remove_identity(self): nodes_to_remove = [] @@ -292,7 +421,7 @@ class BertOnnxModelTF(BertOnnxModel): self.replace_input_of_all_nodes(node.output[0], node.input[0]) nodes_to_remove.append(node) self.remove_nodes(nodes_to_remove) - print("Removed Identity count:", len(nodes_to_remove)) + logger.info(f"Removed Identity count: {len(nodes_to_remove)}") def fuse_word_embedding(self): nodes_to_remove = [] @@ -319,7 +448,7 @@ class BertOnnxModelTF(BertOnnxModel): nodes_to_remove.extend([reshape_node_0, cast_node_0, concat_node, unsqueeze_node, cast_node_1, squeeze_node, slice_node, cast_node_2, shape_node, reshape_node_2, node]) self.remove_nodes(nodes_to_remove) - print("Fused word embedding" if len(nodes_to_remove) > 0 else "Failed to fuse word embedding") + logger.info("Fused word embedding" if len(nodes_to_remove) > 0 else "Failed to fuse word embedding") def fuse_segment_embedding(self): nodes_to_remove = [] @@ -328,11 +457,16 @@ class BertOnnxModelTF(BertOnnxModel): data_path = self.match_parent_path(node, ['MatMul', 'OneHot', 'Reshape'], [0, 0, 0]) if data_path is None: continue - matmul_node, onehot_node, reshape_node_0 = data_path - concat_node_0 = self.get_parent(onehot_node, 2, self.output_name_to_node()) - if not concat_node_0.op_type == 'Concat': - continue + matmul_node, onehot_node, reshape_node_0 = data_path + + subgraph_nodes = [matmul_node, onehot_node, reshape_node_0] + if self.get_initializer(onehot_node.input[2]) is None: + concat_node_0 = self.get_parent(onehot_node, 2) + if concat_node_0 is None or concat_node_0.op_type != 'Concat': + continue + subgraph_nodes.append(concat_node_0) + shape_path = self.match_parent_path( node, ['Cast', 'Concat', 'Unsqueeze', 'Cast', 'Squeeze', 'Slice', 'Cast', 'Shape', 'Gather'], @@ -349,18 +483,13 @@ class BertOnnxModelTF(BertOnnxModel): outputs=node.output, name='segment_embedding_gather') - nodes_to_remove.extend([ - matmul_node, - onehot_node, - reshape_node_0, - concat_node_0 - ]) + nodes_to_remove.extend(subgraph_nodes) nodes_to_remove.extend([cast_node_0, concat_node_1, unsqueeze_node, cast_node_1, squeeze_node, slice_node, cast_node_2, shape_node, node]) self.add_node(gather_node) self.remove_nodes(nodes_to_remove) - print("Fused segment embedding" if len(nodes_to_remove) > 0 else "Failed to fuse segment embedding") + logger.info("Fused segment embedding" if len(nodes_to_remove) > 0 else "Failed to fuse segment embedding") def fuse_mask(self): nodes_to_remove = [] @@ -408,10 +537,10 @@ class BertOnnxModelTF(BertOnnxModel): self.add_node(unsqueeze_added_2) self.remove_nodes(nodes_to_remove) - print("Fused mask" if len(nodes_to_remove) > 0 else "Failed to fuse mask") + logger.info("Fused mask" if len(nodes_to_remove) > 0 else "Failed to fuse mask") def preprocess(self): self.remove_identity() self.fuse_word_embedding() self.fuse_segment_embedding() - self.fuse_mask() \ No newline at end of file + self.fuse_mask() diff --git a/onnxruntime/python/tools/bert/OnnxModel.py b/onnxruntime/python/tools/bert/OnnxModel.py index dfb8f6be10..ef71fadbf7 100644 --- a/onnxruntime/python/tools/bert/OnnxModel.py +++ b/onnxruntime/python/tools/bert/OnnxModel.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. #-------------------------------------------------------------------------- +import logging import onnx import sys import argparse @@ -10,6 +11,8 @@ import numpy as np from collections import deque from onnx import ModelProto, TensorProto, numpy_helper +logger = logging.getLogger(__name__) + class OnnxModel: def __init__(self, model, verbose): self.model = model @@ -124,18 +127,57 @@ class OnnxModel: return output_name_to_node[input] - def match_parent(self, node, parent_op_type, input_index=None, output_name_to_node=None, exclude=[]): + def match_first_parent(self, node, parent_op_type, output_name_to_node, exclude=[]): + ''' + Find parent node based on constraints on op_type. + + Args: + node (str): current node name. + parent_op_type (str): constraint of parent node op_type. + output_name_to_node (dict): dictionary with output name as key, and node as value. + exclude (list): list of nodes that are excluded (not allowed to match as parent). + + Returns: + parent: The matched parent node. None if not found. + index: The input index of matched parent node. None if not found. + ''' + for i, input in enumerate(node.input): + if input in output_name_to_node: + parent = output_name_to_node[input] + if parent.op_type == parent_op_type and parent not in exclude: + return parent, i + + return None, None + + def match_parent(self, node, parent_op_type, input_index=None, output_name_to_node=None, exclude=[], return_indice=None): + ''' + Find parent node based on constraints on op_type and index. + When input_index is None, we will find the first parent node based on constraints, and return_indice will be appended the corresponding input index. + + Args: + node (str): current node name. + parent_op_type (str): constraint of parent node op_type. + input_index (int or None): only check the parent given input index of current node. + output_name_to_node (dict): dictionary with output name as key, and node as value. + exclude (list): list of nodes that are excluded (not allowed to match as parent). + return_indice (list): a list to append the input index when input_index is None. + + Returns: + parent: The matched parent node. + ''' + assert node is not None + assert input_index is None or input_index >= 0 + if output_name_to_node is None: output_name_to_node = self.output_name_to_node() if input_index is None: - parents = self.get_parents(node, output_name_to_node) - for parent in parents: - if parent.op_type == parent_op_type and parent not in exclude: - return parent - return None + parent, index = self.match_first_parent(node, parent_op_type, output_name_to_node, exclude) + if return_indice is not None: + return_indice.append(index) + return parent - if input_index < 0 or input_index >= len(node.input): + if input_index >= len(node.input): return None parent = self.get_parent(node, input_index, output_name_to_node) @@ -144,7 +186,21 @@ class OnnxModel: return None - def match_parent_path(self, node, parent_op_types, parent_input_index, output_name_to_node=None): + def match_parent_path(self, node, parent_op_types, parent_input_index, output_name_to_node=None, return_indice=None): + ''' + Find a sequence of input edges based on constraints on parent op_type and index. + When input_index is None, we will find the first parent node based on constraints, and return_indice will be appended the corresponding input index. + + Args: + node (str): current node name. + parent_op_types (str): constraint of parent node op_type of each input edge. + parent_input_index (list): constraint of input index of each input edge. None means no constraint. + output_name_to_node (dict): dictionary with output name as key, and node as value. + return_indice (list): a list to append the input index when there is no constraint on input index of an edge. + + Returns: + parents: a list of matched parent node. + ''' assert(len(parent_input_index) == len(parent_op_types)) if output_name_to_node is None: @@ -153,7 +209,7 @@ class OnnxModel: current_node = node matched_parents = [] for i, op_type in enumerate(parent_op_types): - matched_parent = self.match_parent(current_node, op_type, parent_input_index[i], output_name_to_node, exclude=[]) + matched_parent = self.match_parent(current_node, op_type, parent_input_index[i], output_name_to_node, exclude=[], return_indice=return_indice) if matched_parent is None: return None @@ -370,7 +426,7 @@ class OnnxModel: self.remove_nodes(unused_nodes) if len(unused_nodes) > 0: - print("Removed unused constant nodes:", len(unused_nodes)) + logger.info(f"Removed unused constant nodes: {len(unused_nodes)}") def update_graph(self): graph = self.model.graph @@ -382,7 +438,7 @@ class OnnxModel: if input_name not in remaining_input_names: remaining_input_names.append(input_name) if self.verbose: - print("remaining input names", remaining_input_names) + logger.info(f"remaining input names: {remaining_input_names}" ) # remove graph input that is not used inputs_to_remove = [] @@ -392,7 +448,8 @@ class OnnxModel: for input in inputs_to_remove: graph.input.remove(input) if self.verbose: - print("remove unused input ", len(inputs_to_remove), [input.name for input in inputs_to_remove]) + names_to_remove = [input.name for input in inputs_to_remove] + logger.info(f"remove {len(inputs_to_remove)} unused inputs: {names_to_remove}") # remove weights that are not used weights_to_remove = [] @@ -406,21 +463,22 @@ class OnnxModel: graph.initializer.remove(initializer) if self.verbose: - print("remove unused initializers:", len(weights_to_remove), [initializer.name for initializer in weights_to_remove]) - print("remaining initializers:", weights_to_keep) + names_to_remove = [initializer.name for initializer in weights_to_remove] + logger.info(f"remove {len(weights_to_remove)} unused initializers: {names_to_remove}") + logger.info(f"remaining initializers:{weights_to_keep}") self.remove_unused_constant() def is_safe_to_fuse_nodes(self, nodes_to_remove, keep_outputs, input_name_to_nodes, output_name_to_node): - for node in nodes_to_remove: - for output in node.output: - if output in keep_outputs: + for node_to_remove in nodes_to_remove: + for output_to_remove in node_to_remove.output: + if output_to_remove in keep_outputs: continue - if output in input_name_to_nodes: - for node in input_name_to_nodes[output]: - if node not in nodes_to_remove: + if output_to_remove in input_name_to_nodes: + for impacted_node in input_name_to_nodes[output_to_remove]: + if impacted_node not in nodes_to_remove: if self.verbose: - print("warning: it is not safe to remove nodes since output", output, "used by", node) + logger.warning(f"it is not safe to remove nodes since output {output_to_remove} is used by {impacted_node}") return False return True \ No newline at end of file diff --git a/onnxruntime/python/tools/bert/README.md b/onnxruntime/python/tools/bert/README.md index 643b41771a..70e279820d 100644 --- a/onnxruntime/python/tools/bert/README.md +++ b/onnxruntime/python/tools/bert/README.md @@ -63,3 +63,5 @@ See below for description of all the options: By default, model uses float32 in computation. If this flag is specified, half-precision float will be used. This option is recommended for NVidia GPU with Tensor Core like V100 and T4. For older GPUs, float32 is likely faster. - **verbose**: (*optional*) Print verbose information when this flag is specified. +- **run_onnxruntime**: (*optional*) + Use onnxruntime to do optimization. This option is only avaiable for pytorch model right now. diff --git a/onnxruntime/python/tools/bert/bert_model_optimization.py b/onnxruntime/python/tools/bert/bert_model_optimization.py index 7e3f35b4ca..57fabf8434 100644 --- a/onnxruntime/python/tools/bert/bert_model_optimization.py +++ b/onnxruntime/python/tools/bert/bert_model_optimization.py @@ -7,35 +7,65 @@ # SkipLayerNormalization and EmbedLayerNormalization ops to optimize # performance on NVidia GPU and CPU. -# Note: This script is not required for Bert model exported from PyTorch. -# OnnxRuntime has bert model optimization support internally. The recommended way is -# to set optimization level to ORT_ENABLE_EXTENDED during Bert model inference. -# See the following document for more information: -# https://github.com/microsoft/onnxruntime/blob/master/docs/ONNX_Runtime_Graph_Optimizations.md - +# For Bert model exported from PyTorch, OnnxRuntime has bert model optimization support internally. +# You can use the option --use_onnxruntime to use model optimization from OnnxRuntime package. +# For Bert model file like name.onnx, optimized model for GPU or CPU from OnnxRuntime will output as +# name_ort_gpu.onnx or name_ort_cpu.onnx in the same directory. # This script is retained for experiment purpose. Useful senarios like the following: # (1) Change model from fp32 to fp16. # (2) Change input data type from int64 to int32. -# (3) Model cannot be handled to OnnxRuntime graph optimization, and you can modify this script to get optimized model. - +# (3) Some model cannot be handled by OnnxRuntime, and you can modify this script to get optimized model. +# This script has been tested using the following models: +# (1) BertForSequenceClassification as in https://github.com/huggingface/transformers/blob/master/examples/run_glue.py +# PyTorch 1.2 or above, and exported to Onnx using opset version 10 or 11. +# (2) BertForQuestionAnswering as in https://github.com/huggingface/transformers/blob/master/examples/run_squad.py +# PyTorch 1.2 or above, and exported to Onnx using opset version 10 or 11. +import logging import onnx +import os import sys import argparse import numpy as np from collections import deque from onnx import ModelProto, TensorProto, numpy_helper +import onnxruntime from BertOnnxModel import BertOnnxModel from BertOnnxModelTF import BertOnnxModelTF -def main(): +logger = logging.getLogger('') + +def run_onnxruntime(onnx_model_path, use_gpu, optimized_model_path=None): + if use_gpu and 'CUDAExecutionProvider' not in onnxruntime.get_available_providers(): + logger.error("There is no gpu for onnxruntime to do optimization.") + + sess_options = onnxruntime.SessionOptions() + sess_options.graph_optimization_level = onnxruntime.GraphOptimizationLevel.ORT_ENABLE_EXTENDED + + if optimized_model_path is None: + path_prefix = onnx_model_path[:-5] #remove .onnx suffix + optimized_model_path = "{}_ort_{}.onnx".format(path_prefix, "gpu" if use_gpu else "cpu") + + sess_options.optimized_model_filepath = optimized_model_path + + if not use_gpu: + session = onnxruntime.InferenceSession(onnx_model_path, sess_options, providers=['CPUExecutionProvider']) + else: + session = onnxruntime.InferenceSession(onnx_model_path, sess_options) + assert 'CUDAExecutionProvider' in session.get_providers() # Make sure there is GPU + + assert os.path.exists(optimized_model_path) and os.path.isfile(optimized_model_path) + logger.info("Save optimized model by onnxruntime to {}".format(optimized_model_path)) + return optimized_model_path + +def parse_arguments(): parser = argparse.ArgumentParser() parser.add_argument('--input', required=True, type=str) parser.add_argument('--output', required=True, type=str) - parser.add_argument('--framework', required=True, type=str, help="Original framework. Only support TensorFlow and PyTorch") + parser.add_argument('--framework', required=True, type=str.lower, choices=["tensorflow", "pytorch"], help="Original framework") - # model parameters + # model parameters. parser.add_argument('--num_heads', required=False, type=int, default=12, help="number of attention heads") parser.add_argument('--hidden_size', required=False, type=int, default=768) parser.add_argument('--sequence_length', required=False, type=int, default=128) @@ -56,23 +86,60 @@ def main(): parser.add_argument('--verbose', required=False, action='store_true') parser.set_defaults(verbose=False) + parser.add_argument('--use_onnxruntime', required=False, action='store_true') + parser.set_defaults(use_onnxruntime=False) + args = parser.parse_args() + return args + +def optimize_model(input, framework, gpu_only, num_heads, hidden_size, sequence_length, input_int32, float16, verbose): model = ModelProto() - with open(args.input, "rb") as f: + with open(input, "rb") as f: model.ParseFromString(f.read()) - if args.framework.lower() == 'tensorflow': - bert_model = BertOnnxModelTF(model, args.num_heads, args.hidden_size, args.sequence_length, args.input_int32, args.float16, args.gpu_only, args.verbose) - elif args.framework.lower() == 'pytorch': - bert_model = BertOnnxModel(model, args.num_heads, args.hidden_size, args.sequence_length, args.input_int32, args.float16, args.gpu_only, args.verbose) - else: - print("Unsupported framework:" + args.framework) + if framework == 'tensorflow': + bert_model = BertOnnxModelTF(model, num_heads, hidden_size, sequence_length, input_int32, float16, gpu_only, verbose) + else: #framework == 'pytorch' + bert_model = BertOnnxModel(model, num_heads, hidden_size, sequence_length, input_int32, float16, gpu_only, verbose) bert_model.optimize() + + return bert_model + +def output_model(model, output): + if output.endswith(".json"): # output to JSON. Only for test purpose. + if isinstance(model, ModelProto): + with open(output, "w") as out: + out.write(str(model)) + logger.info("Output JSON to {}.json".format(output)) + else: + with open(output, "wb") as out: + out.write(model.SerializeToString()) + logger.info("Output final model to {}".format(output)) + +def main(): + args = parse_arguments() + + # output logging to stdout + log_handler = logging.StreamHandler(sys.stdout) + log_handler.setFormatter(logging.Formatter('%(asctime)s %(message)s')) + log_handler.setLevel(logging.DEBUG) + logger.addHandler(log_handler) + logger.setLevel(logging.DEBUG) + + input_model_path = args.input + if args.use_onnxruntime: + if framework == 'tensorflow': + logger.warning("onnxruntime does not have optimization for tensorflow model. Ignore the option --use_onnxruntime.") + else: + input_model_path = run_onnxruntime(input_model_path, args.gpu_only) + + bert_model = optimize_model(input_model_path, args.framework, args.gpu_only, args.num_heads, args.hidden_size, args.sequence_length, args.input_int32, args.float16, args.verbose) + + output_model(bert_model.model, args.output) + - with open(args.output, "wb") as out: - out.write(bert_model.model.SerializeToString()) if __name__ == "__main__": main() diff --git a/onnxruntime/python/tools/bert/test_bert_optimization.py b/onnxruntime/python/tools/bert/test_bert_optimization.py new file mode 100644 index 0000000000..60daf944b0 --- /dev/null +++ b/onnxruntime/python/tools/bert/test_bert_optimization.py @@ -0,0 +1,183 @@ +#!/usr/bin/env python +# coding: utf-8 +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +# For live logging, use the command: pytest -o log_cli=true --log-cli-level=DEBUG + +import unittest +import os +import onnx +import onnxruntime +from onnx import helper, TensorProto, ModelProto +from onnx.helper import make_node, make_tensor_value_info +import numpy as np +from onnx import numpy_helper +from bert_model_optimization import optimize_model, run_onnxruntime +from OnnxModel import OnnxModel + +class TestBertOptimization(unittest.TestCase): + def get_model(self, framework, index): + if framework == "pytorch": + return 'test_data\\bert_squad_pytorch1.4_opset11\\BertForQuestionAnswering_{}.onnx'.format(index) + else: + return 'test_data\\bert_mrpc_tensorflow2.1_opset10\\TFBertForSequenceClassification_{}.onnx'.format(index) + + def verify_node_count(self, bert_model, expected_node_count): + for op_type, count in expected_node_count.items(): + if len(bert_model.get_nodes_by_op_type(op_type)) != count: + print("{}:{} expected={}".format(op_type, len(bert_model.get_nodes_by_op_type(op_type)), count)) + self.assertEqual(len(bert_model.get_nodes_by_op_type(op_type)), count) + + def test_pytorch_model_0_cpu_onnxruntime(self): + input = self.get_model("pytorch", 0) + output = 'temp.onnx' + run_onnxruntime(input, use_gpu=False, optimized_model_path=output) + model = ModelProto() + with open(output, "rb") as f: + model.ParseFromString(f.read()) + os.remove(output) + bert_model = OnnxModel(model, verbose=False) + expected_node_count = { + 'EmbedLayerNormalization': 1, + 'Attention': 12, + 'SkipLayerNormalization': 24, + 'Gelu': 0, + 'FastGelu': 0, + 'BiasGelu': 12 + } + self.verify_node_count(bert_model, expected_node_count) + + def test_pytorch_model_0_gpu_onnxruntime(self): + if 'CUDAExecutionProvider' not in onnxruntime.get_available_providers(): + print("skip test_pytorch_model_0_gpu_onnxruntime since no gpu found") + return + + input = self.get_model("pytorch", 0) + output = 'temp.onnx' + run_onnxruntime(input, use_gpu=True, optimized_model_path=output) + model = ModelProto() + with open(output, "rb") as f: + model.ParseFromString(f.read()) + os.remove(output) + bert_model = OnnxModel(model, verbose=False) + expected_node_count = { + 'EmbedLayerNormalization': 1, + 'Attention': 12, + 'SkipLayerNormalization': 24, + 'Gelu': 0, + 'FastGelu': 12, + 'BiasGelu': 0 + } + self.verify_node_count(bert_model, expected_node_count) + + def test_pytorch_model_1_cpu_onnxruntime(self): + input = self.get_model("pytorch", 1) + output = 'temp.onnx' + run_onnxruntime(input, use_gpu=False, optimized_model_path=output) + model = ModelProto() + with open(output, "rb") as f: + model.ParseFromString(f.read()) + os.remove(output) + bert_model = OnnxModel(model, verbose=False) + expected_node_count = { + 'EmbedLayerNormalization': 1, + 'Attention': 12, + 'LayerNormalization': 24, + 'SkipLayerNormalization': 0, + 'Gelu': 0, + 'FastGelu': 0, + 'BiasGelu': 12 + } + self.verify_node_count(bert_model, expected_node_count) + + def test_pytorch_model_1_gpu_onnxruntime(self): + if 'CUDAExecutionProvider' not in onnxruntime.get_available_providers(): + print("skip test_pytorch_model_1_gpu_onnxruntime since no gpu found") + return + + input = self.get_model("pytorch", 1) + output = 'temp.onnx' + run_onnxruntime(input, use_gpu=True, optimized_model_path=output) + model = ModelProto() + with open(output, "rb") as f: + model.ParseFromString(f.read()) + os.remove(output) + bert_model = OnnxModel(model, verbose=False) + expected_node_count = { + 'EmbedLayerNormalization': 1, + 'Attention': 12, + 'LayerNormalization': 24, + 'SkipLayerNormalization': 0, + 'Gelu': 0, + 'FastGelu': 12, + 'BiasGelu': 0 + } + self.verify_node_count(bert_model, expected_node_count) + + def test_pytorch_model_0_cpu(self): + input = self.get_model("pytorch", 0) + bert_model = optimize_model(input, framework='pytorch', gpu_only=False, + num_heads=2, hidden_size=8, sequence_length=10, + input_int32=False, float16=False, verbose=False) + + expected_node_count = { + 'EmbedLayerNormalization': 1, + 'Attention': 12, + 'SkipLayerNormalization': 24, + 'Gelu': 12, + 'FastGelu': 0, + 'BiasGelu': 0 + } + self.verify_node_count(bert_model, expected_node_count) + + def test_pytorch_model_0_gpu(self): + if 'CUDAExecutionProvider' not in onnxruntime.get_available_providers(): + print("skip test_pytorch_model_0_gpu since no gpu found") + return + + input = self.get_model("pytorch", 0) + bert_model = optimize_model(input, framework='pytorch', gpu_only=True, + num_heads=2, hidden_size=8, sequence_length=10, + input_int32=False, float16=False, verbose=False) + + expected_node_count = { + 'EmbedLayerNormalization': 1, + 'Attention': 12, + 'SkipLayerNormalization': 24, + 'FastGelu': 12, + 'Gelu': 0, + 'BiasGelu': 0 + } + self.verify_node_count(bert_model, expected_node_count) + + def test_tensorflow_model_1_cpu(self): + input = self.get_model("tensorflow", 1) + + # The model need constant folding. Use onnxruntime to do so for now. + temp = 'temp.onnx' + run_onnxruntime(input, use_gpu=False, optimized_model_path=temp) + + bert_model = optimize_model(temp, framework='tensorflow', gpu_only=False, + num_heads=2, hidden_size=8, sequence_length=7, + input_int32=False, float16=False, verbose=False) + os.remove(temp) + + # Optimization for tensorflow model is still on-going. + # TODO: update this after code complete. + expected_node_count = { + 'EmbedLayerNormalization': 0, + 'Attention': 0, + 'LayerNormalization': 0, + 'SkipLayerNormalization': 25, + 'BiasGelu': 0, + 'Gelu': 12, + 'FastGelu': 0 + } + self.verify_node_count(bert_model, expected_node_count) + +if __name__ == '__main__': + unittest.main() diff --git a/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/TFBertForSequenceClassification_1.onnx b/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/TFBertForSequenceClassification_1.onnx new file mode 100644 index 0000000000000000000000000000000000000000..b5a8fd5c5a8361b611315610c4c8ea01f27699f4 GIT binary patch literal 669767 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 literal 0 HcmV?d00001 diff --git a/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/input_0.pb b/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/input_0.pb new file mode 100644 index 0000000000000000000000000000000000000000..77361435f281cb4d9e325a7e3342754734d14112 GIT binary patch literal 47 scmd;JMTKrS2r001}!$^ZZW literal 0 HcmV?d00001 diff --git a/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/input_2.pb b/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/input_2.pb new file mode 100644 index 0000000000000000000000000000000000000000..506cd795ba27cf589c851782bb11f7b2886733fa GIT binary patch literal 52 hcmd;J&rZ#YFR3g@jn7Oe_L5=10{{RL2F3sY literal 0 HcmV?d00001 diff --git a/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/output_0.pb b/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/output_0.pb new file mode 100644 index 0000000000..d8c7e3c8af --- /dev/null +++ b/onnxruntime/python/tools/bert/test_data/bert_mrpc_tensorflow2.1_opset10/test_data_set_0/output_0.pb @@ -0,0 +1 @@ +Boutput_1Jw‘¹‚ÔZ» \ No newline at end of file diff --git a/onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/BertForQuestionAnswering_0.onnx b/onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/BertForQuestionAnswering_0.onnx new file mode 100644 index 0000000000000000000000000000000000000000..7b8b5a7b8721fa7b6bc66b9eed2394be5d5d498b GIT binary patch literal 101695 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 z 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 YsPf9mvLT~Y<-=pc#C~rpH+<-S0Y`eeHvj+t literal 0 HcmV?d00001 diff --git a/onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/BertForQuestionAnswering_1.onnx b/onnxruntime/python/tools/bert/test_data/bert_squad_pytorch1.4_opset11/BertForQuestionAnswering_1.onnx new file mode 100644 index 0000000000000000000000000000000000000000..d5932fb48ac4842ebadd485943479db6b8df8bfe GIT binary patch literal 101745 zcmb4Mbzl_7_XmQ6U;%=Aa0|JdXJ>GCD^dz2kl+MJf);o8wrFvOphdDX6pC9ZUL1;3 zq+hJ1*zdi$+uOa%?j=9|SZ+6O=8e2J^ZCro?h8zxD^vfW3H{=__9z%&3NuGuU6e7X zd{9u&*!}|(zU>5rSZ8vG_Y2`*!YB~*n|opK^X=`^%)pb zAuu>?!}Mv=jIOpkZTg@P%)^cs8zyjs2DBR3#g*7;oVa@7qn^YLOzecjrtr{!CIkBf zabP*Yl8O%~LIEorjpYr>{BVGEh;UQL||iy`XeFw~~4 zmk`x9talS=3no-zUwbWpvZ%3WgO62fBoc8Q6O z?it%XK5THmxae=S_c1-Y_el6QE+)R`uo!RaiSTqtP@N!?Z$|z5#rI6;*)P^OGb{?0 z$FB5iP_rPjZ#D`2ddI|mn=rJ0jB!R;;$yn^jfqY8)@9WZ4o`;YLJ>B+*in-+G@wRw zv~a8lCq8w+Q#1GmKCJ`~%-C;cQ)p1jnCO9BW17T7#e#FXeE*B`PYeQ>vpF0uCQK5c zI;YvJF*je&PE%cRPBV6!8N1DF2@Po8Z?LNX*h6M(Dhhyuh}mYS>NJ~P(WAi1RTQZqJTNb>dH8_ zYrp82xUfE0p0Mz+sDuQt1F*WV_?SN3!eI1{8ye=L2wEGvTcgOKQ3N*aR#Y1m*%XWP zuc&uSGBxg&)~Io6)HpqAM17p8tB;r@eClI$n{Q4mE?SS(Yf!hQeo(jK5MjkZ-D)tX zt2(@fb8G5{b1M$#R&;x-XY}wMtU^%$-NNcL9QK3^+OsX(PzHU|icW3|4@z&cMYyi$ ztTw2f-Y}UTge_P;8>+WiLNm3Di5IhDIedt1Yl9iTbzD?zJdAEJ6>8hu#9)JV8Xd!egn@v06*|f90_q?K=f^ayuq375{7M^j;yM%bPa;YeWD#X+7)%#ICe*Tq3X27AGdZEClQUWgD^Y+pOn&afA7 zTD1%HPPG@X-c~HM1Lj&4wm3|N_4aLB2NuVHMRr8!*IU(L_R?W7)ZyE<4m0XNV{yPl zs|Ss+Z5`-l4u_%j3K?`0hp`uk%HRm?aEey7h$|*?LhX#&){4oTsNQK-+ZHX{iQVFa z{`PC(C}~H;<23Yz02fZq2a-0NdYqz6>d1;yms9Hz#DN*DaxM)DVwFgJ&Wj#Xq7L^o=d+1#W-q$nt;5Fv&Ee2wAdkf~7(l?d%t%hm zKnrw8j^f;q9%YPCYz4^21WgJu!t`K7HX|P}Fg<8Hlm#m@n>2$f%#d)8Gk%0R|U~xe_8)JTsAnE^`pBHvBD*zr% z1^_&ojEddNfZG+50qh312H34f#MYTdXSXcqj&2dQB> z=xvC}KpK-k^SIYQ%$8J5AdmzT<7j9BQ*_fT_>B)za=VoC-5GF#n)u11kbRRnlmQG{&*(A~Wt;8mMsijvVU zvrVOwN_`?UYP{&A*``k?lc~|6UuK{QqTz7fwxU%5MNq-18EAlNI^OfPFE&7^1oD`L zXGO#VVPH;9hvdSo!{MbPb&FO2{LMC;xNPW-z!r?aDdTL})g2I4_D|PCZ3{gir#c2xdPN z0n7^pyilM+J0*Mfv@b$KieN^HVD>{1KtBrjr3jE7W&BbE$O5$qieMHbOiV0(C<4?D zQXoYzYbgR+ACh1*Py~&I0}V*6g*$N|M>1e`8jycghuuqucINZnwoaV=oMt-i?KNL4;aQ}FRFK{T#%_Vl0fm0SZ-CGy z7yvAQ_QmK2^b3CD0|53$^b7uorNI_50sB$u7u@1ATMAVN;{YL))Eb8cV7yutZ{zS8 zVj&@BAqrq%93CCGp6^*>uy{dxZyi3)Z9#Ys@=#2G_eKV2LGoY$6mMi)FvLQ7lrdgg z0r~}5;Kk+EB1_}J71|DE(aHdod)BsKB8GdM@h$3%Z-GT|rGtQe!L2U+($0{^fY1WK zTv$m6=41i`#sxr&g0cY+!f$+#8uladK(9lvZ9%Z@280$^HCOGx*rX8%gDfTnH0cI} z@Eaf4Q%Aonuxf6kN&^TXKU9V0rXcZPe1QD~Alw58p%(Dig8qc7;JC;E^b3CL(l4Dh zS3#Z6YP%cVg@nTuaC12l@rS@d5OQn|@imR?>a#%d=w( zNiZ?mGopK}2b!z}CSiDhPu*x88xhbtHlm75Ex0PK(l5BxrC+8nKi&pl-J=$eI_MT^ z-MAaQ4RNXkme*6Y%LUSy1e*uYxyRc8U>mh9jJnm`TThS#5+ho&*wn=i_>B)z^rS&#I@hFQ4)Wr_?jSn=79quBbzXQ%z=okDpFxQmmm&N9`xSFWmp-aC!{iS-U zw`bYhOdXBFCKfgG7$5P91EdpbXF$K81tEnK)dM~7AOwJ%aE}iG4EqJAqJ_}myeNVt^%MaTqB4<% zF+~9LLLFWx5Vi-5dfK-akRn)+B3S%T1Pf9GtAC0B=~2cnMSv`VP)4-Bt1m<%V~PN^ z!xTcjh9Zczg+g0_BB<791sY&fZyyVXgqSaCM>3$dGv(3Ybuh^4=U|Xe+gkBp5Xhqr zgFR%haL|tefcK5*7oYfraB@n-!qDv4vwB;OQJIKzgl(!#zGs zX$uH^!HPu9iidLaeLGml-;GQU>IJg6@ni*5?lC=>A>kfjpjDmmt*}_GbP&)lxYea!+8NRq z5LyA4D}WGw!`O!lfK~-%10aOo_#idx2e2$i;|0wP!M2-zS^a=*4IqRhm>3IyVB1Z< z;5R-<&ABV|9zRH20|+5MP$jxWLE^#q0J|PQxQBkZie!Ze)rza&Zu$kkb?KK*o2#JC zhkjWB%`5Z^e(TaNzxjEAM5_Yq(PRMFqsge)%?fy4F&V&aaBG0wQlej0MEP#|W%ZBp z75W89KqI1jE24Zi{jvhUS4Rf#K~6)z+=;PQa4p?Uzu-4Mfc|jPFRRx|x_54x-7iRj zML~N;bnm8LP%M0kCaa)zY(zlo*oZ1Jwc@I{O26P%mwrX~pmId$)Um5Tt%AGJ z+YqN(VR=1O^b4dh2{sR`wtKt{0Jc%vYP}7Q-dGVWS?%g#2mHndsd0DoHh|bhs~`oft$>rx8X?H zs;7E;7OdopK0~8`#d$Oen}@Dgagko7UvR5Szs#wiUsi{EX+xt(J@a4%Jg+E17Y69A zN57ION=Cn|up{7GA9bJHiVQ$gAE!Q@Or}PMep!Jg2t_z=JJ70tB51%V&;ZqRyytCS zY#^W#9?h`=TQCBrZXMc_F;=gGMBX}lu>l??0(sP7d@=^~=L)dF`5>ctKNK?oJGc2E z2QVH&7I+Z{-e52WaB2gix4}CDh6up{py2%sMY{89u+k1~EK0%U>O1Vw;tE$ju< z?1v&i?H~nG1e=y3poJp|wgE*@E!+k)Ae9yl2{B(RGLiuU`sLQ4-9xqk_BYbuW8pT~ z34rX;SkzPX-h0Sky`Uci5bqn)FG!Cv#$JFHj))dyM5_vdi<7nu*5nN>+=*>q7E)Gk z3rEOq1IX^*!qFFysM%nt-at~NU*IsPO;ki3Sz$`E0jgJ9)E7&5=$8%AJ;*`=JTrsH z1mG|HcGE9d{dSFhK)>KOiUF`UqF?Yw%nkbn*3p##7%PP9vo=8d1{G4B8-!5O%QyhW zt5xwH{(Od5NQlZr0gMkAxOHgP7;Ik9-dl&S0V2Eyc_=2pdtD<(14Qy*0~GJi0Fe>^ zCo+@)`UP3w#btVEKY-tjOb_aXvO-ETxWYsXb3M-ZHg(3g!66l;gMfa)tuFo2&XC6R z%Lc$)0fg`yCra#Z1!V&ubWIEZwNnKMK^l{wxgpqg(=VGJu&n`vkOUKp0sxwH(=VIw zTL9ZB7XZD-4-(e^LK`A+ki`UUBp!?puxo;up8VOV7HX$mkm+An||5+qkM&a zK@!x6rj01yO}}ga@YRvQdyv!6FLz?>6EX^vmY8lJ1?GhJHa3C<>x` z8=`wR{eoiQQ#4rxtz#nsTE|9Ik*N(=#Z~$Rx4QJp?1z5Y0IYk|0#b)c2(@n9joyYh z)dtJ!DH}VE_5zbRuz3KTd%O(*wo%(^y$z4v*aTW~s*4>qCpHg&@RSRH-UblcNR`&x z0L7y$CUBD(^fo*xVgnSedYdQ`;%pn>Y=wToZv%5piGJDOB#%PB;I}UQ^7NPLsotIi z5MJ~d8U-xQqfw|QQf;_MuhJE`)umsSRM0Owyd2=8$gZAwumhe~6oCuFt!|qnQ<_fgX4kXaS+YJw605oD%(lu185NMX;xyB0xe^CbBT5 z2yPu(6lhO9MX)190C_B?0Sd%kK#E}ZPZ1zJ%J`)SkOgGsq6jccVK2ZmW%ol7pmvx- zsMk;gVSQL=pa>f40~(N83pc|YWJfY!hjo8l>r-`T_mJ&?{f%_^S~%NSs ziid5BCxYyV_l@Znq(>QJFTiF+L<=&aRb6(DwSzTzV++SNz_agmfb?D#j*#6Bklnw9 zqc0#)v%^xofuu^mz+pffcjW8<^_3wHrZhXCdbLG;v4n?yK`Km--hgLj-1G~6yXlu* zIkOJ*3x1;*0DB|)1%E^_>>JH#cB~Mt&)Na;8&pW8Um%2%Ud911UagAv@aH?kBKEiA z8ju~JzOHeg0SX-e>@`O21?|0c_!=O>dpp8=JFKPa>OccT@?ZxP@6P~{64(K_8_59u zf-LYN)>aTN+5x{CnjW4a0s)W$RPHf7nDOBrXMDRl ze2|*+Sm-@|khlgALVlnMk+@w!;=%X;yB(%tk6e&Yk^4>$d?d#$8<=cb`w zkOYc?=-!U#-c7%tSojo2NCmB9BLZ5-M${lvToqU8mmS`+b$=ejYd6K>hkn_W_i@ov z0I6eFK`4TG8|nsq3KT(|w;ezO zRMYXEw|%eyB!n#RXpRHeg6_Pn>d>Byad;gh^48&l4IFrw2;@v|4=?uHhQuLgktN_l^J1Mcx* zN?Sna3rN%)uvBlrR#f^04ujgTA^`Q3ArGfCK=o>i`eF$W{eo1O9=!q2%(&?n{C3kX zhjL~e=okD3F$DHT^b7uoV%RsD)9hFwT%UCS;y0*}#<}s_j051j#sC4vt5xwH{(Og6 z#QqM1`VN5ly2gP9=+faefOtWBZymk{i16Nl@ZJINURMViAd&|Mpm=`-lsRTGo&&7 zasV(Fb0mT}Jdh3u0}J6s*$4>5kOWXW<>hdZ2YMZXZ3lvFH~n(>0oz(Yh(H)*F)^S? zH~oU&_#idsvCw<`AaN}qL?jNfn81z1gYf}&J%Dfz{eoKHW1Jgt72Hj~;I}UQ(rI%Q z)cMda2YxUI$w*^Vp#SL&zxjECLB*sKiu@o>9vyXotuV! zK@uzqxULh?y_CzETaC9t5=;!Ep%cHfM4Q~DFVo&4g(a3EsPYw>7OD%dX(`?5g-f9 z49Nj*F5(qy=Z7Ld?H~nG1gDlFp!FdMb^=AvSUAvt)LJ-xcEX8dz=>o)j~b~uw0p=- z!2U)$d@USy0w8-d7TgHX(}8V^CxV=a_l@Znq(>QJFF->PT!P2SML z@zo#@z^paz)uDwWWOo8&_iy1SiA2o_OZ5hlD*Xb7!HlsY0QHq252rLh^=gayVhIoZ zf>e+mm+PH)X2wmw;J2H8Ih8Z(K)>KOiuw8U2K*6AgMFhp&5jkq^;st%euE0B^b3Sg z(#tpi#;aBF9{zlXSj7HLg!)c^`ntw}1}Jm@u-6#57qs`*;cI}1rJV@xodEB3b)W$v zd2j-X_h*1e37i1jjbwm+K^AzywG}%qDLVnb8=4-TA_4)F(hRQHbuc<-febt|etJ_l ztd=YG(hzcodtCyiog)ni7$$ckqP!w69A97&5TCoDc9?h`As(fM1m$zdi>q0rf_WH; zSQ&An9h3B}+m!*%P2q6Z9j|~b5gxiqViS*2b3V(ZP-}zU3KfLtQi$tc;Q-F@>PF|e z#3Ls@0%-0cWt!5#8Fc&$v>&=(a}hy&Q_q>T2W&$mbJf*3~QU9|Xesk0U zNX*Z@#aTk+hwrbz$spzZ75uyQ#F4l+z;-FnGfWCyg_uh;y?-7c2%2b3aSA6Km;h$r zW~HtSjE~VNBu$%v=qOxt$L`39l?BL;SLh*RY9ddsRd;WDP^g;76PDaDsjzz_16V7U zGQ>;aunvw_H@+7w3jiNm)&pko@9I)Xb&*Q{dmT1o&W4$|mq=X2vSU8*W&{4g4cLWW z0K&ybsUc3Tj9k?aZ3ft0^-#d)>Y(l0K(6^mWFQvr!vWHPTKraz$3x)_UVN0Au|o6+ z;B+H}ULGpG5f=_P2Xl8Xng|btBPaMsSvJv@P7D?R+J#Bf#ioOg?&uSj6v!MVb=zib zk&phTJUm^g`nQiaD&P7MHUrE3XfvKOuAl|i{oM?xJ}QFm{OD02d&-m!6T1g-tuoI^ z3jDizqE@sHPy)TyNv6z~)?rreF43qmd3NCO?!0|F@_>t#TIVl*}Lc3Iz{8=#QL z1`7fcw6Uownmh|6I5@zdXsF58RAEFEny?+AWArtl5kfJ9i17}xOA1X6`o+*xD~r6) z>Ocyvb^(x0KsOAH6e@}0CbUKqun3Ql;+zZ*5Nnt;Si=M>{|eSB%+;@{ZL60 z5D5=Xh8xH+99A?@wVM_oQiU7wC^ZZYp&ZDID_W%q>4Cx}O|VOl8V`U(A_Gwpqz4L8 zH3@oP0(y}0-Xgl3$q#qXB2~x{6$lVT+-yVh2T2` zyFU3Sx>$Ty8Kkj`k&Gx@5=tmaD@`EZf28Q8l(oADgj#WJfaJIJ}< zUYAQcQo|)p__ZRmT&*(Cu@KB$JsvDv9|(sYmrSNCIhQmk??h`=d5#l+Dr7Dijtuvy ztCt>^Gy%I2^%8)@Dhv)bS2TzgzKp1`suTc;fNYQg%?MbIA$Er56e6CpL;{d_oxSqb zlnju-0W8!Z+!wZCbTtX6A*d6K(}qyPB_*7}52rya3b}|YIy}4tCa%J3@z9hJmxQW{ zL@q(i+w}++O@hRjfW-LUVsQ12@J?@LWBPwE8VC>p~*k9fh>fSe`aG6%*NzmHZa*^9|`mD$84ag*bRc&n6%7Bv^eZF;vc ztMq{Vj8E9Pq_E{8{CwyK{Q+_jSM&-yY?0#?EeGQR8~X#ih9yLVpyn+`^al(JjMtR5 z+=TB4-ifh-4SYw#CBef)?yg#?Lp4sD5CmA$%)UTIou?tlu*gHy5DzOUToS(a@7i~S zyp-1kkW0c1W{*@v_v9yXN%*VC6#Gqt3w96eqA|omcLdNBg9>UEnm|hA;AKD<71+pt zd`%U?2#eyl3SwYDXsU`PuLTwe^J}Qd*Hj|}Bf-GHkQp!%U8g`JgaE=q#CSVgNC_U} zFAgwr$q0CR7_Vry@ZPP+*Uz90l@#K_8i7T4aY+oC3s}Rf!5R=O*E1(K6e;z;ilUwV z{cuT7FkZxma06G9ST^;<<3*&30eSJ78U`ma67&FL@?t8O_Z2P)k#;q`=f?vCV#m0= zm;pdt1*yV~c$AuxbHe5Pa0e|?gBzE!uWbD3IQdC_0u2qUrs!5)YTeV6UiEcmT2zg-b>NA5jMtZ)4GNNhJf(QMhBFaLEWbGKD!q z4=G#{B9|KGsoj@^L|7<6Mlh7Ghf88CV*GUhj=-%44VQ#_T`uYH z$0Z?5uSPpC3#^e#yPGHo4;3&s0yZ*I$0Z@|uc(G-Ghh^|hXN-sYIH4^j1c=A5ZV`8 z7{8+A@lbfT8Xu)*tPo}byue7Imxqe)#zhFAgt3D?ToU61qeAU!kGph&9$>U!50}J9 zsQSj8BA3Ki!X7S(@qzWeap~zw)xUkbQTYm!uo>71L7VZMKE`^e%e=@X;a-<>Ia9+W zA-J%sowUj{XIvtHhA0LqTpu<`^jasGvgBMcLV3Ykt4eeF0izQuszklu^Xhv0t;tmB zamfgL=Nmb)fC&%-4cZBqjfP8NTw~R${9|WGiVY3NvhZrKAEnU*ghs2$>mZr8reuHw zPLqKSI8KIFgTqk*Y6$9tp^J@nScH_IJrRC(YY>D$F5)V93T(?GED=@36JSPM5-dj~ z67CJO#sf3fi4Y4x z2w}B%Tvm!82I3EEt<+!SVqbucp^GsCSMd#2JhYm;P6S{yW23(H^#`-qae)+AVBB%h z+W|#O#~8>cVtiasNC_Hb_Vd*u(QE>7gOq4%!6?N-ECwR>;}4=u;H?QPhUS$_^aqSV z3|C+n{{2D73f_r9iVb8nToODCbBFgQ@Tv~gIBjB(VzrsQ!I5^JhIAqi^bL$x?BSAd zqi{)2SYqUo7?&8YMjvrOE(w1XSJ7{pS0h9P#Zm}H95$$+hD(B!(B*AFupyz=%zHph zW~zd*m<2r%frs@B2u;^T|tK7YenjbL^JG0D06Z{A)^0@ z7ww$vhfA7)NO*8E+(3>IV%gLabQqB;Mjgg$Y8V`HNsK!zKwSl?V)$Wvl$x`A!sYyM2Q5;C9I?cLJ9uIcBbUS=#CTO+h0>G`UUk5~Km#iK zk{F3tk4x%whKe`^?rTM560!oZg ztPdzt`P)`W&DE}a20kTd==OQ@B)hlKSRu5kFVmsB*qZd z`z(ypAD4uf!&>bwGZoquq98m}0BSRAWTcKuLJ(ps5WGQ-SIue<1}`>lAa%VH5{V4N z*ovQo@^~n`D2{oiW~>lq0=&RTp_hjO`M`VyPy*uM;gT5i82_MM?NLf61`D7E9xjPt zUGt=RSYh~_l&wol zTtZlk*QbO`;i(~$5GpyjHq9v)v*v~MdP18m$dW2;$=Re?d0$;yGtK!247TiDGiNGm zrbj2uKyXAm3Zwur-Jq#}+-Q*k@E6svypcjOOyWXq;?NdGZq`K#T1{SOr64e~p{8V* zM4UOpP|jFjKWC*dR56MepMnzbSuh`qA6g^EF?j7fJ)DX_pN9|mi7R?O#%MN1Ch+2u z5D|i!Pahy+w7`2ics2Z*h88ixH-J&ri`-xg=hXHNBo!)M+4vzhV1h!E7dFNC%|@Dh zdj|qOqb5OaFwnEE9bmg-EM^q+Pi`>&GfEjR31IJFaAzR}SNw7#Ua{{nJhPwPL4b)7 znenP2H^NE<*@t+_T7U2tiP_g5FcdT7D_D#LS&Sh@cWd%G6oAp0Q{CcX(*;ssJ>ZO& zt|rmq;>;MvU-pO5Aq$a_vDb(e7ogiBhzNca6I)!Q1Fm7*;_!|flu^9GfdQ92NL~1Y zAQ>1`**}94vVwYI&}9Qz4V?rJ6G~mBQ(u|EnG=I9tIh0vj9tB@4^rg<+zR8XvSV+3V`3Tg%ikP^DQ4G8um)SCGp zx-pzG7S>e|0|P>*P&9cDLtgt8-kOpP4q_VtVs-Q9$C)r2} z=_KSLu42tYY#3m0WJ4o`N(yl?egKj17%5K5uAs^A)m9b!YojJN5+b%BM@j&|51+IE znebp`xPdIqV(AoOA-n#7XcfaK<25xb4ha_qQWo-<3MqoZCm}wv#!&pYfI#gSO&K!) zxT~O5xDk(1bDmH5oFD$6MXL~^8A~kqgD0pm@=1)Uj92X&Sr}JYJQII$zme5KJhBH> zO=WMWfYX;ydcrI>6InWf$p1S_Zww1j5LHy^3c3s*-_;nE<~vo0DlzP`0jf-qQbJ%| zmoCxz{>h1lQbHo3R(JuD6NOS@bY*p5@wOK&rBpHyeT5qr3Z=9N{sD29RZ5A0l#TM# zQc4WgjBO!IA32FaDKS_y{y_}73ds=u3M2#QfmH*dEw}^W-kz+1so<^lF#YcI=cURU z@WQ!(VL(Rk;Q-9e%@>513RG=@4UN=sN=Ph9BpMBfh3cii42)Yy<&+k2Mhk*3i;`$o zeIOLGc$Av)Lf8qA10#iAUJ3!Lpwcc31MER`iSSZ!ddLC{LOns?E}h^A7|&VQgfMUT zV3mP+r${O>+_SLGI-($!pa{R6sXDojM=D>+5@rK?B49Q)%?W9Y_^g->vP!tu=U%4N zuu6ykt?_@iHqCh#E6@=|8#WN!>o-s`ZOK`sRe1+rTQki`2#g`E=)#&|yl7p%oJ^M< ztF+>Gu#`@Mt6b(s5iEzmRLLcj6TLDenn!HX;`HN5O3r#RU zHR?bgHVjdX&;%neqlobbLWGncKvqBO28RsDMO+1b7V{l^I$h)rRW;hAghmyKT*c6Q z(E)*@RnQqL(3zBhBNzti^5!@gnp$=I6naN+91LEK+4$i&iY70JieagZG$rdD!Eqpk z&}0BnMY{`*gQ2L6AfZbNM_7zRZ6qc7MQ|LDf_AmT2@1RlL-faSpsLsng5zMMX%Bov zD+T93y})rat1SKkOegaP_>2r@Ac_y0ExKG!tI6wl00x~-b&HEVb4VcyY;Zh4w553S z#EMkK;G;S&DdAXtJ}xC%Twrgj;3KYY``g9)vKTMg&>x^tu}#Fw92iI1)8fJ(1lPb= z(f<8G$O;CEv7`-THLMamOeht#0-B->pg4D8ENQiwy&;m8RYKrt%tLICK&WVyRl<$J zDj{ODYdA$#iQ%L1YV@rg+@yrRih_xL)4ZV}DkvyA28K4MpoUd~l+fjEKtMs%nx!x} z2hgU&fq!MO{EJ0zF5cXMPD1KZ(0Cx-$jcNh# zDy$O2MB}5>oa_@m=Z8XQ@hapfN-W$%p%92yF<3NQfjp>q6@p&lU&K2Uo`BKFDluZT zF00h(4HaFG?>$-O-i!(WTSquIcXFdNNTX$)kom<`VG7@s=F zfT(X><%TsVasFKLQoGU|oLR4G=tWFOY7!xxr#+5oIzPgh5i;zap04j0?#KcCY zAe$>Vp@`^*!KYu7^$~;^)saiy&hUN7WMzR5Jta?TN^S>sQ*t|i4-h3Uiz#_KL-d5J|vl-giw=Cx5b^yoDlh?zX+z#LXbaFY1PCHw4 z+Svl_>{}L{@c;rMCf9-Efsaqa?zxVfPCHw5+Sv;2>{}L_jveTX2e8VLyeu{yJFw}r zvrVU+ZP3o1vJ?wU7o4`H@ATR*aLkhVq{@LrQsIYmf$%RlZRqH9pSmt!RdVO%SxeL< zCj%n*?00)vp?0~*FDqZM-`6~1_cNX%|9+pJzBlKlOAcI@f2#M6q*-a>_0mmYM|zm~ zu>l8I<&NPz$I@^z;K=)=iEOI$PqQ-gOU^!QUyhk%OwIf>;NDcex8w&_>SY{_+i{(& zIQlDTl(%+L{MX--4iSu9?s6zHA%8=f`BfS@Ykxxe4!^)^f1F7N+|Nyp@99l5H3*}D zKa}7VhyBjFsHLup}LD@v)R=(eIHHE(VjD@FjSYvdgJ$n21^rq{1YT z&ewvG?y1tY`w#ed_u_3=9P?Y+{xeTlLB8 zd-k!&SzJo!UV=rG{GZ(U+<&COR1-JtUcxFAD$fUGSV5}Yo+`cg`3-v+v4Q1Tzlaxj zvy+#fw@4bCz9$`5;k10D@MjjVXdcPa>BPSF;k{|A^5tkq6(?Uk>i~VX<2iW~-9v7< zu`>Us(j2Kn^dVC9=z+)~TY^cmAK$avCoN=8#kss<%XoUfUaYHOl$|4ZJ}TiU z8@qX@)H%aWvc5(jdB3zIdA)s{Z2hksX_m7by?3w^`Deud{(0dx(tPn@vN&nw-p>an zOT}UX>D8e>unUjZL_Xf|CtLMwtTgIkFfZI?F?$nmksW<3lV|r5C1EkjKAW~-UcNjf zWsXZjw@etzi?dZMtD_|QYgroUhcgdI+V1K2mep6}*emIzN+bVauNI|CdS0WMRKM{F z`H%l5$fY*SVdfWYrT$+=u^YebCQB|iCwKmcCarhPjcgU%T`E#<8j-9u$mwdONuJm( zq-yzhq*z#EKBxT<(xlDGq=b`;+5QnFZM!o#c*SCcXr%-F+4`Zyq}-1d%lk5~V(GK* zlt%14M+VRBPOe^zk@Bn^BZbfGKsuK@mGmxi0s5fEW>&UxR#N)TUbgJIgWk{dCtGp* zYZe^ef(_YVp`}(fXJ@JoVe+IwtZ2Rwq{rlf63KH{p8Zc@KKa@qvO4EHh7A*;x)KgC z#c_-Y{3d+695JseZlAuG%GI}_l=t9Ld9m#s>$>U)$@te8{&U&Z{Pu-GEPu(u^!bW}q@?F_Sl3Cf z$(k;aJSwyl&(=OWuh$?e&$9Y6kt&=aPma~%Z>!HsifogYH0>Ws%k#$cKl5f{+VPNF z%zZ*$*tQfYAD*6`co!xex(WZ!kK~^Zl#&Op4yH*5$B~$sGx?c3D_ECB6Xe#jC?6bP z=2LEOrVW;?Bm*lBpiOV5!O&+A1NA5n#==F&#CGJZR&G1y9-HO`Y+r1pQhOq8A5OA~hmllU70>8X7IbXIg*S}l*A_Nf#_ zXSX>+j~#wO(tP=Yn3i>-4}$m5v%iG#oNXgWNTsJF`@Y$1QvF?|efD8eLDq*Z-dUJ_ zvtle+y*80lEtrc>eL9!i49-BCE}KZr)4H(5mqTb^r3doTeRIf;DLGkm+25tbS<}<% z4;^gv`{FEjmhIB2I+IE1Zqa0J{T%#u?}KD~yNxW$o`YRKeOKyRB@N$kx*}P;#3`@n zQiczI(3zzjRh6^}=uYPheoulL){?455^m<($llBCc+r54Jku|fzw8u41N)EWS4beA zv2Hy7H^V|!5G-tb*>_@j@u;H@q6U^FWV@!XQr7tRH8%Q1@P!0 zQ ziH~o3k^L0xBu{=b^D6cYEOFadR^B#)w>@)*ESYAew`(`2XTzUK--hSpqdMIpm&?|m zctrHTZWs` z-r#gqb8Z<&LklDJ^BLc@%kHD@BMmqDlr{DdUg*9nz~SW z7dVf`jhRjP{<)-Pz4~&qygB&KZA#L$OP7#uZgrz2(|snH+N|NzZdRa~K9ovY8Wv1% z^m;G%KR2JW{;wrn+kP}{6+4)>%e#!0E7z4}yx5HmxVDD=*YzK1!>)An)#@B{ytyX} z*;tl#DzT45AFfD_m2S$qzt1Bd-I$R-ymUma`bQ?Zsp3`E@60sm?)1qlW?M;q@ZL05 zcJN23`nIj?h4URb)Fhu&v%(tIYxP&8)R2ZcN}qDrKRAy1$erEUU#g z&KfD_E^;WT%D7TAWY$JCT-=rDpf#+s)^(-_l=T**`K;yM7&hxcD?Ov3VW#_Q%gj zkxP@DEpt|(CC!cbjY)m!cYVjvh09x!=Wk~c>E|?Tb)5n7<$o5_Po=k!&vi_sdj42B zU+pDq+LUwBFOiGL!**ZsuV%Dhm-Dq_JuMA*bl3kSEie0&bbC~nHZ}*bEz=6~fGef> z=6cFQvdOR)5H!lktUH&Q=Q`Sm)eAkFIU$KxxrYXwLzF0;d)yPc0z7os7``;{b z_~{>#{eB-(=SvHoDa~@}^_(DHq+1}}TkE5AKX)Pi-A^U>!P>W-jk;##*9KOkql$bY zVF|NnV45QQ=($i@*m{ygw{(zSqY2Hs?HihKw;!F{u{+=Ta2UO2$<4Fv882-sSf58c zp30)_CE2sY!E#-DHFn_sDe2hh`h3LxnIy4zMxHD5hTNcMG+mmhJfD^@n9n;DK&2a8 zp0z8GH|}a8*Vd1u(zW8WcI~C?^54DWd6m|Z3IX9frfmfpw`@NNm%6b}N5jc_sRN<4 z+K@cOR`W}R8oCgJ9+Zme_!k+na1=9LTf{Fmm_%m|&n)j;Uyilh(S<+j>)-=I&afey zkFxo7Yw}#V-x7Piqhv~rwCwtmvEA42E6Tth7|gWj1knzd;)fTn%5 zI?_=mksdGOq~Fcxz)v<^Lf5C8$d4>cVl^5SC#MGGVd=MR;T>1~L5>I3<=r;6;pfv& zk(SQSN)bw#m0dC|#yoW_ke?f$gE}g8p?5!TXXR>U;Juso%H81AmaM2>)Z>IjL&@=hDu+{prC*QJeJKJBY5F*MeSqRhL(a;UAW5+Bxc2{dD%2s(>*b+`_Fo{TOo{x8R7dXr zERDQ*+iP;Jd3=&+7-gqN+c3YEm?q~rJ(*s)aZ>(u=PlN;@)Fi{&s3iM-v#WS$U1!R z{tl$qycJ1#XZL04#%xQ9qD$!QWt+)@x|2z{f6kDL1Lu-gj<;-A?JRWL(k#5{;s3E! zapPFxh9V3ibWC3wi#(GvucMEy$;c^CaS6 zNq*_Qi9KsFobPT^k8Yg%E%|o#8`foa6;kch98zFM4O%{HP5SM~S<*9hiao8?oyXss z!uYj8B*&P!Y**{oBws{ai>{iPgat2mrAi>$8WLPxyG~a_a?G>c}J5puSb#W-(}-vZtjv>#zpeHNz3H_9u}i7 zoD1a0)v`QmY6<#H8p4W4*5WNXG^BM(Wa4v+K9bWX=4Ny3HQ4oj4M>wi7n3se9>ii# z9+qs?*0OB8GjSYGM;CV}PUqT|u@etwlaAe4-??SqPmjGN?H~Fj%<#8##R^lm4BH%mOZ@Cg;yWkTl-Jo+fluh4l}<}n zf^7M!7yIhSO!i~=FJy1a9rE&*>&eZ;ZZzB2B0Q@(2aOxiCTT$B^xS!4D~WHhUOGGL zHMxBuoOdoVfjOMbN!FVa`O%T1rRIl<^R|I|d9?$=qxwgYF(@?I!Ocr!xMS zbpQArapR$-KT3i7K~5PCOjT|Gw3l&q*_ukMH$J`t&H<{z1L^@qv35 zv1xfjXxf|se8%b3?9hKJNXz4=Nv3aRvLL>jSo1w&1;1HMU-1Ut99C5!WiR)kRN{tE=wIbt0#*PgDBR<1g}($PIz4lRYO7{o%1RcVQgsUL+lt z5|@w@)}=|!o7m}~lO0*9@_s$8vAmThkY7e$kn6FWJm}Op5?H(m&9x~j zo%g>b?6)ET^y9cyr2Dm;d`+XlJR^hwnnkgrG%o!dHJ2+t8MD(7<$bO+p5JRi-(Q|be~=zC`@^a1QNncg zOY8USyPQ${*2`mT{fFv&@1X*6!;U-o##XWX(3&x<{l4ie$Ld7#eBvu+bF7T~J~k_l zKlwYE^K3uc`0s2|wA9b++S0?3>u03nQyk4A&&z%2D$_o>dr}Mj+mc=KsvOg#9Y4$= z|9$Et6^IR`uQ%Uh0f$HOH+6H9Eg5Fgz@?|z_@*P+pK0qdI;|z2R&^d5|8I<3tNjBq z_gW<~t%gLe&uK(%j#(s^t$u?^r)IOcb!ySP8=;D;nMimZ`f~D z!gxs2j68k+Jp5ywi9B6g1S#_|T1q(In$8W3;Hv``(NZHO(%c39krP^97U098P9-WU zS-=z7@9$odzH>IvW{o1*rIz!^tjV`n(9DdyRrox5DRw|N))+^-oe6p)$zSal*_x2q8S z{>ps1bbT7yr@>4)`hbnKDYK28zw%|@=_{3JiOEx0f%QA2#{DwWi`Vm4-Cd=RJZo>} zq_q2BdFAIWEE7whi-&Y)>$f!IBdXqGg@c#N`$y)ae+L)kbMDpRIX?_z@c~;{#Dfn~ zx;fImqW6xG2CoaSF6X``rwaCBy%ry5_Y<8`wq8$J&tBQ3@9O@-#`o$cA9+-q_Z(D| zT)Vf3tbWyxvpV5(o@dk0^?f_=UH=x7dXJjMujMXC2h^nWGFeX2Zk|9pwz)#$ zS5)Gk)>V>ivmdaBfwM`j-2>R&|Fxxm*DB8Uq^&?}UJ2vf%50UN4>~V*>2b{2aN0iU zrRf$)>h%k$RyP;F`)({R+-I@WF?%klaDxmq1Q^i#;Q5TUoli1Jw^*4cIqBeGo#?eP z^U2DOo7l7`S=s4I61N^$MF7{Qh5e*xef;)K>EztMl_O^xJ-bfY~nc z@X2r_1j`@qVfDPi@$i zg-+hT>nv7te-I7pTaliZ_evGpanfOvg?uPDRJvWdyPSV?Je@hDFL`ohAl*@Uo?M_~ zJ6iZ;IT|>sB;WOO5YKy~IN!Ye3mY(L96P?g57;-?wZ|$DWU(kMB=rKWFbs`|bORW;^>Ja_fR@yz6DBoaSU0AAWCeWvNnes zvzsfc^QfpI(*D?&>8wXAxc4lU`^Lw}vqul}zwg|24Gelvszb{}I`-Nj8vEfV8a${K+i=9m zUPp!TXWgFCWmyLEq{M1uWrG@0+5KC|?%^M$ruFu+YL%S4(&$A=mkw}ZJ=cpb&d{HS zuqZyNU?hF?{;b?G-wCPl(rC7|cuZvOTzhClVzj(BQ#?CTr5MfDJ&v3HSCe)fpRH<} z+XwjMp9b?P)w0m$4YQL!a&@6qCRd^-s`Vj@F9bz)K9iZxaQ3DN2|q~dZedG z4X&|@*_M%sD>~D^jt(NP!i(-Na2{r`$u;<}kK^b!8K`unuZ5o|ns5KudI#y=u`}uI zKN|8&IcCxpOX~B%|1Iaud#9yyhlkKr#nW@dm=@(whZbYD?OTH$C;Q3uXZ6{Ppi`{# z4w){0y@|8^r}@<_jcBi2Tj=jePe_OB&1r^DAw0*e4N}Rc-}6Fsi_!0br_jOAC(#!h zD)2+utI3Tk6y}3FQ@SGWuQYbdCfa=Gb)K`<0Dhq90&d;El`kIIoHqO;xazgyA6d29 zOL?QUk?hIsOZ@n`yR3GZ)#S#^fwaw)Cj9bG<>^kI7uGXY$j>HHzT)k0X;gzPyz}-` za?iIpdF$YPwAQD-e8K(6xK6&>HJX(p6!Zs!DBN^Y14;PHKFu8Ex131h@Sa zC3jkUgD-n?gj#mzVrTg+Qe?tHY4gnDY)r;2 zWZB3$NsVonz3>w zm7CpXO}AZ;qvma81zV+IW!L6moh(MAA4dZ zOJ8>}Drb zj!hvwrc5E>U#?5HElcIyt=iE3XQ%KTEu-1?Me4p+6Vbqt|`$p>$p`FH=`6Hwo*2QHchBwT#w$(v+?pJDpGXI~!fRu0GxHdqp}lQxO_exDk2Rt{WQ~_mJfZ z>P&kB*s~9;L%&N?pViI$IkIK94J@JDQF`UKtw|5gXQh_{Uz18b9!fQ)l^{*yzG3kd z0{Ms4S6IUSPP9wi%<{JEWBBHkz4_w873uq%uZXk7dD`09LtdA&23=`?#|E>Rr2N|a zwD*j^S*9Ch*$;(2vghX#dDG*ObpM$PY~uSaBw$o-zNk(GKI`&*-n`Ku{&+$u78^(S z$PKUz-u+j3P?H?wT+OL;=WpjDCvLDxzqPL>&p%_MhbN{b=cf%~@q8h<_jEkBU)jRG zit0oz1=13$N_T(zraytV}ptH#E z1`EjTEDPkJ9ozF4+bXklo8Ob!Ti5a3J4(>(Z41)jhx^fx-W!wltb0SV@5?RcoiI+S zc&Y*`c|DNsKDB}k@9;0X5n6zrU9pOOllV!VP-C>bds7m>TY3Wfw$^$+?Nec?_W1OC zc8keU_<&%V`(#1dX?Ialv~CN2e^gQ4xFjqwZcO5@U)-1MQ*K3CH{T)ujqOeL6kf|q z?Kw@h&HRBa`*$E^m+G+L^%=QYXfLmDcQosE;y`5L>b30eOuc#W42MZS+j4&R%wDyE3I))wLow>Aa8X4bv9J@GR9oZk+grBO`l$gf@dk7OU$uWbt+L=$^1GC`Poht*ss(6kfOQ`V!2oCWap~F zdPu(eY{#F6h@)b58q&O+Janmv%}U6~_dN|`&l~*7#@)Ei=2yPYTENEH#9<@Jle0n0 z{vbUso3$fdwZ9FiHTMA7WNO8#Jr1Hr(+}e9bF3k!zCSA0wAbd#KSuBC+wGd1GijI9 zCVykTqVrh3lZ}uv4*pyE=i?I6H)c1R*Lo!>F=7C1)SS}!@!j~R`<3|gaaY*%+KXtq z>Qh+kso8v0=Nqi(%ioFfhxIIH$1BVpW|GRbo4^KNSwoKwOCopb%_YxG+evtyzu1+h zXPETc9CD&m2w(d{I^L-Gak<{ZwCvo*(PUZeI97DmRyenCktAG+mV++tlp>$>Wxw>P zN=nW+wC_mg?ySVn0QS$^&8+{BMdXJ@jabtUo9M9GfqY?97`nficX4Y$YL{2WmT6{hT{?=S)=z$=|62>+joqP<^@_Vmf9^Z%Cr35ldSAi zgp>*y!_OSdN+W*wg{-|ZiPbGO*8cG3DKfspB4WLIfH^*YAcIeY(JrfkXq}d`_^UU) z<#Jc2v(ls}HD_tPuhF=t(ynEHlj^&FB2ll3(*JE+K&B3^MuUzYCl$7BXGhmuV_)rS z!_K^DN&;dCpV?s$k6zW0O{n=TeYkBli)uQIjm)-!{5q~iQo1>3$i`VFc0Ohqt#+>w z9sc1m>r&%639nz9elR~KubP#h?Y35>c^y-E`GfiS+J>)Kz7qY}?F!FGhTzK5^v5OG z(3XTf-Tg1)BVu@u_%ftL+CpsWrx|=);1cQ9m4&qKkYYUgz(n?R+X9++c^G?rJCt@@ z_lAw+IccT#0rX1!^+~Z?^3$%vf^Vmfh+j6HZ+ zp7h^zGWEEF#+H~&)^E$l>hDWnD65!94-{%ZnkCrqI4CWP_udgEAK z(>lRQta?ytL)MY>`j&-}frY!V4Nptaq4!qs`EhA^M#pH{_Rd@BWxXpbpayrlb zAHvg)>q}q8?xS&8o{{P>n`BG(9h7&H@$=Bbi`Z;@th&ti;}Q9bD_`JXQzke)3X@^lS2Nm@LE-?det1Nxt!4__`O?aIv; z=W(pcr_{6<^Y0bs$$_hPNUa8e{P=)4I-`AC9zE!eT(46#da3Ia)>8^0g9ilA&^>>% zf}2M3CEu2kzg)k|mKNI0$A)I5l?GPiF&6GgHU#QoX<8S;Eup&;Mp2drqp*)(so*vyV&D(xdb8ec9IVpe?0&nUG2R!R$43 z+wM!!`k@C||J;@7j5pKht^azmrmyz#eD*ZbqUl>t7vv9SH(;0?X`QP!=DxT z`)6B7_wbUmTih}dx+sb?%h7k5R zmb)58J&&WF`TME}ldIkdB(GXTk=B=9O22fOONRZIf%V*)#NMp!MdEGK2>)(2`@CZ# zX_>P%>3S?H%^VxRr}Vx_3O)QxHvb=6ZyJ_k+r9r68dZ`;LlPks6;ao@R*HmDNC=Uc z5}7lrG-ytyR2r0uN-0IxxmG2ahj5$c%(D=Y>3=@=v;BX*FP^t;y*jRA*!Q(Q`#KNz z#1=<2`0{O?JS1KVW&2q4)Gj4k?~}sXjC3(JIf}ntFr>)9VWNBA>tNXL2Nm2^gAXRs z6}nzhmWKwDU+ zR!<+-cNR{6Fd@U3Q-Z~0FK*ayOdPbWjojA!4ZT#0;Vm<2Y5JwTaN~RkEX?{LgA1AD zwD=*-I(3GUFBS;d&#frzYpoEtzwdv=_g^02@502|ZGxJ#uP|%aFBtr%x9IA(0)jju zD0{F2R#i`?6V<8I{#zV(-LsGOSIxp#eb&L5HFxQkVjQ%9KA-<;$&(L6!>hXf7~!>@ zX08 zyNcnnax)z1zKs4nJV#rX>v4^?z*qdY!0AoV(Dlv^I{33iJn5NFSMN?DWMswRR1}7gaE7!BKLVaZUKuMFppvxFGDbobc`D%Neo4>oQmL)BVg ze#;;zbMe9t6PKYv{|+>B#WL{z(vG_n2t43yXa20w9(Vao0!3v*ji$o~RojleF4(rdMV|p=xk8 z?>?0wD%7}Aki~RTdHsa_=KA4zwOv%1?o3s^Qn|=Wz~J{su=~NY&~{6j{DE0D92l#K z`7e(^ouN1H$j#;8NjW$;cM=@!zor*28 zl^lD$0CJSW*=SZremiF)CB5EHQ)(4BHg6&K?l6}#la7MTTSFK#_a&_wkW4n$&yn%- z1+1Ri5ge4da_gTMdfsIM9~{|}=i2R~Z@F6`A*d6jSnMUGo~692X$`t&$RTb*30|6> zEc@NrLR=hgE$T{+#V#q0KJ->V>u?2}QK%r#P8u)7O*6vgVTWLHd6aBr<4|0C`X=3v z>H&C5Iv6TF;P|X@=(lJcMa`eeh3{9x^$vkTg?^UMzHSOFt*;f^S-YaIQG2Xe(Fz|2 zEAp2Kze!V~7I(YmQ?TbPdK9Y1bqk_7M&A}QUYGK#lU=cMMhE(nc9Uw3U4j0c6!G|E zPrj}-f*)mXL9K#pa(O$NtA}S%&47`dWqyO)ADWBD{7iW0$$XhfX(cVXb)VKc%lOH& z891S}CoLQvAymC-M;~DwDbLj)e$a+hJ}YrRaH>4yumSC4fVNQQ`iIaZkdt;y?ErXsrmr$)o_P;mg;J;7FUsp2jbUY{jQ~CzrV%N_2Y*9Ek zWxWH>f`0Um_6bPsvj(d)qlL8Ha%i_nm3}PH;4?|#xYpf+`@XLLTXzSTDc+|WkzO$A z+ArWs+c?nQjf+;l6m!Qu0M#)?5bbTl$D7^Q$#XRNelLK50q<#X&3dR!*ev_d+Z66L zM$q&m0pjl;Bf&=#yDr#H-W{zt?Rpow8(>Dcv%{cI&(-4bU}N;RDVAK66{);EORim3 zvVYtN`WQTq9^F=ugq9rYCmUkKie&E7ExD?wTN(^|9tl%#Hd22zUGBZQJ#K3+k=-%P zf-rkG{7!ianp+fjp|u{qczPMWHKo(Gj_0WQiz4F_ErGab&xGkcH@%!j;=IVdHnd7N@0#7GWe!@M-^9cm<7XS0b0*_(6M z)=_A7T2ZjEoXYbL8R76AOwUGMB>fFX$<&|`CM+ugOxmCVuB*xuNnbkKj}i>FQz>Dvp%%( zH73m;ovG5f4Ngg$C#bII!-HFHK=;As*eAVQuJ=5L2KOF_Hb0l5-3D#87;-@Dy>}Eo zT)dPTqeR-rXCY>2CBMB>B(8dP4$k)*C%%lf=GFD#vR+A1bU&epex*ql@UKOXuu2O| zrQXOL`%>|^(FJ$U_Vcjk>aCqnj<-XHldPOZ<>rud4q`eVU&;ag}NAQ@Dg|eOd zC(<5QS8)B%&S8J%V4k*b7aTVP#O6!jpg$I$)X%^oH-Wm$3`CdbM!4Ge@V^D#!T(E2 z6+bS*1*>+~O5H(LYmv`vFmI~DlK)N=ULWd`sBYZ^9;h^c z8>G^OMv5l~Kb(jzN>eaz(OXe}y(!MN{w>z}K84V17rZz-mPRFxrTa5v@bq02XE!?W z>Ti!=k>5Mo{KbHE-mk>Y$J*i7R0HfYbDZ$8`%vhpxR!(*O|p-Wvl#ap%!KYV&oF`7 zA8_T?sIlDrA4~kcM8>5O-7#k91R+@ZAv%~``tQR0FSO09S2Xr6%fZ-lu6+LXR{Z#6 z9cz631O7vbXxX$@A!46BA1m5TimM~wifd0C7Zt_Z_B^5cgC;}4ajE&^JqI2Sy9Z9O z!JM+MQG9$`l|A06Vd4W59&A#9-NsxMUyL2j>*|xl+w~=&^wo^dtG7x3;5AY^>3~_+ z3~9@P2nUlpgIRmoGOB-h3I_MOCY?$ZRI{3oy&|K@w1*{b-PsOR?4{>Mn2zR-!|~ls ze>~Tz2%gM*0B;B9qea1ePq10epdU7I&Q0eiKEVV0^V9Eh}rJEh*FkPru-yMLnfNgts5 zKZ){Q^-^c+g(giI?=KH{Jp<<+PUjl;&Up8yC9g`h<4?i5u)<;QqZAP*yOH zb03|Q_0!9d_vdK1tN2BhIBOZ)nsXZd7$)Q5vN}3+#slA`3eYBW4rbfG6)kdOAYJbS zSc=WmUwt>}s#n0cHljbT6MuGl8X5_8hB zh0%cpl7o0f^}K4qL((6Yumw5)%dDV?Omi^W5t#EWiaP@I<+2KhCOw&1=p^z z7?Ai~HtK)^)|zHRxYAh3Zbs7jsivTj9!qNehUh$`Jv?0V-?rnBzenk>D|woBR7~g- zir1&K;|sN+!uGM32}&h6^VdeIY@^IQH|>!4o^Q(ECIU zjcV8-xs_C2_41AV#=57_!(|&i``Vv!*I*TcW_I-l22yNf-&<0$U?GZe&e^(_3R8m z!_fp)mR{V>g- zLbl7i7brwj!hn(KpgTId>hY>8B2Cxj$b0r!YBh~LK6Z!N*)!Sj$8~7w)=1U&HTYIg zw&>a~mxA1vb4cDnFgR_)l`085_n9#k|9(jYSIdP8_XdjTr-cc#dSb=HTB#v+Rv4!< zSoGD6<4d-4`RlT9Ua;B$U&NJy_v>oRGbzJvQvbTVehQGsZ}G>#-B3B+5ZAT62g^@8%%L)$(Ni{3P3JX1+pHmH=o@F6AW#gUkxp?Eb1lQd47KV+#3iozC zk;nhOOcU;05za46rk|PbD1O>O3T^4htM+U}*Lf|}r`>l78*3~7bvYB&cWos77euW; ze^SclV>~fBi-vo6aaQv>;e>lK9JYu9C@K~!b7f%rDvqxny$n%HtSL)bj|VNeC*0Ot zM|B?(gm%vJV9y6tnp5>bymMkJ_?2bI?XMi5{#zeGw5K{J)tSNZ@fWfDVler+b;9Aw z7P$QMbUu2k0iBKj_8Qd|ohtNs>F1-UG$tKa#BCQY=jvlyg;3Iu?g@>JyXbnazEmTX ziWgz1@Wig3DiuzE-Th!R@oW~sy%-N?4a4bumBi;0R&wU&He9*Sk?%Lya!P7vF2_$~ zym0}==DYCQw{EcYrFwPp34i>4%mN2yUj|!~tu$M%&)XdJ!F$zx@zwE2ZrEqd0sFR# zNwuDIV)bO3#acG`9)o)}+=3fVO6i7?Dn?~S!0Uhd@xsiV;IJrw z_IHjE8%&)b8#181b6;{wZX&fid9>o-Nc>=uP3mO8xAVH-?#6OB_(BQp%Fpt}OMhVB zYx{q1O#A;+OZ%NEmejMyj3h0e+PU|k0R_U$`> z11-0L>$pI4HOv={j>d!c%uY}uS*g0~U2**f8|e3>JFm`+#cw%(#IjQjRd{r-(Aq0g z_awEmG^-pH6J+PbC>G>>BSmpS{Sm$7L#TT;+#Xx^z@+U_ty zf(D*4qhF8xxkVC939-?*clK@h{j1^Z`pTCxbOl_#E>bEN*l$eH|_aSLfl86}nh?JdTEc?T>TY<)G#KiFoco9VpI-r)+s2+35C( zpc}uH6^EUHLxK(;u?++r-5p|@(;%2}=p#Ivd{&%2s7d@arBnsY9>B`z6za4s zlpG)3r++s6km(PL5QU9#q;>cPCJ!>^_p&0q{k=0rgBL80UysYCt7Frv5kk)Sp`4#_ zL);djL#Jl6Q1=NZ>EgmCLW15SG401oa+ETC~tenLa3t;)G^hd^S~tZ*3yPeL^;swNB=)+XHZg?pe^# z_kf&|ZDPvp8DeQnAzF4(#p&a!NNa9AYiS>XYoESD$*5A8xxQJpv^s_rP&Ab}ieQ+QgE!hq^?gBPg zj-!IaHaLH0xRBv(2A#~^;8ABCbW%>?V7!3sdJkm(u{xMjrHAo{C*w%VKIoJm%I3At zVePwFIMG+~+Ikw8A9YY1EOnDZ->LDC{$Jqi^G{;rnQP)@7ZvW3m;%uUHSt`)ORz{) zz?I%2c^jM&YmV6A>d6;jiKRQXt~3SPmKU<(OGx7{?E~}7Uyx~0iJj+N`R|VT%j5jr zF=4IIXkn~}iDuWJcJ&r|y;=xj&+4m~a`e7v5jcd7Og;~vKQED0 z1RtVS$MJaj`7`jXEr;J3PsDFZXQ16Fb24dvTFCmPDLAYcOUu3+V*r&?n7SgK`(-Re z0*CXIb24yr*F?4P@$h-%N?KR&2W9hAZnj zbDLsU7LJPWqP({_TFM)~C^hCAVGKJ9%O!%!mtGIg<@O$3d7JJEJQ}LS`D?y|;%XJ{ z`!tx+n%rdPGwg)Gm-(CvTut z72aGp!CjoVs0UxU;wKr2ssHX6hrdVZuPZ5NdPC8ejH8wp@YXte7&_z*xZ4_G$^Eh7 zUPo`%Gz;ZscO&kYvZ)-=BL3(`IzS z=5KyfD2rzAX_L9f`UeoE6~tjrW=Q2Ieca-D0b83G9EO~v*}r$m*8O@Ws7|qk+DBHn zvG-VL?&gGlVo#FyR&#vxE7(IbAAL;76~GIDA8U5PZ~y!ngZ{phjKyGQa1DX!mZ0x@yA{*{%l_<8fCA9ouky4mn+ctLtSvm zxb}QczMk;GKYZs-SI{{836`rxV&SMrzVy5fW}Wb2pH<#4Z1*m7J{?N4KglqqbsZF~ z8Vo09Sm4CGz8pSr7ux2x!tP)lII^KTMjViWL=WDI)86%k9XXvO%61seTTd{pE)1J> z_tWP9VCx@%R@{>L54N0`y)Ic=cS zI}e8hZ{?{LL1@=~8+EFWp?b@4m@+e%A3QImSLU6#@BN+Vx;#-_|4^O6c1^+9>aTRq zUJHHp9Hmq;7vQETE=;C z@_=zP^XnwgjBX{3@=wCq1?{+((+TeIZ~+$#z5&ppyM6998Vx>5OhHE!$LAb!+!!5o((@MqI(oUh=+ zVK;_yS7R3M#P5emOZBPP-W#99U4=7utU$HNo_k;4fi^eWz~m@5xY*-`%xiKYnGEq@ zvFw7O zomnIrO=2azFT#>g7wqo1UDWja1dbMAu=a!#H=SydXqk>erJ90cMY1JV=%-M~G$IrNPs70dS|M~*;%9K=Huo;*_;-dD2(kp5xlzZ1C!=X__)^+*{5Ass7D`R3JIHCWF2!BVBo4c*c#>mW4xb2uF5Z(IGy3zfj8vkTOulr)WxTh^l+@Qx-9wg z7YYx14s+)A6wW1$+ zU*`lLReGDD&W|@(amTjpF!7T!hP=}yEbYh%VxzdsS?ZsdTEiC!?`x~4&-s^LfZ5wX zwDTN*yPp+Mx8X*pvuGNu>))6CM@8U0#hDN?d?>HGc?6turs2TaOgMTt7$X`6Vz&Wm z)Ga&!c61ubJ?C5(0v`0>tPmM4F^r@}rL(f_Dasr*aUvXgYCtb8zNT95VHor@7GXn^ z;G1epmnyu)tz#Ecpl&;KzpTr*A4&05<1ikk)0uDUmW%gl+oSRNU}2K!1URTtPI^z= zrL0Gp+_CLQI=|r`xV~5b+buQp`&e%r-{`}~`f8x!l~yt9=Xdc^&kNMvK!svf$%V+Q ztwPFrBVM&X118_J;g=b;bZ3YKKD3&H3*&xJ?eMRp_@xK*z8u3Uvpl8JRs@y|-2s*% z9fZ3(H0a!yA^fmszWhgoB4`_#^QoY&WUF~by!?F+tWa}?1(R&B?5H=4_z}nBN0~6R z(d7qwH}bo4YbariK$;`&(L5YSs3YMcYmSg{Ph~8K?1=Zy9;76#bm4CM8N#CxnPhc3 z6WVrl;GD%{Y1>9S-0yq=I+cvTADNfoMQ91nQyGcFMugD_aW*D|q`S?4qy^GgGVH#>mS!zRI^&_W_OGI4#z3_fQo7f0M~5;B{rgi8Bl z=(?mMcWPn44?O z&u(jTQ`uJ7xnKtsAM{3@KxLZIxjpvkB#nQ#bU}QSrpjLDLRofZ5^vHa7^Nep*a8iq zUVkL|>O|UG!gyvtkr*AW%&phoP=)6QzW?yVH zx%wsedYp3D`|~~xiJFfC0}t|zz8B;=!&TVRb2-iT_#xkXe>hLbl1WKX?SD0-yQRp$N4M155g{r8>t8J)ra8gfpk(m zs>S1Nf#cibZWPbWOvAa0N5TAr6skBE4yi`guvaY* zHD{I5WtShq#MA^lay>}Y+}NMhpMM9XMP*Pt*9=!}G6ElG8MJ-S3m0|r=4Hy3q%-ZD zc+}33x9$nWHygD@tELul--+(B+ZA1Ts9A*2{9`Cy=yF`t8Ehq<8QPP|+;-vJ2pt}d zO*FDLl!sOJ#|CH-oOd?DO}A|{_C>t(M$N&gX5GsD-cdmlL&tq>FbsUb~MDI&Ic zxj++pGVSln%O9tKMzuAxytW~SqaTHH>Zu@>y7PALb-X-K66t3O=*3qX9&7!Hygu#t zPf2u$_1~lP*Ok=mcEcM^b5S-yL{U9h%sFq1)e+mO9QJ>M)rt1(Ych^*mlx8iBUxbY z@n;TCFwCuD(;V8lk`#3d zR|wlEDcZFS@N#hsv}Ua!XO~1yy0DN>Y>$P2m zmO=AR>Cg_Fa}s{t4KI%~VlO9G*6sC}Jg;_xHSbE%w%CCk49(zyMk>vUdt(2}raf={ z^BNwHDgwienz&`4Hya;P;}`BHA+%E>k8s^g8Y_NN@TdX|pVF4)nFmS1`?S#Q+Zn<0 z&M5jY@SW_8nH3j4jAc`Z=6UHRxN?{_Zd<-aQjBh_;j>)|zZ%hK|IvK8cp@9Da)M3v zD&pcB74*|G3YS;U=3Vk47$db?+azYdj&|+HTsId~wQ4r`PZ-L5VHsaaRHT$JNA9>b57xIW0q>)|xaIVHx>YiZ zCI@GVpHveN6J(sS@-zKYSx866O@MRl4A{j#5O?binZDJxM=nBBwcV(<3nAvSm|;U?JsQyfkE-)J>D0Z zmwIFElpCNnO<4@?tc-TIM`F9>dxY{(bqD2sKpI8mElJ&dOf2buQ%>W3cQ zd32*<2U|W&=d;}h;I`3S*t)yXe{Ren)_Go^#P`ig-#>(nXOpKOY8y*G+mZb?({9zLlm^gj!aQ@)Ce zx_c0mo8XZP`nXNGhCS2mxvfhtx{|k_svUMy?v5pBG-oXTx{*n#6on(hLmZxt$s+r* z({S$HYZ`fb4Yb=T^*MUp5@b(yfQ8d^dMz9S&-W*R*9?@uMq8TwK8*LD3@5xB%oQVs zuxF?}eDIx18Z)xt^5wDA`@~xLx?Ow4FC}B4+M=48tTvTGSw5%3YgnPxha>#ec%ShChnBqKG`Z+AT^`*P zdoMmFhR54;v)@U&rQZva8V#l2))%Tb_~7~8E~p!yD+XRL=4*|;@niT8xEzx$jcN!1 zhm@`4QMQYYTbtnN*{Q?0D^zCQ7}r3w)=pq_j|N$n!Vi z{>B~Yyn&Re4-29Aok8OA$Xu@JP$Ij3V54l$Sv&qIHRyXKR`R$zDy&evmFp}zp>WCx zmD&nIyt^*P8G1o@tu%&Wv4m|d*bPIp22zpyzNnjf8RtE9$CkLc!jb1{cxy@?Pg-Qe zjVn)~&0-f0nUcz7`!dBnb-#o#GeyqG`au&nnUHnWUh*^5#q7>ogbDT=gl;RYQ{&oT z(M?kkRi2)u-n(DZj!GG?e;-cKpZw|GU|Xr|BaNi6Yh{gXQ~2!6k?iYjUfpmyjoThn ztX6k1uJ&KPh4)PRD!fmx$AM!9QE%TQvE!Y3A@`sT=f0l``yzY5l$rW?N8f`yr%DrU z#+|3}Roa|fWk^1j8hm8cSGr!O$!qjN#4!W5(8P`hggk#c?ANOZveq17&8|O%sZx8u z*vJGMj#|;R4}RjEeL>*brZ;}b+zKBi=E)qgUXj~2ZIlT{w074SS}k6M$=4H5%|-J+ z8gq#C|B_NE@tVR~`@W=hL&$c^p?@GuG04VcD(b@8f!geI=MznwXvNu^vqJn+R= zQM*Lq#+RR<9R^my_);~Y?f5CYba^OrO!y<;`L+%A*Y9*}#I|1iu7lL$C=JAEwP!`| zCKIew9M9hQW1-VOXV`FLC8`~sL`$k=JaOg_?ke#>+ubtZ<%L`b&k%6u;yG~ zyrFB*XF7JGN=(UF=Fn~3ObGQ&!@TMJxN%^;Q2)`L2Y#MJV_n_;1H%uo{$FU@n=D1N zYm(8YT!!`EpTR=4MR@S{O#Fs1Sl}koW!LfIhqFsKPW_nR78^q+n}a!0We!-`+EZ&- zq3Dw2k9V`exXfn-Z7jV;I`sJw83DA@cPkj=_27^jap=-i zD>_>WSoLWX9^2O&cY0igCnfLcV^XZxFJBe69dZ%O-JQ62^&|NLslfPRRXU#Zzs`Z} z=W|}d8n#-SPVRl9L}eo@G4sTB_TICZkFI}Dn~d$D@Nt9qCcGUf?%&73d0HISV2q-d z1qKWogFY2gz{>a@9aiz+>t_Y*TNLsiyEer7FOTzAe2?B@Lq(^%N->?ckW-TcQ(NAF zbHBdyxj{#?@Owq8+W&!l+ z8nPi3o{U&0_6g6F9}ibWquPFa_l-Zc(HJS;o_m?5XeZ({^CIzy?N4Z0JzB5|UPF7! zGf5>fnOc|W^TCa|G|aM%G@YnIT##c9&}SAz_;!U93%9BzH_t;^x;igUQx@*5ep2PM zv;yp0RWa!DRw1!l%fAa_^Or~XyD*O|r*N^JE!eI;3wCW5llqx#a4i`rTJO6?HYc=6 zBl!&EM;@Yll_i|D`@6XANf{ZPUQK1Q&Bew^Rd8yH9(5mT594R=q-K0i0jeszz1WOA zoR@ROK`qRD@KPEx6@jx%+M>*Am(XfG6k^48G6{^rvDG@fGs%$g(QX)@m{Bdrwr(d?s3c?gS@RwumJW zd-3V>kI*hGlv>oRgeB95!(^MKe79&m{Mr&mof0(g&8q|WYG&>~zd_Xo|FNrhf>=n{`Z^L2BbE-NX3c$VE z3`tq>!co?Tij_xU*!Bffn>&C%%#9Tb|M@ERSTcqq9^Qp}(P!z=11CPN=nU`Q&!c_q z`(x2bZLDgXK{w~_6t`R~gL&p#VPyJv{@6BK`1yJ&$Lzc+oHtE_uGb30Hj%Y(Ds}`q z^_{>YtCCouyp*=y3B&F2B@TBtL{RYo5q|Vq2%`@Jb$9tjO{eFQ;wocuJ-!U)UG!jw z+!pdVagm}v>0sRGJ1{n&mCHu1KnILKRZ~Wl9?`dG#*1pC5|jOh*Z}L;H$G zsbM00ng>fWcH+lKb@;7g$We-E`26K*vh89HN7DX?{(HUfv+`wmzSdSTtNFF8!y6s? zQSpNM6^?bMZ%T%_c8yF~bV1x3V)H3`8xxOl?YB%VLXr`nFLux*OPl`I^w=N_9 zgMPI1=O7IH?0{cn)0sLN2|W#WiQUr15v|RkyU=dmc{G5MB-aZ6!7UuvBX7y4`l z7w^^3+HsGdc+DR-$3|1bi_?-g7s0@#n11_j=ku-3D0He3gX*u)i!K_1`qa7XWo?Z$ z_9=AWt*u1zRfrnDr98=&G5l(99yZ4R%Oec2`TLaobtQMQ3Te&YG`iZNj?sD*f~8*; z9|=e#Bj*lm^{OLJ_G{*BtzUFI${xS&vXiD2-UXK-+B~n;l1DoEfabln&@y#9Xf%+6 z%+OD8KRHXh^h^PkH|Ww?{~piWDWxAWLgQbgVTajU%^(t-)PDHhTgDrMF?D zi1RXo-zE@kd_*XG*G!MJ7?#SW;H4EG;pDF!?6mX_l&7hHdV>aLA5oz!(?QU(-IeMN z^kEM^hQjj@>@Mg*&B_bH%^xddLoDKGy013(3OGz}rw)4rf42vsJR|UY)IbQha9TXmr2&R_TO_Obbyr-osS#$!>GDO_ zxp>g|ASZ42!Mk zo#A&-6i?fp0B(z~K)>;^JnqCqUiGK~21xx9ClxvTY!oSIc(yP+&=`-u3B>g!O1Q_o zfcAP;%StPb)4N@*bn?wWd>|A+z=^IjcI|d?tL|*LsWOJ<>@Z`eb#6RF+VJnvr{cnP z$LQ|R-F)G<4wh+YQd3$w9I8~1jW)^RgEzYJ^1W{;|97ZpR9G%MXm}JHFHDr^;T7EF zbvO9aF@RbCMj3%z@Ye2<^_TseR zO3=8!m~OgsrP(*KXy^IPeCwVQ1nre*hKqgRoV5qswY^6hMK3;{V$REB*0PyZKi=!5 z4R<+IxcS)*@kJP@oH)yuHch2nZjq4rJqXr2hH>k|4m8%?4?UNU!np%-z-(cGc>e4G z((Ep|;vTw?x!niWjNgr;{4Ci|x0V(ExdwX|jR )-scfzLcuzE@cw4H*oVITek7 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�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