From 86fa9cc83e63825989d9c54c6668eef747ca98b1 Mon Sep 17 00:00:00 2001 From: "Nakagawa, Yuki" Date: Sun, 9 Mar 2025 16:31:59 -0700 Subject: [PATCH] Enable STT for #315 --- .../audio_processor/1089-134686-0001.wav | Bin 0 -> 104878 bytes audio_processor/audio_processor/__init__.py | 0 .../audio_processor/audio_processor_node.py | 83 + .../wav2vec2-base/wav2vec2-base.xml | 19881 ++++++++++++++++ audio_processor/package.xml | 28 + audio_processor/resource/audio_processor | 0 audio_processor/setup.cfg | 4 + audio_processor/setup.py | 27 + audio_processor/test/test_copyright.py | 25 + audio_processor/test/test_flake8.py | 25 + audio_processor/test/test_pep257.py | 23 + 11 files changed, 20096 insertions(+) create mode 100644 audio_processor/audio_processor/1089-134686-0001.wav create mode 100644 audio_processor/audio_processor/__init__.py create mode 100644 audio_processor/audio_processor/audio_processor_node.py create mode 100644 audio_processor/audio_processor/wav2vec2-base/wav2vec2-base.xml create mode 100644 audio_processor/package.xml create mode 100644 audio_processor/resource/audio_processor create mode 100644 audio_processor/setup.cfg create mode 100644 audio_processor/setup.py create mode 100644 audio_processor/test/test_copyright.py create mode 100644 audio_processor/test/test_flake8.py create mode 100644 audio_processor/test/test_pep257.py diff --git a/audio_processor/audio_processor/1089-134686-0001.wav b/audio_processor/audio_processor/1089-134686-0001.wav new file mode 100644 index 0000000000000000000000000000000000000000..f60381ff6f1c4324bfcae995d1fcfde1473e7930 GIT binary patch literal 104878 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 literal 0 HcmV?d00001 diff --git a/audio_processor/audio_processor/__init__.py b/audio_processor/audio_processor/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/audio_processor/audio_processor/audio_processor_node.py b/audio_processor/audio_processor/audio_processor_node.py new file mode 100644 index 00000000..44ff2e0d --- /dev/null +++ b/audio_processor/audio_processor/audio_processor_node.py @@ -0,0 +1,83 @@ +import rclpy +from rclpy.node import Node +from std_msgs.msg import String +import ffmpeg +import numpy as np +from pydub import AudioSegment +from openvino.runtime import Core + +class AudioProcessorNode(Node): + def __init__(self): + super().__init__('audio_processor_node') + self.publisher_ = self.create_publisher(String, 'stt_output', 10) + self.ie = Core() + # Load the converted OpenVINO model + # self.model = self.ie.read_model(model='wav2vec2-base/wav2vec2-base.xml') + self.model = self.ie.read_model(model='/root/ros2_ws/audio_processor/audio_processor/wav2vec2-base/wav2vec2-base.xml') + self.compiled_model = self.ie.compile_model(model=self.model, device_name='CPU') + self.input_layer = self.compiled_model.input(0) + self.output_layer = self.compiled_model.output(0) + + def process_audio_file(self, file_path): + if file_path.endswith('.mp4'): + audio_data = self.extract_audio_from_mp4(file_path) + elif file_path.endswith('.wav'): + audio_data = self.read_wav_file(file_path) + else: + self.get_logger().error('Unsupported file format') + return + + self.process_audio(audio_data) + + def extract_audio_from_mp4(self, file_path): + audio_output = 'temp_audio.wav' + ffmpeg.input(file_path).output(audio_output, ac=1, ar='16000').run(overwrite_output=True) + return self.read_wav_file(audio_output) + + def read_wav_file(self, file_path): + audio = AudioSegment.from_wav(file_path) + samples = np.array(audio.get_array_of_samples()) + return samples + + def process_audio(self, audio_data): + # Preprocess audio_data as needed for your model + input_data = self.preprocess_audio(audio_data) + result = self.compiled_model([input_data])[self.output_layer] + text_output = self.postprocess_result(result) + self.publish_text(text_output) + + def preprocess_audio(self, audio_data): + # Normalize audio data + audio_data = audio_data / np.max(np.abs(audio_data)) + + # Resample or trim/pad the audio data to 16000 samples + target_length = 16000 + if len(audio_data) > target_length: + audio_data = audio_data[:target_length] # Trim + else: + audio_data = np.pad(audio_data, (0, max(0, target_length - len(audio_data))), 'constant') # Pad + + return np.expand_dims(audio_data, axis=0) # Add batch dimension + + def postprocess_result(self, result): + # Implement postprocessing logic to convert model output to text + return "example text" + + def publish_text(self, text): + msg = String() + msg.data = text + self.publisher_.publish(msg) + self.get_logger().info(f'Published: {text}') + +def main(args=None): + rclpy.init(args=args) + node = AudioProcessorNode() + # Example: Process an audio file + node.process_audio_file('/root/ros2_ws/audio_processor/audio_processor/1089-134686-0001.wav') + # node.process_audio_file('1089-134686-0001.wav') + rclpy.spin(node) + node.destroy_node() + rclpy.shutdown() + +if __name__ == '__main__': + main() diff --git a/audio_processor/audio_processor/wav2vec2-base/wav2vec2-base.xml b/audio_processor/audio_processor/wav2vec2-base/wav2vec2-base.xml new file mode 100644 index 00000000..cc13e6bc --- /dev/null +++ b/audio_processor/audio_processor/wav2vec2-base/wav2vec2-base.xml @@ -0,0 +1,19881 @@ + + + + + + + + 1 + 16000 + + + + + + + + 1 + 1 + 32 + + + + + + + + + + + 1 + 1 + 32 + + + + + 1 + 1 + 32 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + + + + + + + 1 + 16000 + + + 1 + + + + + 1 + 1 + 16000 + + + + + + + + 512 + 1 + 10 + + + + + + + + + + + 512 + 1 + 10 + + + + + 512 + 1 + 10 + + + + + + + + 1 + 1 + 16000 + + + 512 + 1 + 10 + + + + + 1 + 512 + 3199 + + + + + + + + + + + 3 + + + + + + + + 1 + 512 + 3199 + + + 3 + + + + + 1 + 512 + 3199 + + + + + + + + 1 + + + + + + + + 1 + 512 + 3199 + + + 1 + + + + + 1 + 512 + 3199 + + + + + + + + + + + 3 + + + + + + + + 1 + 512 + 3199 + + + 3 + + + + + 1 + 512 + 3199 + + + + + + + + 1 + 512 + 1 + + + + + + + + + + + 1 + 512 + 1 + + + + + 1 + 512 + 1 + + + + + + + + 1 + 512 + 3199 + + + 1 + 512 + 1 + + + + + 1 + 512 + 3199 + + + + + + + + 1 + 512 + 1 + + + + + + + + + + + 1 + 512 + 1 + + + + + 1 + 512 + 1 + + + + + + + + 1 + 512 + 3199 + + + 1 + 512 + 1 + + + + + 1 + 512 + 3199 + + + + + + + + 1 + 512 + 3199 + + + + + 1 + 512 + 3199 + + + + + + + + 512 + 512 + 3 + + + + + + + + + + + 512 + 512 + 3 + + + + + 512 + 512 + 3 + + + + + + + + 1 + 512 + 3199 + + + 512 + 512 + 3 + + + + + 1 + 512 + 1599 + + + + + + + + 1 + 512 + 1599 + + + + + 1 + 512 + 1599 + + + + + + + + 512 + 512 + 3 + + + + + + + + + + + 512 + 512 + 3 + + + + + 512 + 512 + 3 + + + + + + + + 1 + 512 + 1599 + + + 512 + 512 + 3 + + + + + 1 + 512 + 799 + + + + + + + + 1 + 512 + 799 + + + + + 1 + 512 + 799 + + + + + + + + 512 + 512 + 3 + + + + + + + + + + + 512 + 512 + 3 + + + + + 512 + 512 + 3 + + + + + + + + 1 + 512 + 799 + + + 512 + 512 + 3 + + + + + 1 + 512 + 399 + + + + + + + + 1 + 512 + 399 + + + + + 1 + 512 + 399 + + + + + + + + 512 + 512 + 3 + + + + + + + + + + + 512 + 512 + 3 + + + + + 512 + 512 + 3 + + + + + + + + 1 + 512 + 399 + + + 512 + 512 + 3 + + + + + 1 + 512 + 199 + + + + + + + + 1 + 512 + 199 + + + + + 1 + 512 + 199 + + + + + + + + 512 + 512 + 2 + + + + + + + + + + + 512 + 512 + 2 + + + + + 512 + 512 + 2 + + + + + + + + 1 + 512 + 199 + + + 512 + 512 + 2 + + + + + 1 + 512 + 99 + + + + + + + + 1 + 512 + 99 + + + + + 1 + 512 + 99 + + + + + + + + 512 + 512 + 2 + + + + + + + + + + + 512 + 512 + 2 + + + + + 512 + 512 + 2 + + + + + + + + 1 + 512 + 99 + + + 512 + 512 + 2 + + + + + 1 + 512 + 49 + + + + + + + + 1 + 512 + 49 + + + + + 1 + 512 + 49 + + + + + + + + 3 + + + + + + + 1 + 512 + 49 + + + 3 + + + + + 1 + 49 + 512 + + + + + + + + 1 + + + + + + + + 1 + 49 + 512 + + + 1 + + + + + 1 + 49 + 512 + + + + + + + + 1 + 1 + 512 + + + + + + + + + + + 1 + 1 + 512 + + + + + 1 + 1 + 512 + + + + + + + + 1 + 49 + 512 + + + 1 + 1 + 512 + + + + + 1 + 49 + 512 + + + + + + + + 1 + 1 + 512 + + + + + + + + + + + 1 + 1 + 512 + + + + + 1 + 1 + 512 + + + + + + + + 1 + 49 + 512 + + + 1 + 1 + 512 + + + + + 1 + 49 + 512 + + + + + + + + 768 + 512 + + + + + + + + + + + 768 + 512 + + + + + 768 + 512 + + + + + + + + 1 + 49 + 512 + + + 768 + 512 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 3 + + + + + + + 1 + 49 + 768 + + + 3 + + + + + 1 + 768 + 49 + + + + + + + + 16 + 48 + 48 + 128 + + + + + + + + + + + 16 + 48 + 48 + 128 + + + + + 16 + 48 + 48 + 128 + + + + + + + + 1 + 768 + 49 + + + 16 + 48 + 48 + 128 + + + + + 1 + 768 + 50 + + + + + + + + 1 + 768 + 1 + + + + + + + + + + + 1 + 768 + 1 + + + + + 1 + 768 + 1 + + + + + + + + 1 + 768 + 50 + + + 1 + 768 + 1 + + + + + 1 + 768 + 50 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 1 + 768 + 50 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + 768 + 49 + + + + + + + + 1 + 768 + 49 + + + + + 1 + 768 + 49 + + + + + + + + 3 + + + + + + + 1 + 768 + 49 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + + + 4 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 4 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 64 + 49 + + + 1 + + + + + 1 + 12 + 64 + 49 + + + + + + + + 1 + 12 + 49 + 64 + + + 1 + 12 + 64 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 12 + 49 + 49 + + + + + 1 + 12 + 49 + 49 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + + + + 4 + + + + + + + + 1 + 49 + 768 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + 4 + + + + + + + 1 + 49 + 12 + 64 + + + 4 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 1 + 12 + 49 + 49 + + + 1 + 12 + 49 + 64 + + + + + 1 + 12 + 49 + 64 + + + + + + + + 4 + + + + + + + 1 + 12 + 49 + 64 + + + 4 + + + + + 1 + 49 + 12 + 64 + + + + + + + + + + + 3 + + + + + + + + 1 + 49 + 12 + 64 + + + 3 + + + + + 1 + 49 + 768 + + + + + + + + 768 + 768 + + + + + + + + + + + 768 + 768 + + + + + 768 + 768 + + + + + + + + 1 + 49 + 768 + + + 768 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 1 + 3072 + + + + + + + + + + + 1 + 1 + 3072 + + + + + 1 + 1 + 3072 + + + + + + + + 3072 + 768 + + + + + + + + + + + 3072 + 768 + + + + + 3072 + 768 + + + + + + + + 1 + 49 + 768 + + + 3072 + 768 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 1 + 3072 + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 1 + 49 + 3072 + + + + + 1 + 49 + 3072 + + + + + + + + 768 + 3072 + + + + + + + + + + + 768 + 3072 + + + + + 768 + 3072 + + + + + + + + 1 + 49 + 3072 + + + 768 + 3072 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 49 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + + + + + + + + 1 + 49 + 768 + + + 1 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 1 + 1 + 768 + + + + + + + + + + + 1 + 1 + 768 + + + + + 1 + 1 + 768 + + + + + + + + 1 + 49 + 768 + + + 1 + 1 + 768 + + + + + 1 + 49 + 768 + + + + + + + + 32 + 768 + + + + + + + + + + + 32 + 768 + + + + + 32 + 768 + + + + + + + + 1 + 49 + 768 + + + 32 + 768 + + + + + 1 + 49 + 32 + + + + + + + + 1 + 1 + 32 + + + 1 + 49 + 32 + + + + + 1 + 49 + 32 + + + + + + + 1 + 49 + 32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/audio_processor/package.xml b/audio_processor/package.xml new file mode 100644 index 00000000..6b53f7d1 --- /dev/null +++ b/audio_processor/package.xml @@ -0,0 +1,28 @@ + + + + audio_processor + 0.0.0 + Audio processing node for STT using OpenVINO + root + Apache-2.0 + + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + + ament_cmake + + rclpy + std_msgs + ffmpeg-python + pydub + numpy + openvino + + + ament_python + + + diff --git a/audio_processor/resource/audio_processor b/audio_processor/resource/audio_processor new file mode 100644 index 00000000..e69de29b diff --git a/audio_processor/setup.cfg b/audio_processor/setup.cfg new file mode 100644 index 00000000..bfd04d09 --- /dev/null +++ b/audio_processor/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script_dir=$base/lib/audio_processor +[install] +install_scripts=$base/lib/audio_processor diff --git a/audio_processor/setup.py b/audio_processor/setup.py new file mode 100644 index 00000000..fff3cecd --- /dev/null +++ b/audio_processor/setup.py @@ -0,0 +1,27 @@ +from setuptools import find_packages, setup + +package_name = 'audio_processor' + +setup( + name=package_name, + version='0.0.0', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', + ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='yuki', + maintainer_email='yuki.nakagawa@intel.com', + description='Audio processing node for STT using OpenVINO', + license='License declaration', + tests_require=['pytest'], + entry_points={ + 'console_scripts': [ + 'audio_processor_node = audio_processor.audio_processor_node:main', + ], + }, +) + diff --git a/audio_processor/test/test_copyright.py b/audio_processor/test/test_copyright.py new file mode 100644 index 00000000..97a39196 --- /dev/null +++ b/audio_processor/test/test_copyright.py @@ -0,0 +1,25 @@ +# Copyright 2015 Open Source Robotics Foundation, Inc. +# +# 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. + +from ament_copyright.main import main +import pytest + + +# Remove the `skip` decorator once the source file(s) have a copyright header +@pytest.mark.skip(reason='No copyright header has been placed in the generated source file.') +@pytest.mark.copyright +@pytest.mark.linter +def test_copyright(): + rc = main(argv=['.', 'test']) + assert rc == 0, 'Found errors' diff --git a/audio_processor/test/test_flake8.py b/audio_processor/test/test_flake8.py new file mode 100644 index 00000000..27ee1078 --- /dev/null +++ b/audio_processor/test/test_flake8.py @@ -0,0 +1,25 @@ +# Copyright 2017 Open Source Robotics Foundation, Inc. +# +# 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. + +from ament_flake8.main import main_with_errors +import pytest + + +@pytest.mark.flake8 +@pytest.mark.linter +def test_flake8(): + rc, errors = main_with_errors(argv=[]) + assert rc == 0, \ + 'Found %d code style errors / warnings:\n' % len(errors) + \ + '\n'.join(errors) diff --git a/audio_processor/test/test_pep257.py b/audio_processor/test/test_pep257.py new file mode 100644 index 00000000..b234a384 --- /dev/null +++ b/audio_processor/test/test_pep257.py @@ -0,0 +1,23 @@ +# Copyright 2015 Open Source Robotics Foundation, Inc. +# +# 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. + +from ament_pep257.main import main +import pytest + + +@pytest.mark.linter +@pytest.mark.pep257 +def test_pep257(): + rc = main(argv=['.', 'test']) + assert rc == 0, 'Found code style errors / warnings'