diff --git a/.gitignore b/.gitignore index 7dca454ba6..41d7c8dacc 100644 --- a/.gitignore +++ b/.gitignore @@ -7,9 +7,11 @@ .coverage .hypothesis/ .idea/ +.ipynb_checkpoints/ .pytest_cache/ .ruff_cache/ __pycache__/ build/ dist/ +notebooks/ venv/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 32e8d38b71..bbdd2e8098 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,11 +3,11 @@ repos: - id: "check-toml" - id: "check-yaml" repo: "https://github.com/pre-commit/pre-commit-hooks" - rev: "v4.5.0" + rev: "v4.6.0" - hooks: - args: - "--fix" id: "ruff" - id: "ruff-format" repo: "https://github.com/astral-sh/ruff-pre-commit" - rev: "v0.3.5" + rev: "v0.3.7" diff --git a/docs/index.md b/docs/index.md index 53f1199f37..6d6ad0a8c4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,6 +18,7 @@ ::: beignet.invert_quaternion ::: beignet.invert_rotation_matrix ::: beignet.invert_rotation_vector +::: beignet.needleman_wunsch ::: beignet.quaternion_identity ::: beignet.quaternion_magnitude ::: beignet.quaternion_mean @@ -41,4 +42,5 @@ ::: beignet.rotation_vector_to_euler_angle ::: beignet.rotation_vector_to_quaternion ::: beignet.rotation_vector_to_rotation_matrix +::: beignet.smith_waterman ::: beignet.translation_identity diff --git a/pyproject.toml b/pyproject.toml index 4edb35cebb..ec6e4fc301 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,8 +7,13 @@ requires = [ ] [project] -authors = [{ email = "allen.goodman@icloud.com", name = "Allen Goodman" }] -dependencies = ["torch"] +authors = [ + { email = "allen.goodman@icloud.com", name = "Allen Goodman" }, +] +dependencies = [ + "pooch", + "torch", +] dynamic = ["version"] license = { file = "LICENSE" } name = "beignet" @@ -27,6 +32,11 @@ test = [ ] [tool.ruff] +exclude = [ + "./src/beignet/constants/_substitution_matrices.py", +] + +[tool.ruff.lint] select = [ "B", # FLAKE8-BUGBEAR "E", # PYCODESTYLE ERRORS diff --git a/src/beignet/__init__.py b/src/beignet/__init__.py index f91d4adc64..76a8dfc20f 100644 --- a/src/beignet/__init__.py +++ b/src/beignet/__init__.py @@ -28,6 +28,7 @@ from ._invert_quaternion import invert_quaternion from ._invert_rotation_matrix import invert_rotation_matrix from ._invert_rotation_vector import invert_rotation_vector +from ._needleman_wunsch import needleman_wunsch from ._quaternion_identity import quaternion_identity from ._quaternion_magnitude import quaternion_magnitude from ._quaternion_mean import quaternion_mean @@ -65,6 +66,7 @@ from ._rotation_vector_to_rotation_matrix import ( rotation_vector_to_rotation_matrix, ) +from ._smith_waterman import smith_waterman from ._translation_identity import translation_identity __all__ = [ @@ -86,9 +88,11 @@ "invert_quaternion", "invert_rotation_matrix", "invert_rotation_vector", + "needleman_wunsch", "quaternion_identity", "quaternion_magnitude", "quaternion_mean", + "quaternion_slerp", "quaternion_to_euler_angle", "quaternion_to_rotation_matrix", "quaternion_to_rotation_vector", @@ -108,6 +112,6 @@ "rotation_vector_to_euler_angle", "rotation_vector_to_quaternion", "rotation_vector_to_rotation_matrix", - "quaternion_slerp", + "smith_waterman", "translation_identity", ] diff --git a/src/beignet/_needleman_wunsch.py b/src/beignet/_needleman_wunsch.py new file mode 100644 index 0000000000..166f294ab7 --- /dev/null +++ b/src/beignet/_needleman_wunsch.py @@ -0,0 +1,194 @@ +import math +import operator + +import torch +import torch.func +import torch.nn.functional +from torch import Tensor + + +def needleman_wunsch( + input: Tensor, + lengths: Tensor, + gap_penalty: float = 0.0, + temperature: float = 1.0, +): + def fn(x: Tensor, shape: Tensor) -> Tensor: + padded = torch.nn.functional.pad(x, [1, 0, 1, 0]) + + i = torch.add( + torch.subtract( + torch.arange( + padded.size(1), + )[None, :], + torch.flip( + torch.arange( + padded.size(0), + ), + dims=[0], + )[:, None], + ), + operator.sub( + padded.size(0), + 1, + ), + ) + + j = torch.floor_divide( + torch.add( + torch.flip( + torch.arange( + padded.size(0), + ), + dims=[0], + )[:, None], + torch.arange( + padded.size(1), + )[None, :], + ), + 2, + ) + + m = operator.sub( + operator.add( + padded.size(0), + padded.size(1), + ), + 1, + ) + + n = operator.floordiv( + operator.add( + padded.size(0), + padded.size(1), + ), + 2, + ) + + y = torch.zeros([m, n], dtype=padded.dtype) + + initialization = torch.zeros( + [ + padded.size(0), + padded.size(1), + ], + dtype=padded.dtype, + ) + + initialization[:, 0] = torch.multiply( + torch.arange(padded.size(0)), + gap_penalty, + ) + + initialization[0, :] = torch.multiply( + torch.arange(padded.size(1)), + gap_penalty, + ) + + initialization = y.index_put( + [i, j], + initialization, + ) + + previous = torch.zeros(n) + + previous_previous = torch.zeros(n) + + traceback = torch.zeros([m, n]) + + mask = y.index_put( + [i, j], + torch.nn.functional.pad( + torch.multiply( + torch.less( + torch.arange(x.size(0)), + shape[0], + )[:, None], + torch.less( + torch.arange(x.size(1)), + shape[1], + )[None, :], + ), + [1, 0, 1, 0], + ).to(x.dtype), + ) + + striped_indexes = torch.fmod( + torch.add( + torch.arange(m), + math.fmod( + padded.size(0), + 2, + ), + ), + 2, + ) + + padded = y.index_put([i, j], padded) + + for index in range(m): + # TRACEBACK: + traceback[index] = torch.add( + # APPLY MASK: + torch.multiply( + # SMOOTH: + torch.multiply( + # APPLY SOFTMAX: + torch.logsumexp( + torch.divide( + torch.stack( + [ + # ALIGN: + torch.add( + previous_previous, + padded[index], + ), + previous + gap_penalty, + # CHANGE DIRECTION: + torch.add( + torch.add( + # INSERT: + torch.multiply( + torch.nn.functional.pad( + previous[:-1], + [1, 0], + ), + striped_indexes[index], + ), + # DELETE: + torch.multiply( + torch.nn.functional.pad( + previous[+1:], + [0, 1], + ), + operator.sub( + 1, + striped_indexes[index], + ), + ), + ), + gap_penalty, + ), + ], + ), + temperature, + ), + dim=0, + ), + temperature, + ), + mask[index], + ), + initialization[index], + ) + + previous_previous, previous = previous, traceback[index] + + return traceback[i, j][shape[0], shape[1]] + + output = torch.empty_like(input) + + for index in range(input.shape[0]): + output[index] = torch.func.grad(fn)(input[index], lengths[index]) + + return output diff --git a/src/beignet/_smith_waterman.py b/src/beignet/_smith_waterman.py new file mode 100644 index 0000000000..071604d9f3 --- /dev/null +++ b/src/beignet/_smith_waterman.py @@ -0,0 +1,201 @@ +# @title `smith_waterman` + + +from typing import Sequence + +import torch +import torch.func +from torch import Tensor + + +def smith_waterman( + input: Tensor, + lengths: Sequence[int], + gap_penalty: float = 0.0, + temperature: float = 1.0, +) -> Tensor: + """ + Compute the Smith-Waterman alignment score for two sequences. + + The Smith-Waterman algorithm is a local sequence alignment method used + to identify regions of similarity between two sequences. + + Parameters + ---------- + input : Tensor + The similarity matrix of the two sequences. + + lengths : Sequence[int, int] + A sequence containing the lengths of the two sequences being aligned. + + gap_penalty : float, optional + The penalty for creating a gap in alignment. Default is 0. + + temperature : float, optional + Scaling factor to control the sharpness of the score distribution. + Default is 1.0. + + Returns + ------- + Tensor + Smith-Waterman alignment score for the given sequences. + """ + + def fn( + input: Tensor, + lengths: Sequence[int], + ) -> Tensor: + if input.is_complex() or input.is_floating_point(): + initial_value = torch.finfo(input.dtype).min + else: + initial_value = torch.iinfo(input.dtype).min + + # BOOLEAN MASK TO IDENTIFY VALID POSITIONS: + + a = torch.arange(input.shape[0], device=input.device) + b = torch.arange(input.shape[1], device=input.device) + mask = torch.multiply( + torch.less( + a, + lengths[0], + )[:, None], + torch.less( + b, + lengths[1], + )[None, :], + ) + + # MASK INVALID POSITIONS: + # INVERT MASK TO IDENTIFY INVALID POSITIONS: + # VALUE APPLIED TO INVALID POSITIONS: + + masked_similarity_matrices = input + ~mask * initial_value + + # EXCLUDED LAST ROW AND COLUMN FROM MASKED SIMILARITY MATRICES: + x_1 = masked_similarity_matrices[ + : masked_similarity_matrices.shape[0] - 1, + : masked_similarity_matrices.shape[1] - 1, + ] + + # INDICES FOR ROTATING THE MATRICES TO ALIGN DIAGONALS FOR SCORING: + rotation_i = torch.flip(torch.arange(x_1.shape[0]), dims=[0])[:, None] + rotation_j = torch.arange(x_1.shape[1])[None, :] + + # INDICES FOR SCORING ALIGNMENT PATHS THROUGH THE MATRIX MATRICES: + indexes_i = rotation_j - rotation_i + x_1.shape[0] - 1 + indexes_j = (rotation_i + rotation_j) // 2 + + # DIMENSIONS OF THE SCORING MATRICES: + scores_shape_0 = x_1.shape[0] + x_1.shape[1] - 1 + scores_shape_1 = (x_1.shape[0] + x_1.shape[1]) // 2 + + initial_value = -1e10 + + # PREVIOUS SCORING MATRICES: + previous_scores = torch.full( + [scores_shape_1], initial_value, device=input.device + ) + + previous_scores = (previous_scores, previous_scores) + + # LIST TO ACCUMULATE SCORING MATRICES FOR EACH STEP OF THE ALIGNMENT: + scores = [] + + # INDICES TO MANAGE ALTERNATING UPDATES: + current_scores_i = torch.fmod( + torch.arange(scores_shape_0) + x_1.shape[0] % 2, 2 + ) + + # SCORING MATRICES WITH `initial_value`: + current_scores_j = torch.full( + [ + scores_shape_0, + scores_shape_1, + ], + initial_value, + device=input.device, + ) + + # INITIAL SCORING MATRICES WITH VALUES FROM THE MASKED SIMILARITY MATRICES: + current_scores_j = current_scores_j.index_put([indexes_i, indexes_j], x_1) + + current_scores_j[indexes_i, indexes_j] = x_1 + + initial_value = torch.tensor([initial_value], device=input.device) + + # LOOP THROUGH EACH SCORE: + for current_scores in zip(current_scores_i, current_scores_j, strict=False): + # SCORE FOR EXTENDING ALIGNMENT WITHOUT A GAP: + torch_add = previous_scores[0] + current_scores[1] + + # SCORE FOR INTRODUCING A GAP: + t = previous_scores[1] + gap_penalty + + # SCORE FOR OPENING OR EXTENDING A GAP: + torch_concatenate = torch.concatenate( + [ + initial_value, + previous_scores[1][:-1], + ], + ) + + concatenate = torch.concatenate( + [ + previous_scores[1][1:], + initial_value, + ], + ) + + tensor = ( + current_scores[0] * torch_concatenate + + (1 - current_scores[0]) * concatenate + + gap_penalty + ) + + # APPLYING GAP PENALTIES: + current_scores = torch.stack( + [ + torch_add, + t, + tensor, + # ORIGINAL SCORE FOR THE POSITION: + current_scores[1], + ], + dim=-1, + ) + + current_scores = current_scores / temperature + + current_scores = torch.maximum(current_scores, initial_value) + + # LOG-SUM-EXP FOR NUMERICAL STABILITY: + current_scores = torch.special.logsumexp(current_scores, dim=-1) + + # SCORING MATRICES: + current_scores = current_scores * temperature + + # UPDATE THE SCORES FOR THE NEXT ITERATION: + previous_scores = previous_scores[1], current_scores + + # ACCUMULATE UPDATED SCORES: + scores = [*scores, current_scores] + + scores = torch.stack(scores)[indexes_i, indexes_j] + + # COMBINE THE FINAL SCORES AND THE ORIGINAL SIMILARITY MATRIX: + scores = scores + masked_similarity_matrices[1:, 1:] + + # ADJUST FOR TEMPERATURE: + scores = scores / temperature + + score = torch.exp(scores - torch.max(scores)) + + # APPLY MASK TO SCORING MATRICES: + # SMITH-WATERMAN SCORES: + score = ( + torch.log(torch.sum(score * mask[1:, 1:])) + torch.max(scores) + ) * temperature + + return score + + return torch.func.vmap(torch.func.grad(fn), (0, 0))(input, lengths) diff --git a/src/beignet/constants/__init__.py b/src/beignet/constants/__init__.py new file mode 100644 index 0000000000..1b5b0b67e1 --- /dev/null +++ b/src/beignet/constants/__init__.py @@ -0,0 +1,119 @@ +from ._substitution_matrices import ( + BLOSUM45, + BLOSUM50, + BLOSUM62, + BLOSUM80, + BLOSUM90, + BLOSUM_VOCABULARY, + PAM10, + PAM20, + PAM30, + PAM40, + PAM50, + PAM60, + PAM70, + PAM80, + PAM90, + PAM100, + PAM110, + PAM120, + PAM130, + PAM140, + PAM150, + PAM160, + PAM170, + PAM180, + PAM190, + PAM200, + PAM210, + PAM220, + PAM230, + PAM240, + PAM250, + PAM260, + PAM270, + PAM280, + PAM290, + PAM300, + PAM310, + PAM320, + PAM330, + PAM340, + PAM350, + PAM360, + PAM370, + PAM380, + PAM390, + PAM400, + PAM410, + PAM420, + PAM430, + PAM440, + PAM450, + PAM460, + PAM470, + PAM480, + PAM490, + PAM500, + PAM_VOCABULARY, +) + +__all__ = [ + "BLOSUM45", + "BLOSUM50", + "BLOSUM62", + "BLOSUM80", + "BLOSUM90", + "BLOSUM_VOCABULARY", + "PAM10", + "PAM20", + "PAM30", + "PAM40", + "PAM50", + "PAM60", + "PAM70", + "PAM80", + "PAM90", + "PAM100", + "PAM110", + "PAM120", + "PAM130", + "PAM140", + "PAM150", + "PAM160", + "PAM170", + "PAM180", + "PAM190", + "PAM200", + "PAM210", + "PAM220", + "PAM230", + "PAM240", + "PAM250", + "PAM260", + "PAM270", + "PAM280", + "PAM290", + "PAM300", + "PAM310", + "PAM320", + "PAM330", + "PAM340", + "PAM350", + "PAM360", + "PAM370", + "PAM380", + "PAM390", + "PAM400", + "PAM410", + "PAM420", + "PAM430", + "PAM440", + "PAM450", + "PAM460", + "PAM470", + "PAM480", + "PAM490", + "PAM500", + "PAM_VOCABULARY", +] diff --git a/src/beignet/constants/_substitution_matrices.py b/src/beignet/constants/_substitution_matrices.py new file mode 100644 index 0000000000..88a927c137 --- /dev/null +++ b/src/beignet/constants/_substitution_matrices.py @@ -0,0 +1,1434 @@ +BLOSUM45 = [[+0x05, -0x02, -0x01, -0x02, -0x01, -0x01, -0x01, -0x00, -0x02, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x01, -0x00, -0x02, -0x02, -0x00, -0x01, -0x01, -0x01, -0x01, -0x05], + [-0x02, +0x07, -0x00, -0x01, -0x03, +0x01, -0x00, -0x02, -0x00, -0x03, -0x02, +0x03, -0x01, -0x02, -0x02, -0x01, -0x01, -0x02, -0x01, -0x02, -0x01, -0x03, +0x01, -0x01, -0x05], + [-0x01, -0x00, +0x06, +0x02, -0x02, -0x00, -0x00, -0x00, +0x01, -0x02, -0x03, -0x00, -0x02, -0x02, -0x02, +0x01, -0x00, -0x04, -0x02, -0x03, +0x05, -0x03, -0x00, -0x01, -0x05], + [-0x02, -0x01, +0x02, +0x07, -0x03, -0x00, +0x02, -0x01, -0x00, -0x04, -0x03, -0x00, -0x03, -0x04, -0x01, -0x00, -0x01, -0x04, -0x02, -0x03, +0x06, -0x03, +0x01, -0x01, -0x05], + [-0x01, -0x03, -0x02, -0x03, +0x0c, -0x03, -0x03, -0x03, -0x03, -0x03, -0x02, -0x03, -0x02, -0x02, -0x04, -0x01, -0x01, -0x05, -0x03, -0x01, -0x02, -0x02, -0x03, -0x01, -0x05], + [-0x01, +0x01, -0x00, -0x00, -0x03, +0x06, +0x02, -0x02, +0x01, -0x02, -0x02, +0x01, -0x00, -0x04, -0x01, -0x00, -0x01, -0x02, -0x01, -0x03, -0x00, -0x02, +0x04, -0x01, -0x05], + [-0x01, -0x00, -0x00, +0x02, -0x03, +0x02, +0x06, -0x02, -0x00, -0x03, -0x02, +0x01, -0x02, -0x03, -0x00, -0x00, -0x01, -0x03, -0x02, -0x03, +0x01, -0x03, +0x05, -0x01, -0x05], + [-0x00, -0x02, -0x00, -0x01, -0x03, -0x02, -0x02, +0x07, -0x02, -0x04, -0x03, -0x02, -0x02, -0x03, -0x02, -0x00, -0x02, -0x02, -0x03, -0x03, -0x01, -0x04, -0x02, -0x01, -0x05], + [-0x02, -0x00, +0x01, -0x00, -0x03, +0x01, -0x00, -0x02, +0x0a, -0x03, -0x02, -0x01, -0x00, -0x02, -0x02, -0x01, -0x02, -0x03, +0x02, -0x03, -0x00, -0x02, -0x00, -0x01, -0x05], + [-0x01, -0x03, -0x02, -0x04, -0x03, -0x02, -0x03, -0x04, -0x03, +0x05, +0x02, -0x03, +0x02, -0x00, -0x02, -0x02, -0x01, -0x02, -0x00, +0x03, -0x03, +0x04, -0x03, -0x01, -0x05], + [-0x01, -0x02, -0x03, -0x03, -0x02, -0x02, -0x02, -0x03, -0x02, +0x02, +0x05, -0x03, +0x02, +0x01, -0x03, -0x03, -0x01, -0x02, -0x00, +0x01, -0x03, +0x04, -0x02, -0x01, -0x05], + [-0x01, +0x03, -0x00, -0x00, -0x03, +0x01, +0x01, -0x02, -0x01, -0x03, -0x03, +0x05, -0x01, -0x03, -0x01, -0x01, -0x01, -0x02, -0x01, -0x02, -0x00, -0x03, +0x01, -0x01, -0x05], + [-0x01, -0x01, -0x02, -0x03, -0x02, -0x00, -0x02, -0x02, -0x00, +0x02, +0x02, -0x01, +0x06, -0x00, -0x02, -0x02, -0x01, -0x02, -0x00, +0x01, -0x02, +0x02, -0x01, -0x01, -0x05], + [-0x02, -0x02, -0x02, -0x04, -0x02, -0x04, -0x03, -0x03, -0x02, -0x00, +0x01, -0x03, -0x00, +0x08, -0x03, -0x02, -0x01, +0x01, +0x03, -0x00, -0x03, +0x01, -0x03, -0x01, -0x05], + [-0x01, -0x02, -0x02, -0x01, -0x04, -0x01, -0x00, -0x02, -0x02, -0x02, -0x03, -0x01, -0x02, -0x03, +0x09, -0x01, -0x01, -0x03, -0x03, -0x03, -0x02, -0x03, -0x01, -0x01, -0x05], + [+0x01, -0x01, +0x01, -0x00, -0x01, -0x00, -0x00, -0x00, -0x01, -0x02, -0x03, -0x01, -0x02, -0x02, -0x01, +0x04, +0x02, -0x04, -0x02, -0x01, -0x00, -0x02, -0x00, -0x01, -0x05], + [-0x00, -0x01, -0x00, -0x01, -0x01, -0x01, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, +0x02, +0x05, -0x03, -0x01, -0x00, -0x00, -0x01, -0x01, -0x01, -0x05], + [-0x02, -0x02, -0x04, -0x04, -0x05, -0x02, -0x03, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, +0x01, -0x03, -0x04, -0x03, +0x0f, +0x03, -0x03, -0x04, -0x02, -0x02, -0x01, -0x05], + [-0x02, -0x01, -0x02, -0x02, -0x03, -0x01, -0x02, -0x03, +0x02, -0x00, -0x00, -0x01, -0x00, +0x03, -0x03, -0x02, -0x01, +0x03, +0x08, -0x01, -0x02, -0x00, -0x02, -0x01, -0x05], + [-0x00, -0x02, -0x03, -0x03, -0x01, -0x03, -0x03, -0x03, -0x03, +0x03, +0x01, -0x02, +0x01, -0x00, -0x03, -0x01, -0x00, -0x03, -0x01, +0x05, -0x03, +0x02, -0x03, -0x01, -0x05], + [-0x01, -0x01, +0x05, +0x06, -0x02, -0x00, +0x01, -0x01, -0x00, -0x03, -0x03, -0x00, -0x02, -0x03, -0x02, -0x00, -0x00, -0x04, -0x02, -0x03, +0x05, -0x03, +0x01, -0x01, -0x05], + [-0x01, -0x03, -0x03, -0x03, -0x02, -0x02, -0x03, -0x04, -0x02, +0x04, +0x04, -0x03, +0x02, +0x01, -0x03, -0x02, -0x01, -0x02, -0x00, +0x02, -0x03, +0x04, -0x02, -0x01, -0x05], + [-0x01, +0x01, -0x00, +0x01, -0x03, +0x04, +0x05, -0x02, -0x00, -0x03, -0x02, +0x01, -0x01, -0x03, -0x01, -0x00, -0x01, -0x02, -0x02, -0x03, +0x01, -0x02, +0x05, -0x01, -0x05], + [-0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x05], + [-0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, +0x01]] + +BLOSUM50 = [[+0x05, -0x02, -0x01, -0x02, -0x01, -0x01, -0x01, -0x00, -0x02, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x01, -0x00, -0x03, -0x02, -0x00, -0x02, -0x02, -0x01, -0x01, -0x05], + [-0x02, +0x07, -0x01, -0x02, -0x04, +0x01, -0x00, -0x03, -0x00, -0x04, -0x03, +0x03, -0x02, -0x03, -0x03, -0x01, -0x01, -0x03, -0x01, -0x03, -0x01, -0x03, -0x00, -0x01, -0x05], + [-0x01, -0x01, +0x07, +0x02, -0x02, -0x00, -0x00, -0x00, +0x01, -0x03, -0x04, -0x00, -0x02, -0x04, -0x02, +0x01, -0x00, -0x04, -0x02, -0x03, +0x05, -0x04, -0x00, -0x01, -0x05], + [-0x02, -0x02, +0x02, +0x08, -0x04, -0x00, +0x02, -0x01, -0x01, -0x04, -0x04, -0x01, -0x04, -0x05, -0x01, -0x00, -0x01, -0x05, -0x03, -0x04, +0x06, -0x04, +0x01, -0x01, -0x05], + [-0x01, -0x04, -0x02, -0x04, +0x0d, -0x03, -0x03, -0x03, -0x03, -0x02, -0x02, -0x03, -0x02, -0x02, -0x04, -0x01, -0x01, -0x05, -0x03, -0x01, -0x03, -0x02, -0x03, -0x01, -0x05], + [-0x01, +0x01, -0x00, -0x00, -0x03, +0x07, +0x02, -0x02, +0x01, -0x03, -0x02, +0x02, -0x00, -0x04, -0x01, -0x00, -0x01, -0x01, -0x01, -0x03, -0x00, -0x03, +0x04, -0x01, -0x05], + [-0x01, -0x00, -0x00, +0x02, -0x03, +0x02, +0x06, -0x03, -0x00, -0x04, -0x03, +0x01, -0x02, -0x03, -0x01, -0x01, -0x01, -0x03, -0x02, -0x03, +0x01, -0x03, +0x05, -0x01, -0x05], + [-0x00, -0x03, -0x00, -0x01, -0x03, -0x02, -0x03, +0x08, -0x02, -0x04, -0x04, -0x02, -0x03, -0x04, -0x02, -0x00, -0x02, -0x03, -0x03, -0x04, -0x01, -0x04, -0x02, -0x01, -0x05], + [-0x02, -0x00, +0x01, -0x01, -0x03, +0x01, -0x00, -0x02, +0x0a, -0x04, -0x03, -0x00, -0x01, -0x01, -0x02, -0x01, -0x02, -0x03, +0x02, -0x04, -0x00, -0x03, -0x00, -0x01, -0x05], + [-0x01, -0x04, -0x03, -0x04, -0x02, -0x03, -0x04, -0x04, -0x04, +0x05, +0x02, -0x03, +0x02, -0x00, -0x03, -0x03, -0x01, -0x03, -0x01, +0x04, -0x04, +0x04, -0x03, -0x01, -0x05], + [-0x02, -0x03, -0x04, -0x04, -0x02, -0x02, -0x03, -0x04, -0x03, +0x02, +0x05, -0x03, +0x03, +0x01, -0x04, -0x03, -0x01, -0x02, -0x01, +0x01, -0x04, +0x04, -0x03, -0x01, -0x05], + [-0x01, +0x03, -0x00, -0x01, -0x03, +0x02, +0x01, -0x02, -0x00, -0x03, -0x03, +0x06, -0x02, -0x04, -0x01, -0x00, -0x01, -0x03, -0x02, -0x03, -0x00, -0x03, +0x01, -0x01, -0x05], + [-0x01, -0x02, -0x02, -0x04, -0x02, -0x00, -0x02, -0x03, -0x01, +0x02, +0x03, -0x02, +0x07, -0x00, -0x03, -0x02, -0x01, -0x01, -0x00, +0x01, -0x03, +0x02, -0x01, -0x01, -0x05], + [-0x03, -0x03, -0x04, -0x05, -0x02, -0x04, -0x03, -0x04, -0x01, -0x00, +0x01, -0x04, -0x00, +0x08, -0x04, -0x03, -0x02, +0x01, +0x04, -0x01, -0x04, +0x01, -0x04, -0x01, -0x05], + [-0x01, -0x03, -0x02, -0x01, -0x04, -0x01, -0x01, -0x02, -0x02, -0x03, -0x04, -0x01, -0x03, -0x04, +0x0a, -0x01, -0x01, -0x04, -0x03, -0x03, -0x02, -0x03, -0x01, -0x01, -0x05], + [+0x01, -0x01, +0x01, -0x00, -0x01, -0x00, -0x01, -0x00, -0x01, -0x03, -0x03, -0x00, -0x02, -0x03, -0x01, +0x05, +0x02, -0x04, -0x02, -0x02, -0x00, -0x03, -0x00, -0x01, -0x05], + [-0x00, -0x01, -0x00, -0x01, -0x01, -0x01, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x02, +0x05, -0x03, -0x02, -0x00, -0x00, -0x01, -0x01, -0x01, -0x05], + [-0x03, -0x03, -0x04, -0x05, -0x05, -0x01, -0x03, -0x03, -0x03, -0x03, -0x02, -0x03, -0x01, +0x01, -0x04, -0x04, -0x03, +0x0f, +0x02, -0x03, -0x05, -0x02, -0x02, -0x01, -0x05], + [-0x02, -0x01, -0x02, -0x03, -0x03, -0x01, -0x02, -0x03, +0x02, -0x01, -0x01, -0x02, -0x00, +0x04, -0x03, -0x02, -0x02, +0x02, +0x08, -0x01, -0x03, -0x01, -0x02, -0x01, -0x05], + [-0x00, -0x03, -0x03, -0x04, -0x01, -0x03, -0x03, -0x04, -0x04, +0x04, +0x01, -0x03, +0x01, -0x01, -0x03, -0x02, -0x00, -0x03, -0x01, +0x05, -0x03, +0x02, -0x03, -0x01, -0x05], + [-0x02, -0x01, +0x05, +0x06, -0x03, -0x00, +0x01, -0x01, -0x00, -0x04, -0x04, -0x00, -0x03, -0x04, -0x02, -0x00, -0x00, -0x05, -0x03, -0x03, +0x06, -0x04, +0x01, -0x01, -0x05], + [-0x02, -0x03, -0x04, -0x04, -0x02, -0x03, -0x03, -0x04, -0x03, +0x04, +0x04, -0x03, +0x02, +0x01, -0x03, -0x03, -0x01, -0x02, -0x01, +0x02, -0x04, +0x04, -0x03, -0x01, -0x05], + [-0x01, -0x00, -0x00, +0x01, -0x03, +0x04, +0x05, -0x02, -0x00, -0x03, -0x03, +0x01, -0x01, -0x04, -0x01, -0x00, -0x01, -0x02, -0x02, -0x03, +0x01, -0x03, +0x05, -0x01, -0x05], + [-0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x05], + [-0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, -0x05, +0x01]] + +BLOSUM62 = [[+0x04, -0x01, -0x02, -0x02, -0x00, -0x01, -0x01, -0x00, -0x02, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x01, -0x00, -0x03, -0x02, -0x00, -0x02, -0x01, -0x01, -0x01, -0x04], + [-0x01, +0x05, -0x00, -0x02, -0x03, +0x01, -0x00, -0x02, -0x00, -0x03, -0x02, +0x02, -0x01, -0x03, -0x02, -0x01, -0x01, -0x03, -0x02, -0x03, -0x01, -0x02, -0x00, -0x01, -0x04], + [-0x02, -0x00, +0x06, +0x01, -0x03, -0x00, -0x00, -0x00, +0x01, -0x03, -0x03, -0x00, -0x02, -0x03, -0x02, +0x01, -0x00, -0x04, -0x02, -0x03, +0x04, -0x03, -0x00, -0x01, -0x04], + [-0x02, -0x02, +0x01, +0x06, -0x03, -0x00, +0x02, -0x01, -0x01, -0x03, -0x04, -0x01, -0x03, -0x03, -0x01, -0x00, -0x01, -0x04, -0x03, -0x03, +0x04, -0x03, +0x01, -0x01, -0x04], + [-0x00, -0x03, -0x03, -0x03, +0x09, -0x03, -0x04, -0x03, -0x03, -0x01, -0x01, -0x03, -0x01, -0x02, -0x03, -0x01, -0x01, -0x02, -0x02, -0x01, -0x03, -0x01, -0x03, -0x01, -0x04], + [-0x01, +0x01, -0x00, -0x00, -0x03, +0x05, +0x02, -0x02, -0x00, -0x03, -0x02, +0x01, -0x00, -0x03, -0x01, -0x00, -0x01, -0x02, -0x01, -0x02, -0x00, -0x02, +0x04, -0x01, -0x04], + [-0x01, -0x00, -0x00, +0x02, -0x04, +0x02, +0x05, -0x02, -0x00, -0x03, -0x03, +0x01, -0x02, -0x03, -0x01, -0x00, -0x01, -0x03, -0x02, -0x02, +0x01, -0x03, +0x04, -0x01, -0x04], + [-0x00, -0x02, -0x00, -0x01, -0x03, -0x02, -0x02, +0x06, -0x02, -0x04, -0x04, -0x02, -0x03, -0x03, -0x02, -0x00, -0x02, -0x02, -0x03, -0x03, -0x01, -0x04, -0x02, -0x01, -0x04], + [-0x02, -0x00, +0x01, -0x01, -0x03, -0x00, -0x00, -0x02, +0x08, -0x03, -0x03, -0x01, -0x02, -0x01, -0x02, -0x01, -0x02, -0x02, +0x02, -0x03, -0x00, -0x03, -0x00, -0x01, -0x04], + [-0x01, -0x03, -0x03, -0x03, -0x01, -0x03, -0x03, -0x04, -0x03, +0x04, +0x02, -0x03, +0x01, -0x00, -0x03, -0x02, -0x01, -0x03, -0x01, +0x03, -0x03, +0x03, -0x03, -0x01, -0x04], + [-0x01, -0x02, -0x03, -0x04, -0x01, -0x02, -0x03, -0x04, -0x03, +0x02, +0x04, -0x02, +0x02, -0x00, -0x03, -0x02, -0x01, -0x02, -0x01, +0x01, -0x04, +0x03, -0x03, -0x01, -0x04], + [-0x01, +0x02, -0x00, -0x01, -0x03, +0x01, +0x01, -0x02, -0x01, -0x03, -0x02, +0x05, -0x01, -0x03, -0x01, -0x00, -0x01, -0x03, -0x02, -0x02, -0x00, -0x03, +0x01, -0x01, -0x04], + [-0x01, -0x01, -0x02, -0x03, -0x01, -0x00, -0x02, -0x03, -0x02, +0x01, +0x02, -0x01, +0x05, -0x00, -0x02, -0x01, -0x01, -0x01, -0x01, +0x01, -0x03, +0x02, -0x01, -0x01, -0x04], + [-0x02, -0x03, -0x03, -0x03, -0x02, -0x03, -0x03, -0x03, -0x01, -0x00, -0x00, -0x03, -0x00, +0x06, -0x04, -0x02, -0x02, +0x01, +0x03, -0x01, -0x03, -0x00, -0x03, -0x01, -0x04], + [-0x01, -0x02, -0x02, -0x01, -0x03, -0x01, -0x01, -0x02, -0x02, -0x03, -0x03, -0x01, -0x02, -0x04, +0x07, -0x01, -0x01, -0x04, -0x03, -0x02, -0x02, -0x03, -0x01, -0x01, -0x04], + [+0x01, -0x01, +0x01, -0x00, -0x01, -0x00, -0x00, -0x00, -0x01, -0x02, -0x02, -0x00, -0x01, -0x02, -0x01, +0x04, +0x01, -0x03, -0x02, -0x02, -0x00, -0x02, -0x00, -0x01, -0x04], + [-0x00, -0x01, -0x00, -0x01, -0x01, -0x01, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x01, +0x05, -0x02, -0x02, -0x00, -0x01, -0x01, -0x01, -0x01, -0x04], + [-0x03, -0x03, -0x04, -0x04, -0x02, -0x02, -0x03, -0x02, -0x02, -0x03, -0x02, -0x03, -0x01, +0x01, -0x04, -0x03, -0x02, +0x0b, +0x02, -0x03, -0x04, -0x02, -0x02, -0x01, -0x04], + [-0x02, -0x02, -0x02, -0x03, -0x02, -0x01, -0x02, -0x03, +0x02, -0x01, -0x01, -0x02, -0x01, +0x03, -0x03, -0x02, -0x02, +0x02, +0x07, -0x01, -0x03, -0x01, -0x02, -0x01, -0x04], + [-0x00, -0x03, -0x03, -0x03, -0x01, -0x02, -0x02, -0x03, -0x03, +0x03, +0x01, -0x02, +0x01, -0x01, -0x02, -0x02, -0x00, -0x03, -0x01, +0x04, -0x03, +0x02, -0x02, -0x01, -0x04], + [-0x02, -0x01, +0x04, +0x04, -0x03, -0x00, +0x01, -0x01, -0x00, -0x03, -0x04, -0x00, -0x03, -0x03, -0x02, -0x00, -0x01, -0x04, -0x03, -0x03, +0x04, -0x03, -0x00, -0x01, -0x04], + [-0x01, -0x02, -0x03, -0x03, -0x01, -0x02, -0x03, -0x04, -0x03, +0x03, +0x03, -0x03, +0x02, -0x00, -0x03, -0x02, -0x01, -0x02, -0x01, +0x02, -0x03, +0x03, -0x03, -0x01, -0x04], + [-0x01, -0x00, -0x00, +0x01, -0x03, +0x04, +0x04, -0x02, -0x00, -0x03, -0x03, +0x01, -0x01, -0x03, -0x01, -0x00, -0x01, -0x02, -0x02, -0x02, -0x00, -0x03, +0x04, -0x01, -0x04], + [-0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x04], + [-0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, -0x04, +0x01]] + +BLOSUM80 = [[+0x05, -0x02, -0x02, -0x02, -0x01, -0x01, -0x01, -0x00, -0x02, -0x02, -0x02, -0x01, -0x01, -0x03, -0x01, +0x01, -0x00, -0x03, -0x02, -0x00, -0x02, -0x02, -0x01, -0x01, -0x06], + [-0x02, +0x06, -0x01, -0x02, -0x04, +0x01, -0x01, -0x03, -0x00, -0x03, -0x03, +0x02, -0x02, -0x04, -0x02, -0x01, -0x01, -0x04, -0x03, -0x03, -0x01, -0x03, -0x00, -0x01, -0x06], + [-0x02, -0x01, +0x06, +0x01, -0x03, -0x00, -0x01, -0x01, -0x00, -0x04, -0x04, -0x00, -0x03, -0x04, -0x03, -0x00, -0x00, -0x04, -0x03, -0x04, +0x05, -0x04, -0x00, -0x01, -0x06], + [-0x02, -0x02, +0x01, +0x06, -0x04, -0x01, +0x01, -0x02, -0x02, -0x04, -0x05, -0x01, -0x04, -0x04, -0x02, -0x01, -0x01, -0x06, -0x04, -0x04, +0x05, -0x05, +0x01, -0x01, -0x06], + [-0x01, -0x04, -0x03, -0x04, +0x09, -0x04, -0x05, -0x04, -0x04, -0x02, -0x02, -0x04, -0x02, -0x03, -0x04, -0x02, -0x01, -0x03, -0x03, -0x01, -0x04, -0x02, -0x04, -0x01, -0x06], + [-0x01, +0x01, -0x00, -0x01, -0x04, +0x06, +0x02, -0x02, +0x01, -0x03, -0x03, +0x01, -0x00, -0x04, -0x02, -0x00, -0x01, -0x03, -0x02, -0x03, -0x00, -0x03, +0x04, -0x01, -0x06], + [-0x01, -0x01, -0x01, +0x01, -0x05, +0x02, +0x06, -0x03, -0x00, -0x04, -0x04, +0x01, -0x02, -0x04, -0x02, -0x00, -0x01, -0x04, -0x03, -0x03, +0x01, -0x04, +0x05, -0x01, -0x06], + [-0x00, -0x03, -0x01, -0x02, -0x04, -0x02, -0x03, +0x06, -0x03, -0x05, -0x04, -0x02, -0x04, -0x04, -0x03, -0x01, -0x02, -0x04, -0x04, -0x04, -0x01, -0x05, -0x03, -0x01, -0x06], + [-0x02, -0x00, -0x00, -0x02, -0x04, +0x01, -0x00, -0x03, +0x08, -0x04, -0x03, -0x01, -0x02, -0x02, -0x03, -0x01, -0x02, -0x03, +0x02, -0x04, -0x01, -0x04, -0x00, -0x01, -0x06], + [-0x02, -0x03, -0x04, -0x04, -0x02, -0x03, -0x04, -0x05, -0x04, +0x05, +0x01, -0x03, +0x01, -0x01, -0x04, -0x03, -0x01, -0x03, -0x02, +0x03, -0x04, +0x03, -0x04, -0x01, -0x06], + [-0x02, -0x03, -0x04, -0x05, -0x02, -0x03, -0x04, -0x04, -0x03, +0x01, +0x04, -0x03, +0x02, -0x00, -0x03, -0x03, -0x02, -0x02, -0x02, +0x01, -0x04, +0x03, -0x03, -0x01, -0x06], + [-0x01, +0x02, -0x00, -0x01, -0x04, +0x01, +0x01, -0x02, -0x01, -0x03, -0x03, +0x05, -0x02, -0x04, -0x01, -0x01, -0x01, -0x04, -0x03, -0x03, -0x01, -0x03, +0x01, -0x01, -0x06], + [-0x01, -0x02, -0x03, -0x04, -0x02, -0x00, -0x02, -0x04, -0x02, +0x01, +0x02, -0x02, +0x06, -0x00, -0x03, -0x02, -0x01, -0x02, -0x02, +0x01, -0x03, +0x02, -0x01, -0x01, -0x06], + [-0x03, -0x04, -0x04, -0x04, -0x03, -0x04, -0x04, -0x04, -0x02, -0x01, -0x00, -0x04, -0x00, +0x06, -0x04, -0x03, -0x02, -0x00, +0x03, -0x01, -0x04, -0x00, -0x04, -0x01, -0x06], + [-0x01, -0x02, -0x03, -0x02, -0x04, -0x02, -0x02, -0x03, -0x03, -0x04, -0x03, -0x01, -0x03, -0x04, +0x08, -0x01, -0x02, -0x05, -0x04, -0x03, -0x02, -0x04, -0x02, -0x01, -0x06], + [+0x01, -0x01, -0x00, -0x01, -0x02, -0x00, -0x00, -0x01, -0x01, -0x03, -0x03, -0x01, -0x02, -0x03, -0x01, +0x05, +0x01, -0x04, -0x02, -0x02, -0x00, -0x03, -0x00, -0x01, -0x06], + [-0x00, -0x01, -0x00, -0x01, -0x01, -0x01, -0x01, -0x02, -0x02, -0x01, -0x02, -0x01, -0x01, -0x02, -0x02, +0x01, +0x05, -0x04, -0x02, -0x00, -0x01, -0x01, -0x01, -0x01, -0x06], + [-0x03, -0x04, -0x04, -0x06, -0x03, -0x03, -0x04, -0x04, -0x03, -0x03, -0x02, -0x04, -0x02, -0x00, -0x05, -0x04, -0x04, +0x0b, +0x02, -0x03, -0x05, -0x03, -0x03, -0x01, -0x06], + [-0x02, -0x03, -0x03, -0x04, -0x03, -0x02, -0x03, -0x04, +0x02, -0x02, -0x02, -0x03, -0x02, +0x03, -0x04, -0x02, -0x02, +0x02, +0x07, -0x02, -0x03, -0x02, -0x03, -0x01, -0x06], + [-0x00, -0x03, -0x04, -0x04, -0x01, -0x03, -0x03, -0x04, -0x04, +0x03, +0x01, -0x03, +0x01, -0x01, -0x03, -0x02, -0x00, -0x03, -0x02, +0x04, -0x04, +0x02, -0x03, -0x01, -0x06], + [-0x02, -0x01, +0x05, +0x05, -0x04, -0x00, +0x01, -0x01, -0x01, -0x04, -0x04, -0x01, -0x03, -0x04, -0x02, -0x00, -0x01, -0x05, -0x03, -0x04, +0x05, -0x04, -0x00, -0x01, -0x06], + [-0x02, -0x03, -0x04, -0x05, -0x02, -0x03, -0x04, -0x05, -0x04, +0x03, +0x03, -0x03, +0x02, -0x00, -0x04, -0x03, -0x01, -0x03, -0x02, +0x02, -0x04, +0x03, -0x03, -0x01, -0x06], + [-0x01, -0x00, -0x00, +0x01, -0x04, +0x04, +0x05, -0x03, -0x00, -0x04, -0x03, +0x01, -0x01, -0x04, -0x02, -0x00, -0x01, -0x03, -0x03, -0x03, -0x00, -0x03, +0x05, -0x01, -0x06], + [-0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x06], + [-0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, -0x06, +0x01]] + +BLOSUM90 = [[+0x05, -0x02, -0x02, -0x03, -0x01, -0x01, -0x01, -0x00, -0x02, -0x02, -0x02, -0x01, -0x02, -0x03, -0x01, +0x01, -0x00, -0x04, -0x03, -0x01, -0x02, -0x02, -0x01, -0x01, -0x06], + [-0x02, +0x06, -0x01, -0x03, -0x05, +0x01, -0x01, -0x03, -0x00, -0x04, -0x03, +0x02, -0x02, -0x04, -0x03, -0x01, -0x02, -0x04, -0x03, -0x03, -0x02, -0x03, -0x00, -0x01, -0x06], + [-0x02, -0x01, +0x07, +0x01, -0x04, -0x00, -0x01, -0x01, -0x00, -0x04, -0x04, -0x00, -0x03, -0x04, -0x03, -0x00, -0x00, -0x05, -0x03, -0x04, +0x05, -0x04, -0x01, -0x01, -0x06], + [-0x03, -0x03, +0x01, +0x07, -0x05, -0x01, +0x01, -0x02, -0x02, -0x05, -0x05, -0x01, -0x04, -0x05, -0x03, -0x01, -0x02, -0x06, -0x04, -0x05, +0x05, -0x05, +0x01, -0x01, -0x06], + [-0x01, -0x05, -0x04, -0x05, +0x09, -0x04, -0x06, -0x04, -0x05, -0x02, -0x02, -0x04, -0x02, -0x03, -0x04, -0x02, -0x02, -0x04, -0x04, -0x02, -0x04, -0x02, -0x05, -0x01, -0x06], + [-0x01, +0x01, -0x00, -0x01, -0x04, +0x07, +0x02, -0x03, +0x01, -0x04, -0x03, +0x01, -0x00, -0x04, -0x02, -0x01, -0x01, -0x03, -0x03, -0x03, -0x01, -0x03, +0x05, -0x01, -0x06], + [-0x01, -0x01, -0x01, +0x01, -0x06, +0x02, +0x06, -0x03, -0x01, -0x04, -0x04, -0x00, -0x03, -0x05, -0x02, -0x01, -0x01, -0x05, -0x04, -0x03, +0x01, -0x04, +0x05, -0x01, -0x06], + [-0x00, -0x03, -0x01, -0x02, -0x04, -0x03, -0x03, +0x06, -0x03, -0x05, -0x05, -0x02, -0x04, -0x05, -0x03, -0x01, -0x03, -0x04, -0x05, -0x05, -0x02, -0x05, -0x03, -0x01, -0x06], + [-0x02, -0x00, -0x00, -0x02, -0x05, +0x01, -0x01, -0x03, +0x08, -0x04, -0x04, -0x01, -0x03, -0x02, -0x03, -0x02, -0x02, -0x03, +0x01, -0x04, -0x01, -0x04, -0x00, -0x01, -0x06], + [-0x02, -0x04, -0x04, -0x05, -0x02, -0x04, -0x04, -0x05, -0x04, +0x05, +0x01, -0x04, +0x01, -0x01, -0x04, -0x03, -0x01, -0x04, -0x02, +0x03, -0x05, +0x03, -0x04, -0x01, -0x06], + [-0x02, -0x03, -0x04, -0x05, -0x02, -0x03, -0x04, -0x05, -0x04, +0x01, +0x05, -0x03, +0x02, -0x00, -0x04, -0x03, -0x02, -0x03, -0x02, -0x00, -0x05, +0x04, -0x04, -0x01, -0x06], + [-0x01, +0x02, -0x00, -0x01, -0x04, +0x01, -0x00, -0x02, -0x01, -0x04, -0x03, +0x06, -0x02, -0x04, -0x02, -0x01, -0x01, -0x05, -0x03, -0x03, -0x01, -0x03, +0x01, -0x01, -0x06], + [-0x02, -0x02, -0x03, -0x04, -0x02, -0x00, -0x03, -0x04, -0x03, +0x01, +0x02, -0x02, +0x07, -0x01, -0x03, -0x02, -0x01, -0x02, -0x02, -0x00, -0x04, +0x02, -0x02, -0x01, -0x06], + [-0x03, -0x04, -0x04, -0x05, -0x03, -0x04, -0x05, -0x05, -0x02, -0x01, -0x00, -0x04, -0x01, +0x07, -0x04, -0x03, -0x03, -0x00, +0x03, -0x02, -0x04, -0x00, -0x04, -0x01, -0x06], + [-0x01, -0x03, -0x03, -0x03, -0x04, -0x02, -0x02, -0x03, -0x03, -0x04, -0x04, -0x02, -0x03, -0x04, +0x08, -0x02, -0x02, -0x05, -0x04, -0x03, -0x03, -0x04, -0x02, -0x01, -0x06], + [+0x01, -0x01, -0x00, -0x01, -0x02, -0x01, -0x01, -0x01, -0x02, -0x03, -0x03, -0x01, -0x02, -0x03, -0x02, +0x05, +0x01, -0x04, -0x03, -0x02, -0x00, -0x03, -0x01, -0x01, -0x06], + [-0x00, -0x02, -0x00, -0x02, -0x02, -0x01, -0x01, -0x03, -0x02, -0x01, -0x02, -0x01, -0x01, -0x03, -0x02, +0x01, +0x06, -0x04, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x06], + [-0x04, -0x04, -0x05, -0x06, -0x04, -0x03, -0x05, -0x04, -0x03, -0x04, -0x03, -0x05, -0x02, -0x00, -0x05, -0x04, -0x04, +0x0b, +0x02, -0x03, -0x06, -0x03, -0x04, -0x01, -0x06], + [-0x03, -0x03, -0x03, -0x04, -0x04, -0x03, -0x04, -0x05, +0x01, -0x02, -0x02, -0x03, -0x02, +0x03, -0x04, -0x03, -0x02, +0x02, +0x08, -0x03, -0x04, -0x02, -0x03, -0x01, -0x06], + [-0x01, -0x03, -0x04, -0x05, -0x02, -0x03, -0x03, -0x05, -0x04, +0x03, -0x00, -0x03, -0x00, -0x02, -0x03, -0x02, -0x01, -0x03, -0x03, +0x05, -0x04, +0x01, -0x03, -0x01, -0x06], + [-0x02, -0x02, +0x05, +0x05, -0x04, -0x01, +0x01, -0x02, -0x01, -0x05, -0x05, -0x01, -0x04, -0x04, -0x03, -0x00, -0x01, -0x06, -0x04, -0x04, +0x05, -0x05, -0x00, -0x01, -0x06], + [-0x02, -0x03, -0x04, -0x05, -0x02, -0x03, -0x04, -0x05, -0x04, +0x03, +0x04, -0x03, +0x02, -0x00, -0x04, -0x03, -0x02, -0x03, -0x02, +0x01, -0x05, +0x04, -0x04, -0x01, -0x06], + [-0x01, -0x00, -0x01, +0x01, -0x05, +0x05, +0x05, -0x03, -0x00, -0x04, -0x04, +0x01, -0x02, -0x04, -0x02, -0x01, -0x01, -0x04, -0x03, -0x03, -0x00, -0x04, +0x05, -0x01, -0x06], + [-0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x06]] + +BLOSUM_VOCABULARY = { + "A": 0, + "R": 1, + "N": 2, + "D": 3, + "C": 4, + "Q": 5, + "E": 6, + "G": 7, + "H": 8, + "I": 9, + "L": 10, + "K": 11, + "M": 12, + "F": 13, + "P": 14, + "S": 15, + "T": 16, + "W": 17, + "Y": 18, + "V": 19, + "B": 20, + "J": 21, + "Z": 22, + "X": 23, + "*": 24, +} + +PAM10 = [[+0x07, -0x0A, -0x07, -0x06, -0x0A, -0x07, -0x05, -0x04, -0x0B, -0x08, -0x09, -0x0A, -0x08, -0x0C, -0x04, -0x03, -0x03, -0x14, -0x0B, -0x05, -0x06, -0x06, -0x06, -0x17], + [-0x0A, +0x09, -0x09, -0x11, -0x0B, -0x04, -0x0F, -0x0D, -0x04, -0x08, -0x0C, -0x02, -0x07, -0x0C, -0x07, -0x06, -0x0A, -0x05, -0x0E, -0x0B, -0x0B, -0x07, -0x09, -0x17], + [-0x07, -0x09, +0x09, -0x01, -0x11, -0x07, -0x05, -0x06, -0x02, -0x08, -0x0A, -0x04, -0x0F, -0x0C, -0x09, -0x02, -0x05, -0x0B, -0x07, -0x0C, +0x07, -0x06, -0x06, -0x17], + [-0x06, -0x11, -0x01, +0x08, -0x15, -0x06, +0x00, -0x06, -0x07, -0x0B, -0x13, -0x08, -0x11, -0x15, -0x0C, -0x07, -0x08, -0x15, -0x11, -0x0B, +0x07, -0x01, -0x09, -0x17], + [-0x0A, -0x0B, -0x11, -0x15, +0x0A, -0x14, -0x14, -0x0D, -0x0A, -0x09, -0x15, -0x14, -0x14, -0x13, -0x0B, -0x06, -0x0B, -0x16, -0x07, -0x09, -0x12, -0x14, -0x0D, -0x17], + [-0x07, -0x04, -0x07, -0x06, -0x14, +0x09, -0x01, -0x0A, -0x02, -0x0B, -0x08, -0x06, -0x07, -0x13, -0x06, -0x08, -0x09, -0x13, -0x12, -0x0A, -0x06, +0x07, -0x08, -0x17], + [-0x05, -0x0F, -0x05, +0x00, -0x14, -0x01, +0x08, -0x07, -0x09, -0x08, -0x0D, -0x07, -0x0A, -0x14, -0x09, -0x07, -0x09, -0x17, -0x0B, -0x0A, -0x01, +0x07, -0x08, -0x17], + [-0x04, -0x0D, -0x06, -0x06, -0x0D, -0x0A, -0x07, +0x07, -0x0D, -0x11, -0x0E, -0x0A, -0x0C, -0x0C, -0x0A, -0x04, -0x0A, -0x15, -0x14, -0x09, -0x06, -0x08, -0x08, -0x17], + [-0x0B, -0x04, -0x02, -0x07, -0x0A, -0x02, -0x09, -0x0D, +0x0A, -0x0D, -0x09, -0x0A, -0x11, -0x09, -0x07, -0x09, -0x0B, -0x0A, -0x06, -0x09, -0x04, -0x04, -0x08, -0x17], + [-0x08, -0x08, -0x08, -0x0B, -0x09, -0x0B, -0x08, -0x11, -0x0D, +0x09, -0x04, -0x09, -0x03, -0x05, -0x0C, -0x0A, -0x05, -0x14, -0x09, -0x01, -0x09, -0x09, -0x08, -0x17], + [-0x09, -0x0C, -0x0A, -0x13, -0x15, -0x08, -0x0D, -0x0E, -0x09, -0x04, +0x07, -0x0B, -0x02, -0x05, -0x0A, -0x0C, -0x0A, -0x09, -0x0A, -0x05, -0x0C, -0x0A, -0x09, -0x17], + [-0x0A, -0x02, -0x04, -0x08, -0x14, -0x06, -0x07, -0x0A, -0x0A, -0x09, -0x0B, +0x07, -0x04, -0x14, -0x0A, -0x07, -0x06, -0x12, -0x0C, -0x0D, -0x05, -0x06, -0x08, -0x17], + [-0x08, -0x07, -0x0F, -0x11, -0x14, -0x07, -0x0A, -0x0C, -0x11, -0x03, -0x02, -0x04, +0x0C, -0x07, -0x0B, -0x08, -0x07, -0x13, -0x11, -0x04, -0x10, -0x08, -0x09, -0x17], + [-0x0C, -0x0C, -0x0C, -0x15, -0x13, -0x13, -0x14, -0x0C, -0x09, -0x05, -0x05, -0x14, -0x07, +0x09, -0x0D, -0x09, -0x0C, -0x07, -0x01, -0x0C, -0x0E, -0x14, -0x0C, -0x17], + [-0x04, -0x07, -0x09, -0x0C, -0x0B, -0x06, -0x09, -0x0A, -0x07, -0x0C, -0x0A, -0x0A, -0x0B, -0x0D, +0x08, -0x04, -0x07, -0x14, -0x14, -0x09, -0x0A, -0x07, -0x08, -0x17], + [-0x03, -0x06, -0x02, -0x07, -0x06, -0x08, -0x07, -0x04, -0x09, -0x0A, -0x0C, -0x07, -0x08, -0x09, -0x04, +0x07, -0x02, -0x08, -0x0A, -0x0A, -0x04, -0x08, -0x06, -0x17], + [-0x03, -0x0A, -0x05, -0x08, -0x0B, -0x09, -0x09, -0x0A, -0x0B, -0x05, -0x0A, -0x06, -0x07, -0x0C, -0x07, -0x02, +0x08, -0x13, -0x09, -0x06, -0x06, -0x09, -0x07, -0x17], + [-0x14, -0x05, -0x0B, -0x15, -0x16, -0x13, -0x17, -0x15, -0x0A, -0x14, -0x09, -0x12, -0x13, -0x07, -0x14, -0x08, -0x13, +0x0D, -0x08, -0x16, -0x0D, -0x15, -0x10, -0x17], + [-0x0B, -0x0E, -0x07, -0x11, -0x07, -0x12, -0x0B, -0x14, -0x06, -0x09, -0x0A, -0x0C, -0x11, -0x01, -0x14, -0x0A, -0x09, -0x08, +0x0A, -0x0A, -0x09, -0x0D, -0x0B, -0x17], + [-0x05, -0x0B, -0x0C, -0x0B, -0x09, -0x0A, -0x0A, -0x09, -0x09, -0x01, -0x05, -0x0D, -0x04, -0x0C, -0x09, -0x0A, -0x06, -0x16, -0x0A, +0x08, -0x0B, -0x0A, -0x08, -0x17], + [-0x06, -0x0B, +0x07, +0x07, -0x12, -0x06, -0x01, -0x06, -0x04, -0x09, -0x0C, -0x05, -0x10, -0x0E, -0x0A, -0x04, -0x06, -0x0D, -0x09, -0x0B, +0x07, -0x03, -0x08, -0x17], + [-0x06, -0x07, -0x06, -0x01, -0x14, +0x07, +0x07, -0x08, -0x04, -0x09, -0x0A, -0x06, -0x08, -0x14, -0x07, -0x08, -0x09, -0x15, -0x0D, -0x0A, -0x03, +0x07, -0x08, -0x17], + [-0x06, -0x09, -0x06, -0x09, -0x0D, -0x08, -0x08, -0x08, -0x08, -0x08, -0x09, -0x08, -0x09, -0x0C, -0x08, -0x06, -0x07, -0x10, -0x0B, -0x08, -0x08, -0x08, -0x08, -0x17], + [-0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, -0x17, +0x01]] + +PAM20 = [[+0x06, -0x08, -0x05, -0x04, -0x08, -0x05, -0x03, -0x03, -0x08, -0x06, -0x07, -0x08, -0x06, -0x09, -0x02, -0x01, -0x01, -0x10, -0x09, -0x03, -0x05, -0x04, -0x04, -0x13], + [-0x08, +0x09, -0x07, -0x0C, -0x09, -0x02, -0x0B, -0x0B, -0x03, -0x06, -0x0A, -0x01, -0x05, -0x0A, -0x05, -0x04, -0x08, -0x03, -0x0B, -0x09, -0x09, -0x05, -0x07, -0x13], + [-0x05, -0x07, +0x08, +0x01, -0x0D, -0x05, -0x03, -0x04, -0x01, -0x06, -0x08, -0x02, -0x0B, -0x0A, -0x07, -0x01, -0x03, -0x09, -0x05, -0x09, +0x06, -0x04, -0x04, -0x13], + [-0x04, -0x0C, +0x01, +0x08, -0x10, -0x04, +0x02, -0x04, -0x05, -0x09, -0x0F, -0x06, -0x0D, -0x11, -0x09, -0x05, -0x06, -0x11, -0x0D, -0x09, +0x06, +0x00, -0x07, -0x13], + [-0x08, -0x09, -0x0D, -0x10, +0x0A, -0x10, -0x10, -0x0B, -0x08, -0x07, -0x11, -0x10, -0x10, -0x0F, -0x09, -0x04, -0x09, -0x12, -0x05, -0x07, -0x0E, -0x10, -0x0B, -0x13], + [-0x05, -0x02, -0x05, -0x04, -0x10, +0x09, +0x00, -0x08, +0x00, -0x09, -0x06, -0x04, -0x05, -0x0F, -0x04, -0x06, -0x07, -0x0F, -0x0E, -0x08, -0x04, +0x07, -0x06, -0x13], + [-0x03, -0x0B, -0x03, +0x02, -0x10, +0x00, +0x08, -0x05, -0x06, -0x06, -0x0A, -0x05, -0x08, -0x10, -0x07, -0x05, -0x07, -0x13, -0x09, -0x08, +0x00, +0x06, -0x06, -0x13], + [-0x03, -0x0B, -0x04, -0x04, -0x0B, -0x08, -0x05, +0x07, -0x0A, -0x0D, -0x0C, -0x08, -0x0A, -0x0A, -0x07, -0x03, -0x07, -0x11, -0x10, -0x07, -0x04, -0x06, -0x06, -0x13], + [-0x08, -0x03, -0x01, -0x05, -0x08, +0x00, -0x06, -0x0A, +0x09, -0x0B, -0x07, -0x08, -0x0D, -0x07, -0x05, -0x07, -0x08, -0x08, -0x04, -0x07, -0x02, -0x02, -0x06, -0x13], + [-0x06, -0x06, -0x06, -0x09, -0x07, -0x09, -0x06, -0x0D, -0x0B, +0x09, -0x02, -0x07, -0x02, -0x03, -0x0A, -0x08, -0x03, -0x10, -0x07, +0x01, -0x07, -0x07, -0x06, -0x13], + [-0x07, -0x0A, -0x08, -0x0F, -0x11, -0x06, -0x0A, -0x0C, -0x07, -0x02, +0x07, -0x09, +0x00, -0x04, -0x08, -0x09, -0x08, -0x07, -0x08, -0x03, -0x0A, -0x08, -0x07, -0x13], + [-0x08, -0x01, -0x02, -0x06, -0x10, -0x04, -0x05, -0x08, -0x08, -0x07, -0x09, +0x07, -0x03, -0x10, -0x08, -0x05, -0x04, -0x0E, -0x0A, -0x0A, -0x03, -0x05, -0x06, -0x13], + [-0x06, -0x05, -0x0B, -0x0D, -0x10, -0x05, -0x08, -0x0A, -0x0D, -0x02, +0x00, -0x03, +0x0B, -0x05, -0x09, -0x06, -0x05, -0x0F, -0x0D, -0x02, -0x0C, -0x06, -0x06, -0x13], + [-0x09, -0x0A, -0x0A, -0x11, -0x0F, -0x0F, -0x10, -0x0A, -0x07, -0x03, -0x04, -0x10, -0x05, +0x09, -0x0B, -0x07, -0x0A, -0x06, +0x01, -0x09, -0x0C, -0x10, -0x09, -0x13], + [-0x02, -0x05, -0x07, -0x09, -0x09, -0x04, -0x07, -0x07, -0x05, -0x0A, -0x08, -0x08, -0x09, -0x0B, +0x08, -0x03, -0x05, -0x10, -0x10, -0x07, -0x08, -0x05, -0x06, -0x13], + [-0x01, -0x04, -0x01, -0x05, -0x04, -0x06, -0x05, -0x03, -0x07, -0x08, -0x09, -0x05, -0x06, -0x07, -0x03, +0x07, +0x00, -0x06, -0x08, -0x08, -0x02, -0x06, -0x04, -0x13], + [-0x01, -0x08, -0x03, -0x06, -0x09, -0x07, -0x07, -0x07, -0x08, -0x03, -0x08, -0x04, -0x05, -0x0A, -0x05, +0x00, +0x07, -0x0F, -0x07, -0x04, -0x04, -0x07, -0x05, -0x13], + [-0x10, -0x03, -0x09, -0x11, -0x12, -0x0F, -0x13, -0x11, -0x08, -0x10, -0x07, -0x0E, -0x0F, -0x06, -0x10, -0x06, -0x0F, +0x0D, -0x06, -0x12, -0x0B, -0x11, -0x0D, -0x13], + [-0x09, -0x0B, -0x05, -0x0D, -0x05, -0x0E, -0x09, -0x10, -0x04, -0x07, -0x08, -0x0A, -0x0D, +0x01, -0x10, -0x08, -0x07, -0x06, +0x0A, -0x08, -0x07, -0x0B, -0x09, -0x13], + [-0x03, -0x09, -0x09, -0x09, -0x07, -0x08, -0x08, -0x07, -0x07, +0x01, -0x03, -0x0A, -0x02, -0x09, -0x07, -0x08, -0x04, -0x12, -0x08, +0x07, -0x09, -0x08, -0x06, -0x13], + [-0x05, -0x09, +0x06, +0x06, -0x0E, -0x04, +0x00, -0x04, -0x02, -0x07, -0x0A, -0x03, -0x0C, -0x0C, -0x08, -0x02, -0x04, -0x0B, -0x07, -0x09, +0x06, -0x01, -0x06, -0x13], + [-0x04, -0x05, -0x04, +0x00, -0x10, +0x07, +0x06, -0x06, -0x02, -0x07, -0x08, -0x05, -0x06, -0x10, -0x05, -0x06, -0x07, -0x11, -0x0B, -0x08, -0x01, +0x06, -0x06, -0x13], + [-0x04, -0x07, -0x04, -0x07, -0x0B, -0x06, -0x06, -0x06, -0x06, -0x06, -0x07, -0x06, -0x06, -0x09, -0x06, -0x04, -0x05, -0x0D, -0x09, -0x06, -0x06, -0x06, -0x06, -0x13], + [-0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, -0x13, +0x01]] + +PAM30 = [[+0x06, -0x07, -0x04, -0x03, -0x06, -0x04, -0x02, -0x02, -0x07, -0x05, -0x06, -0x07, -0x05, -0x08, -0x02, +0x00, -0x01, -0x0D, -0x08, -0x02, -0x03, -0x03, -0x03, -0x11], + [-0x07, +0x08, -0x06, -0x0A, -0x08, -0x02, -0x09, -0x09, -0x02, -0x05, -0x08, +0x00, -0x04, -0x09, -0x04, -0x03, -0x06, -0x02, -0x0A, -0x08, -0x07, -0x04, -0x06, -0x11], + [-0x04, -0x06, +0x08, +0x02, -0x0B, -0x03, -0x02, -0x03, +0x00, -0x05, -0x07, -0x01, -0x09, -0x09, -0x06, +0x00, -0x02, -0x08, -0x04, -0x08, +0x06, -0x03, -0x03, -0x11], + [-0x03, -0x0A, +0x02, +0x08, -0x0E, -0x02, +0x02, -0x03, -0x04, -0x07, -0x0C, -0x04, -0x0B, -0x0F, -0x08, -0x04, -0x05, -0x0F, -0x0B, -0x08, +0x06, +0x01, -0x05, -0x11], + [-0x06, -0x08, -0x0B, -0x0E, +0x0A, -0x0E, -0x0E, -0x09, -0x07, -0x06, -0x0F, -0x0E, -0x0D, -0x0D, -0x08, -0x03, -0x08, -0x0F, -0x04, -0x06, -0x0C, -0x0E, -0x09, -0x11], + [-0x04, -0x02, -0x03, -0x02, -0x0E, +0x08, +0x01, -0x07, +0x01, -0x08, -0x05, -0x03, -0x04, -0x0D, -0x03, -0x05, -0x05, -0x0D, -0x0C, -0x07, -0x03, +0x06, -0x05, -0x11], + [-0x02, -0x09, -0x02, +0x02, -0x0E, +0x01, +0x08, -0x04, -0x05, -0x05, -0x09, -0x04, -0x07, -0x0E, -0x05, -0x04, -0x06, -0x11, -0x08, -0x06, +0x01, +0x06, -0x05, -0x11], + [-0x02, -0x09, -0x03, -0x03, -0x09, -0x07, -0x04, +0x06, -0x09, -0x0B, -0x0A, -0x07, -0x08, -0x09, -0x06, -0x02, -0x06, -0x0F, -0x0E, -0x05, -0x03, -0x05, -0x05, -0x11], + [-0x07, -0x02, +0x00, -0x04, -0x07, +0x01, -0x05, -0x09, +0x09, -0x09, -0x06, -0x06, -0x0A, -0x06, -0x04, -0x06, -0x07, -0x07, -0x03, -0x06, -0x01, -0x01, -0x05, -0x11], + [-0x05, -0x05, -0x05, -0x07, -0x06, -0x08, -0x05, -0x0B, -0x09, +0x08, -0x01, -0x06, -0x01, -0x02, -0x08, -0x07, -0x02, -0x0E, -0x06, +0x02, -0x06, -0x06, -0x05, -0x11], + [-0x06, -0x08, -0x07, -0x0C, -0x0F, -0x05, -0x09, -0x0A, -0x06, -0x01, +0x07, -0x08, +0x01, -0x03, -0x07, -0x08, -0x07, -0x06, -0x07, -0x02, -0x09, -0x07, -0x06, -0x11], + [-0x07, +0x00, -0x01, -0x04, -0x0E, -0x03, -0x04, -0x07, -0x06, -0x06, -0x08, +0x07, -0x02, -0x0E, -0x06, -0x04, -0x03, -0x0C, -0x09, -0x09, -0x02, -0x04, -0x05, -0x11], + [-0x05, -0x04, -0x09, -0x0B, -0x0D, -0x04, -0x07, -0x08, -0x0A, -0x01, +0x01, -0x02, +0x0B, -0x04, -0x08, -0x05, -0x04, -0x0D, -0x0B, -0x01, -0x0A, -0x05, -0x05, -0x11], + [-0x08, -0x09, -0x09, -0x0F, -0x0D, -0x0D, -0x0E, -0x09, -0x06, -0x02, -0x03, -0x0E, -0x04, +0x09, -0x0A, -0x06, -0x09, -0x04, +0x02, -0x08, -0x0A, -0x0D, -0x08, -0x11], + [-0x02, -0x04, -0x06, -0x08, -0x08, -0x03, -0x05, -0x06, -0x04, -0x08, -0x07, -0x06, -0x08, -0x0A, +0x08, -0x02, -0x04, -0x0E, -0x0D, -0x06, -0x07, -0x04, -0x05, -0x11], + [+0x00, -0x03, +0x00, -0x04, -0x03, -0x05, -0x04, -0x02, -0x06, -0x07, -0x08, -0x04, -0x05, -0x06, -0x02, +0x06, +0x00, -0x05, -0x07, -0x06, -0x01, -0x05, -0x03, -0x11], + [-0x01, -0x06, -0x02, -0x05, -0x08, -0x05, -0x06, -0x06, -0x07, -0x02, -0x07, -0x03, -0x04, -0x09, -0x04, +0x00, +0x07, -0x0D, -0x06, -0x03, -0x03, -0x06, -0x04, -0x11], + [-0x0D, -0x02, -0x08, -0x0F, -0x0F, -0x0D, -0x11, -0x0F, -0x07, -0x0E, -0x06, -0x0C, -0x0D, -0x04, -0x0E, -0x05, -0x0D, +0x0D, -0x05, -0x0F, -0x0A, -0x0E, -0x0B, -0x11], + [-0x08, -0x0A, -0x04, -0x0B, -0x04, -0x0C, -0x08, -0x0E, -0x03, -0x06, -0x07, -0x09, -0x0B, +0x02, -0x0D, -0x07, -0x06, -0x05, +0x0A, -0x07, -0x06, -0x09, -0x07, -0x11], + [-0x02, -0x08, -0x08, -0x08, -0x06, -0x07, -0x06, -0x05, -0x06, +0x02, -0x02, -0x09, -0x01, -0x08, -0x06, -0x06, -0x03, -0x0F, -0x07, +0x07, -0x08, -0x06, -0x05, -0x11], + [-0x03, -0x07, +0x06, +0x06, -0x0C, -0x03, +0x01, -0x03, -0x01, -0x06, -0x09, -0x02, -0x0A, -0x0A, -0x07, -0x01, -0x03, -0x0A, -0x06, -0x08, +0x06, +0x00, -0x05, -0x11], + [-0x03, -0x04, -0x03, +0x01, -0x0E, +0x06, +0x06, -0x05, -0x01, -0x06, -0x07, -0x04, -0x05, -0x0D, -0x04, -0x05, -0x06, -0x0E, -0x09, -0x06, +0x00, +0x06, -0x05, -0x11], + [-0x03, -0x06, -0x03, -0x05, -0x09, -0x05, -0x05, -0x05, -0x05, -0x05, -0x06, -0x05, -0x05, -0x08, -0x05, -0x03, -0x04, -0x0B, -0x07, -0x05, -0x05, -0x05, -0x05, -0x11], + [-0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, -0x11, +0x01]] + +PAM40 = [[+0x06, -0x06, -0x03, -0x03, -0x06, -0x03, -0x02, -0x01, -0x06, -0x04, -0x05, -0x06, -0x04, -0x07, -0x01, +0x00, +0x00, -0x0C, -0x07, -0x02, -0x03, -0x02, -0x03, -0x0F], + [-0x06, +0x08, -0x05, -0x09, -0x07, -0x01, -0x08, -0x08, -0x01, -0x05, -0x08, +0x01, -0x03, -0x08, -0x03, -0x02, -0x05, -0x01, -0x09, -0x07, -0x06, -0x03, -0x05, -0x0F], + [-0x03, -0x05, +0x07, +0x02, -0x09, -0x03, -0x01, -0x02, +0x01, -0x04, -0x06, +0x00, -0x07, -0x08, -0x05, +0x00, -0x01, -0x07, -0x04, -0x07, +0x06, -0x02, -0x03, -0x0F], + [-0x03, -0x09, +0x02, +0x07, -0x0C, -0x02, +0x03, -0x03, -0x03, -0x06, -0x0B, -0x04, -0x09, -0x0D, -0x07, -0x03, -0x04, -0x0D, -0x0A, -0x07, +0x06, +0x02, -0x05, -0x0F], + [-0x06, -0x07, -0x09, -0x0C, +0x09, -0x0C, -0x0C, -0x08, -0x07, -0x05, -0x0D, -0x0C, -0x0C, -0x0B, -0x07, -0x02, -0x07, -0x0E, -0x03, -0x05, -0x0B, -0x0C, -0x08, -0x0F], + [-0x03, -0x01, -0x03, -0x02, -0x0C, +0x08, +0x02, -0x06, +0x01, -0x07, -0x04, -0x02, -0x03, -0x0B, -0x02, -0x04, -0x05, -0x0B, -0x0A, -0x06, -0x02, +0x06, -0x04, -0x0F], + [-0x02, -0x08, -0x01, +0x03, -0x0C, +0x02, +0x07, -0x03, -0x04, -0x05, -0x08, -0x04, -0x06, -0x0C, -0x05, -0x04, -0x05, -0x0F, -0x08, -0x06, +0x02, +0x06, -0x04, -0x0F], + [-0x01, -0x08, -0x02, -0x03, -0x08, -0x06, -0x03, +0x06, -0x08, -0x09, -0x09, -0x06, -0x07, -0x08, -0x05, -0x01, -0x05, -0x0D, -0x0C, -0x05, -0x02, -0x04, -0x04, -0x0F], + [-0x06, -0x01, +0x01, -0x03, -0x07, +0x01, -0x04, -0x08, +0x09, -0x08, -0x05, -0x05, -0x09, -0x05, -0x03, -0x05, -0x06, -0x06, -0x03, -0x06, -0x01, +0x00, -0x04, -0x0F], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x07, -0x05, -0x09, -0x08, +0x08, -0x01, -0x05, +0x00, -0x02, -0x07, -0x06, -0x02, -0x0C, -0x05, +0x02, -0x05, -0x05, -0x04, -0x0F], + [-0x05, -0x08, -0x06, -0x0B, -0x0D, -0x04, -0x08, -0x09, -0x05, -0x01, +0x07, -0x07, +0x01, -0x02, -0x06, -0x07, -0x06, -0x05, -0x06, -0x02, -0x08, -0x06, -0x05, -0x0F], + [-0x06, +0x01, +0x00, -0x04, -0x0C, -0x02, -0x04, -0x06, -0x05, -0x05, -0x07, +0x06, -0x01, -0x0C, -0x06, -0x03, -0x02, -0x0A, -0x08, -0x08, -0x02, -0x03, -0x04, -0x0F], + [-0x04, -0x03, -0x07, -0x09, -0x0C, -0x03, -0x06, -0x07, -0x09, +0x00, +0x01, -0x01, +0x0B, -0x03, -0x07, -0x05, -0x03, -0x0B, -0x0A, -0x01, -0x08, -0x04, -0x04, -0x0F], + [-0x07, -0x08, -0x08, -0x0D, -0x0B, -0x0B, -0x0C, -0x08, -0x05, -0x02, -0x02, -0x0C, -0x03, +0x09, -0x09, -0x06, -0x08, -0x04, +0x02, -0x07, -0x09, -0x0C, -0x07, -0x0F], + [-0x01, -0x03, -0x05, -0x07, -0x07, -0x02, -0x05, -0x05, -0x03, -0x07, -0x06, -0x06, -0x07, -0x09, +0x08, -0x01, -0x03, -0x0C, -0x0C, -0x05, -0x06, -0x03, -0x04, -0x0F], + [+0x00, -0x02, +0x00, -0x03, -0x02, -0x04, -0x04, -0x01, -0x05, -0x06, -0x07, -0x03, -0x05, -0x06, -0x01, +0x06, +0x01, -0x04, -0x06, -0x05, -0x01, -0x04, -0x02, -0x0F], + [+0x00, -0x05, -0x01, -0x04, -0x07, -0x05, -0x05, -0x05, -0x06, -0x02, -0x06, -0x02, -0x03, -0x08, -0x03, +0x01, +0x07, -0x0B, -0x06, -0x02, -0x02, -0x05, -0x03, -0x0F], + [-0x0C, -0x01, -0x07, -0x0D, -0x0E, -0x0B, -0x0F, -0x0D, -0x06, -0x0C, -0x05, -0x0A, -0x0B, -0x04, -0x0C, -0x04, -0x0B, +0x0D, -0x04, -0x0E, -0x09, -0x0D, -0x09, -0x0F], + [-0x07, -0x09, -0x04, -0x0A, -0x03, -0x0A, -0x08, -0x0C, -0x03, -0x05, -0x06, -0x08, -0x0A, +0x02, -0x0C, -0x06, -0x06, -0x04, +0x0A, -0x06, -0x06, -0x08, -0x07, -0x0F], + [-0x02, -0x07, -0x07, -0x07, -0x05, -0x06, -0x06, -0x05, -0x06, +0x02, -0x02, -0x08, -0x01, -0x07, -0x05, -0x05, -0x02, -0x0E, -0x06, +0x07, -0x07, -0x06, -0x04, -0x0F], + [-0x03, -0x06, +0x06, +0x06, -0x0B, -0x02, +0x02, -0x02, -0x01, -0x05, -0x08, -0x02, -0x08, -0x09, -0x06, -0x01, -0x02, -0x09, -0x06, -0x07, +0x06, +0x01, -0x04, -0x0F], + [-0x02, -0x03, -0x02, +0x02, -0x0C, +0x06, +0x06, -0x04, +0x00, -0x05, -0x06, -0x03, -0x04, -0x0C, -0x03, -0x04, -0x05, -0x0D, -0x08, -0x06, +0x01, +0x06, -0x04, -0x0F], + [-0x03, -0x05, -0x03, -0x05, -0x08, -0x04, -0x04, -0x04, -0x04, -0x04, -0x05, -0x04, -0x04, -0x07, -0x04, -0x02, -0x03, -0x09, -0x07, -0x04, -0x04, -0x04, -0x04, -0x0F], + [-0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, -0x0F, +0x01]] + +PAM50 = [[+0x05, -0x05, -0x02, -0x02, -0x05, -0x03, -0x01, -0x01, -0x05, -0x03, -0x05, -0x05, -0x04, -0x07, +0x00, +0x00, +0x00, -0x0B, -0x06, -0x01, -0x02, -0x02, -0x02, -0x0D], + [-0x05, +0x08, -0x04, -0x07, -0x06, +0x00, -0x07, -0x07, +0x00, -0x04, -0x07, +0x01, -0x03, -0x08, -0x03, -0x02, -0x05, -0x01, -0x08, -0x06, -0x05, -0x02, -0x04, -0x0D], + [-0x02, -0x04, +0x07, +0x02, -0x08, -0x02, -0x01, -0x02, +0x01, -0x04, -0x06, +0x00, -0x06, -0x07, -0x04, +0x01, -0x01, -0x07, -0x03, -0x06, +0x05, -0x01, -0x02, -0x0D], + [-0x02, -0x07, +0x02, +0x07, -0x0B, -0x01, +0x03, -0x02, -0x02, -0x06, -0x0A, -0x03, -0x08, -0x0C, -0x06, -0x02, -0x03, -0x0C, -0x09, -0x06, +0x06, +0x02, -0x04, -0x0D], + [-0x05, -0x06, -0x08, -0x0B, +0x09, -0x0B, -0x0B, -0x07, -0x06, -0x05, -0x0C, -0x0B, -0x0B, -0x0A, -0x06, -0x02, -0x06, -0x0D, -0x03, -0x05, -0x09, -0x0B, -0x07, -0x0D], + [-0x03, +0x00, -0x02, -0x01, -0x0B, +0x08, +0x02, -0x05, +0x02, -0x06, -0x04, -0x02, -0x03, -0x0A, -0x02, -0x04, -0x04, -0x0A, -0x09, -0x05, -0x02, +0x06, -0x03, -0x0D], + [-0x01, -0x07, -0x01, +0x03, -0x0B, +0x02, +0x07, -0x03, -0x03, -0x04, -0x07, -0x03, -0x05, -0x0B, -0x04, -0x03, -0x04, -0x0D, -0x07, -0x05, +0x02, +0x06, -0x03, -0x0D], + [-0x01, -0x07, -0x02, -0x02, -0x07, -0x05, -0x03, +0x06, -0x07, -0x08, -0x09, -0x06, -0x07, -0x08, -0x04, -0x01, -0x04, -0x0C, -0x0B, -0x04, -0x02, -0x04, -0x04, -0x0D], + [-0x05, +0x00, +0x01, -0x02, -0x06, +0x02, -0x03, -0x07, +0x09, -0x07, -0x05, -0x04, -0x08, -0x05, -0x03, -0x04, -0x05, -0x06, -0x02, -0x05, +0x00, +0x00, -0x04, -0x0D], + [-0x03, -0x04, -0x04, -0x06, -0x05, -0x06, -0x04, -0x08, -0x07, +0x08, +0x00, -0x05, +0x00, -0x01, -0x07, -0x05, -0x01, -0x0B, -0x05, +0x03, -0x05, -0x05, -0x03, -0x0D], + [-0x05, -0x07, -0x06, -0x0A, -0x0C, -0x04, -0x07, -0x09, -0x05, +0x00, +0x06, -0x06, +0x02, -0x01, -0x06, -0x07, -0x05, -0x05, -0x05, -0x01, -0x07, -0x05, -0x05, -0x0D], + [-0x05, +0x01, +0x00, -0x03, -0x0B, -0x02, -0x03, -0x06, -0x04, -0x05, -0x06, +0x06, -0x01, -0x0B, -0x05, -0x03, -0x02, -0x09, -0x08, -0x07, -0x01, -0x02, -0x04, -0x0D], + [-0x04, -0x03, -0x06, -0x08, -0x0B, -0x03, -0x05, -0x07, -0x08, +0x00, +0x02, -0x01, +0x0A, -0x03, -0x06, -0x04, -0x03, -0x0A, -0x08, +0x00, -0x07, -0x04, -0x04, -0x0D], + [-0x07, -0x08, -0x07, -0x0C, -0x0A, -0x0A, -0x0B, -0x08, -0x05, -0x01, -0x01, -0x0B, -0x03, +0x09, -0x08, -0x05, -0x07, -0x03, +0x03, -0x06, -0x09, -0x0B, -0x06, -0x0D], + [+0x00, -0x03, -0x04, -0x06, -0x06, -0x02, -0x04, -0x04, -0x03, -0x07, -0x06, -0x05, -0x06, -0x08, +0x08, -0x01, -0x03, -0x0B, -0x0B, -0x04, -0x05, -0x03, -0x04, -0x0D], + [+0x00, -0x02, +0x01, -0x02, -0x02, -0x04, -0x03, -0x01, -0x04, -0x05, -0x07, -0x03, -0x04, -0x05, -0x01, +0x06, +0x01, -0x04, -0x05, -0x04, -0x01, -0x03, -0x02, -0x0D], + [+0x00, -0x05, -0x01, -0x03, -0x06, -0x04, -0x04, -0x04, -0x05, -0x01, -0x05, -0x02, -0x03, -0x07, -0x03, +0x01, +0x06, -0x0A, -0x05, -0x02, -0x02, -0x04, -0x02, -0x0D], + [-0x0B, -0x01, -0x07, -0x0C, -0x0D, -0x0A, -0x0D, -0x0C, -0x06, -0x0B, -0x05, -0x09, -0x0A, -0x03, -0x0B, -0x04, -0x0A, +0x0D, -0x04, -0x0C, -0x08, -0x0B, -0x09, -0x0D], + [-0x06, -0x08, -0x03, -0x09, -0x03, -0x09, -0x07, -0x0B, -0x02, -0x05, -0x05, -0x08, -0x08, +0x03, -0x0B, -0x05, -0x05, -0x04, +0x09, -0x06, -0x05, -0x08, -0x06, -0x0D], + [-0x01, -0x06, -0x06, -0x06, -0x05, -0x05, -0x05, -0x04, -0x05, +0x03, -0x01, -0x07, +0x00, -0x06, -0x04, -0x04, -0x02, -0x0C, -0x06, +0x07, -0x06, -0x05, -0x03, -0x0D], + [-0x02, -0x05, +0x05, +0x06, -0x09, -0x02, +0x02, -0x02, +0x00, -0x05, -0x07, -0x01, -0x07, -0x09, -0x05, -0x01, -0x02, -0x08, -0x05, -0x06, +0x05, +0x01, -0x03, -0x0D], + [-0x02, -0x02, -0x01, +0x02, -0x0B, +0x06, +0x06, -0x04, +0x00, -0x05, -0x05, -0x02, -0x04, -0x0B, -0x03, -0x03, -0x04, -0x0B, -0x08, -0x05, +0x01, +0x06, -0x03, -0x0D], + [-0x02, -0x04, -0x02, -0x04, -0x07, -0x03, -0x03, -0x04, -0x04, -0x03, -0x05, -0x04, -0x04, -0x06, -0x04, -0x02, -0x02, -0x09, -0x06, -0x03, -0x03, -0x03, -0x04, -0x0D], + [-0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, -0x0D, +0x01]] + +PAM60 = [[+0x05, -0x05, -0x02, -0x02, -0x05, -0x03, -0x01, +0x00, -0x05, -0x03, -0x04, -0x05, -0x03, -0x06, +0x00, +0x01, +0x01, -0x0A, -0x06, -0x01, -0x02, -0x02, -0x02, -0x0C], + [-0x05, +0x08, -0x03, -0x06, -0x06, +0x00, -0x06, -0x07, +0x00, -0x04, -0x06, +0x02, -0x02, -0x07, -0x02, -0x02, -0x04, +0x00, -0x08, -0x05, -0x05, -0x02, -0x04, -0x0C], + [-0x02, -0x03, +0x06, +0x02, -0x07, -0x02, +0x00, -0x01, +0x01, -0x04, -0x05, +0x00, -0x06, -0x06, -0x04, +0x01, -0x01, -0x06, -0x03, -0x05, +0x05, -0x01, -0x02, -0x0C], + [-0x02, -0x06, +0x02, +0x07, -0x0A, -0x01, +0x03, -0x02, -0x02, -0x05, -0x09, -0x02, -0x07, -0x0B, -0x05, -0x02, -0x03, -0x0B, -0x08, -0x06, +0x05, +0x02, -0x03, -0x0C], + [-0x05, -0x06, -0x07, -0x0A, +0x09, -0x0A, -0x0A, -0x07, -0x06, -0x04, -0x0B, -0x0A, -0x0A, -0x09, -0x06, -0x01, -0x05, -0x0C, -0x02, -0x04, -0x09, -0x0A, -0x06, -0x0C], + [-0x03, +0x00, -0x02, -0x01, -0x0A, +0x07, +0x02, -0x05, +0x02, -0x05, -0x03, -0x01, -0x02, -0x09, -0x01, -0x03, -0x04, -0x09, -0x08, -0x05, -0x01, +0x06, -0x03, -0x0C], + [-0x01, -0x06, +0x00, +0x03, -0x0A, +0x02, +0x07, -0x02, -0x03, -0x04, -0x07, -0x03, -0x05, -0x0A, -0x03, -0x02, -0x04, -0x0C, -0x07, -0x04, +0x02, +0x05, -0x03, -0x0C], + [+0x00, -0x07, -0x01, -0x02, -0x07, -0x05, -0x02, +0x06, -0x06, -0x07, -0x08, -0x05, -0x06, -0x07, -0x04, +0x00, -0x03, -0x0B, -0x0A, -0x04, -0x02, -0x03, -0x03, -0x0C], + [-0x05, +0x00, +0x01, -0x02, -0x06, +0x02, -0x03, -0x06, +0x08, -0x06, -0x04, -0x04, -0x07, -0x04, -0x02, -0x04, -0x05, -0x05, -0x02, -0x05, +0x00, +0x00, -0x03, -0x0C], + [-0x03, -0x04, -0x04, -0x05, -0x04, -0x05, -0x04, -0x07, -0x06, +0x07, +0x00, -0x04, +0x01, -0x01, -0x06, -0x04, -0x01, -0x0A, -0x04, +0x03, -0x04, -0x04, -0x03, -0x0C], + [-0x04, -0x06, -0x05, -0x09, -0x0B, -0x03, -0x07, -0x08, -0x04, +0x00, +0x06, -0x06, +0x02, -0x01, -0x05, -0x06, -0x05, -0x04, -0x05, -0x01, -0x07, -0x05, -0x04, -0x0C], + [-0x05, +0x02, +0x00, -0x02, -0x0A, -0x01, -0x03, -0x05, -0x04, -0x04, -0x06, +0x06, +0x00, -0x0A, -0x04, -0x02, -0x02, -0x08, -0x07, -0x06, -0x01, -0x02, -0x03, -0x0C], + [-0x03, -0x02, -0x06, -0x07, -0x0A, -0x02, -0x05, -0x06, -0x07, +0x01, +0x02, +0x00, +0x0A, -0x02, -0x06, -0x04, -0x02, -0x09, -0x07, +0x00, -0x06, -0x04, -0x03, -0x0C], + [-0x06, -0x07, -0x06, -0x0B, -0x09, -0x09, -0x0A, -0x07, -0x04, -0x01, -0x01, -0x0A, -0x02, +0x08, -0x07, -0x05, -0x06, -0x03, +0x03, -0x05, -0x08, -0x0A, -0x05, -0x0C], + [+0x00, -0x02, -0x04, -0x05, -0x06, -0x01, -0x03, -0x04, -0x02, -0x06, -0x05, -0x04, -0x06, -0x07, +0x07, +0x00, -0x02, -0x0A, -0x0A, -0x04, -0x04, -0x02, -0x03, -0x0C], + [+0x01, -0x02, +0x01, -0x02, -0x01, -0x03, -0x02, +0x00, -0x04, -0x04, -0x06, -0x02, -0x04, -0x05, +0x00, +0x05, +0x01, -0x04, -0x05, -0x04, +0x00, -0x03, -0x02, -0x0C], + [+0x01, -0x04, -0x01, -0x03, -0x05, -0x04, -0x04, -0x03, -0x05, -0x01, -0x05, -0x02, -0x02, -0x06, -0x02, +0x01, +0x06, -0x09, -0x05, -0x01, -0x02, -0x04, -0x02, -0x0C], + [-0x0A, +0x00, -0x06, -0x0B, -0x0C, -0x09, -0x0C, -0x0B, -0x05, -0x0A, -0x04, -0x08, -0x09, -0x03, -0x0A, -0x04, -0x09, +0x0D, -0x03, -0x0B, -0x08, -0x0B, -0x08, -0x0C], + [-0x06, -0x08, -0x03, -0x08, -0x02, -0x08, -0x07, -0x0A, -0x02, -0x04, -0x05, -0x07, -0x07, +0x03, -0x0A, -0x05, -0x05, -0x03, +0x09, -0x05, -0x05, -0x07, -0x05, -0x0C], + [-0x01, -0x05, -0x05, -0x06, -0x04, -0x05, -0x04, -0x04, -0x05, +0x03, -0x01, -0x06, +0x00, -0x05, -0x04, -0x04, -0x01, -0x0B, -0x05, +0x06, -0x05, -0x05, -0x03, -0x0C], + [-0x02, -0x05, +0x05, +0x05, -0x09, -0x01, +0x02, -0x02, +0x00, -0x04, -0x07, -0x01, -0x06, -0x08, -0x04, +0x00, -0x02, -0x08, -0x05, -0x05, +0x05, +0x01, -0x03, -0x0C], + [-0x02, -0x02, -0x01, +0x02, -0x0A, +0x06, +0x05, -0x03, +0x00, -0x04, -0x05, -0x02, -0x04, -0x0A, -0x02, -0x03, -0x04, -0x0B, -0x07, -0x05, +0x01, +0x05, -0x03, -0x0C], + [-0x02, -0x04, -0x02, -0x03, -0x06, -0x03, -0x03, -0x03, -0x03, -0x03, -0x04, -0x03, -0x03, -0x05, -0x03, -0x02, -0x02, -0x08, -0x05, -0x03, -0x03, -0x03, -0x03, -0x0C], + [-0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, -0x0C, +0x01]] + +PAM70 = [[+0x05, -0x04, -0x02, -0x01, -0x04, -0x02, -0x01, +0x00, -0x04, -0x02, -0x04, -0x04, -0x03, -0x06, +0x00, +0x01, +0x01, -0x09, -0x05, -0x01, -0x01, -0x01, -0x02, -0x0B], + [-0x04, +0x08, -0x03, -0x06, -0x05, +0x00, -0x05, -0x06, +0x00, -0x03, -0x06, +0x02, -0x02, -0x07, -0x02, -0x01, -0x04, +0x00, -0x07, -0x05, -0x04, -0x02, -0x03, -0x0B], + [-0x02, -0x03, +0x06, +0x03, -0x07, -0x01, +0x00, -0x01, +0x01, -0x03, -0x05, +0x00, -0x05, -0x06, -0x03, +0x01, +0x00, -0x06, -0x03, -0x05, +0x05, -0x01, -0x02, -0x0B], + [-0x01, -0x06, +0x03, +0x06, -0x09, +0x00, +0x03, -0x01, -0x01, -0x05, -0x08, -0x02, -0x07, -0x0A, -0x04, -0x01, -0x02, -0x0A, -0x07, -0x05, +0x05, +0x02, -0x03, -0x0B], + [-0x04, -0x05, -0x07, -0x09, +0x09, -0x09, -0x09, -0x06, -0x05, -0x04, -0x0A, -0x09, -0x09, -0x08, -0x05, -0x01, -0x05, -0x0B, -0x02, -0x04, -0x08, -0x09, -0x06, -0x0B], + [-0x02, +0x00, -0x01, +0x00, -0x09, +0x07, +0x02, -0x04, +0x02, -0x05, -0x03, -0x01, -0x02, -0x09, -0x01, -0x03, -0x03, -0x08, -0x08, -0x04, -0x01, +0x05, -0x02, -0x0B], + [-0x01, -0x05, +0x00, +0x03, -0x09, +0x02, +0x06, -0x02, -0x02, -0x04, -0x06, -0x02, -0x04, -0x09, -0x03, -0x02, -0x03, -0x0B, -0x06, -0x04, +0x02, +0x05, -0x03, -0x0B], + [+0x00, -0x06, -0x01, -0x01, -0x06, -0x04, -0x02, +0x06, -0x06, -0x06, -0x07, -0x05, -0x06, -0x07, -0x03, +0x00, -0x03, -0x0A, -0x09, -0x03, -0x01, -0x03, -0x03, -0x0B], + [-0x04, +0x00, +0x01, -0x01, -0x05, +0x02, -0x02, -0x06, +0x08, -0x06, -0x04, -0x03, -0x06, -0x04, -0x02, -0x03, -0x04, -0x05, -0x01, -0x04, +0x00, +0x01, -0x03, -0x0B], + [-0x02, -0x03, -0x03, -0x05, -0x04, -0x05, -0x04, -0x06, -0x06, +0x07, +0x01, -0x04, +0x01, +0x00, -0x05, -0x04, -0x01, -0x09, -0x04, +0x03, -0x04, -0x04, -0x03, -0x0B], + [-0x04, -0x06, -0x05, -0x08, -0x0A, -0x03, -0x06, -0x07, -0x04, +0x01, +0x06, -0x05, +0x02, -0x01, -0x05, -0x06, -0x04, -0x04, -0x04, +0x00, -0x06, -0x04, -0x04, -0x0B], + [-0x04, +0x02, +0x00, -0x02, -0x09, -0x01, -0x02, -0x05, -0x03, -0x04, -0x05, +0x06, +0x00, -0x09, -0x04, -0x02, -0x01, -0x07, -0x07, -0x06, -0x01, -0x02, -0x03, -0x0B], + [-0x03, -0x02, -0x05, -0x07, -0x09, -0x02, -0x04, -0x06, -0x06, +0x01, +0x02, +0x00, +0x0A, -0x02, -0x05, -0x03, -0x02, -0x08, -0x07, +0x00, -0x06, -0x03, -0x03, -0x0B], + [-0x06, -0x07, -0x06, -0x0A, -0x08, -0x09, -0x09, -0x07, -0x04, +0x00, -0x01, -0x09, -0x02, +0x08, -0x07, -0x04, -0x06, -0x02, +0x04, -0x05, -0x07, -0x09, -0x05, -0x0B], + [+0x00, -0x02, -0x03, -0x04, -0x05, -0x01, -0x03, -0x03, -0x02, -0x05, -0x05, -0x04, -0x05, -0x07, +0x07, +0x00, -0x02, -0x09, -0x09, -0x03, -0x04, -0x02, -0x03, -0x0B], + [+0x01, -0x01, +0x01, -0x01, -0x01, -0x03, -0x02, +0x00, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, +0x00, +0x05, +0x02, -0x03, -0x05, -0x03, +0x00, -0x02, -0x01, -0x0B], + [+0x01, -0x04, +0x00, -0x02, -0x05, -0x03, -0x03, -0x03, -0x04, -0x01, -0x04, -0x01, -0x02, -0x06, -0x02, +0x02, +0x06, -0x08, -0x04, -0x01, -0x01, -0x03, -0x02, -0x0B], + [-0x09, +0x00, -0x06, -0x0A, -0x0B, -0x08, -0x0B, -0x0A, -0x05, -0x09, -0x04, -0x07, -0x08, -0x02, -0x09, -0x03, -0x08, +0x0D, -0x03, -0x0A, -0x07, -0x0A, -0x07, -0x0B], + [-0x05, -0x07, -0x03, -0x07, -0x02, -0x08, -0x06, -0x09, -0x01, -0x04, -0x04, -0x07, -0x07, +0x04, -0x09, -0x05, -0x04, -0x03, +0x09, -0x05, -0x04, -0x07, -0x05, -0x0B], + [-0x01, -0x05, -0x05, -0x05, -0x04, -0x04, -0x04, -0x03, -0x04, +0x03, +0x00, -0x06, +0x00, -0x05, -0x03, -0x03, -0x01, -0x0A, -0x05, +0x06, -0x05, -0x04, -0x02, -0x0B], + [-0x01, -0x04, +0x05, +0x05, -0x08, -0x01, +0x02, -0x01, +0x00, -0x04, -0x06, -0x01, -0x06, -0x07, -0x04, +0x00, -0x01, -0x07, -0x04, -0x05, +0x05, +0x01, -0x02, -0x0B], + [-0x01, -0x02, -0x01, +0x02, -0x09, +0x05, +0x05, -0x03, +0x01, -0x04, -0x04, -0x02, -0x03, -0x09, -0x02, -0x02, -0x03, -0x0A, -0x07, -0x04, +0x01, +0x05, -0x03, -0x0B], + [-0x02, -0x03, -0x02, -0x03, -0x06, -0x02, -0x03, -0x03, -0x03, -0x03, -0x04, -0x03, -0x03, -0x05, -0x03, -0x01, -0x02, -0x07, -0x05, -0x02, -0x02, -0x03, -0x03, -0x0B], + [-0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, +0x01]] + +PAM80 = [[+0x04, -0x04, -0x01, -0x01, -0x04, -0x02, -0x01, +0x00, -0x04, -0x02, -0x04, -0x04, -0x03, -0x05, +0x00, +0x01, +0x01, -0x08, -0x05, +0x00, -0x01, -0x01, -0x01, -0x0B], + [-0x04, +0x07, -0x02, -0x05, -0x05, +0x00, -0x04, -0x06, +0x00, -0x03, -0x05, +0x02, -0x02, -0x06, -0x02, -0x01, -0x03, +0x00, -0x07, -0x05, -0x03, -0x01, -0x03, -0x0B], + [-0x01, -0x02, +0x05, +0x03, -0x06, -0x01, +0x00, -0x01, +0x02, -0x03, -0x05, +0x00, -0x04, -0x05, -0x03, +0x01, +0x00, -0x05, -0x03, -0x04, +0x04, +0x00, -0x01, -0x0B], + [-0x01, -0x05, +0x03, +0x06, -0x09, +0x00, +0x04, -0x01, -0x01, -0x04, -0x07, -0x02, -0x06, -0x09, -0x04, -0x01, -0x02, -0x0A, -0x07, -0x05, +0x05, +0x02, -0x03, -0x0B], + [-0x04, -0x05, -0x06, -0x09, +0x09, -0x09, -0x09, -0x06, -0x05, -0x04, -0x09, -0x09, -0x08, -0x08, -0x05, -0x01, -0x04, -0x0A, -0x02, -0x03, -0x07, -0x09, -0x05, -0x0B], + [-0x02, +0x00, -0x01, +0x00, -0x09, +0x07, +0x02, -0x04, +0x02, -0x04, -0x03, -0x01, -0x02, -0x08, -0x01, -0x03, -0x03, -0x08, -0x07, -0x04, +0x00, +0x05, -0x02, -0x0B], + [-0x01, -0x04, +0x00, +0x04, -0x09, +0x02, +0x06, -0x02, -0x02, -0x03, -0x06, -0x02, -0x04, -0x09, -0x03, -0x02, -0x03, -0x0B, -0x06, -0x04, +0x02, +0x05, -0x02, -0x0B], + [+0x00, -0x06, -0x01, -0x01, -0x06, -0x04, -0x02, +0x06, -0x05, -0x06, -0x07, -0x04, -0x05, -0x06, -0x03, +0x00, -0x02, -0x0A, -0x08, -0x03, -0x01, -0x02, -0x03, -0x0B], + [-0x04, +0x00, +0x02, -0x01, -0x05, +0x02, -0x02, -0x05, +0x08, -0x05, -0x04, -0x03, -0x05, -0x03, -0x02, -0x03, -0x04, -0x04, -0x01, -0x04, +0x00, +0x01, -0x02, -0x0B], + [-0x02, -0x03, -0x03, -0x04, -0x04, -0x04, -0x03, -0x06, -0x05, +0x07, +0x01, -0x04, +0x01, +0x00, -0x05, -0x04, -0x01, -0x08, -0x03, +0x03, -0x04, -0x04, -0x02, -0x0B], + [-0x04, -0x05, -0x05, -0x07, -0x09, -0x03, -0x06, -0x07, -0x04, +0x01, +0x06, -0x05, +0x02, +0x00, -0x04, -0x05, -0x04, -0x03, -0x04, +0x00, -0x06, -0x04, -0x03, -0x0B], + [-0x04, +0x02, +0x00, -0x02, -0x09, -0x01, -0x02, -0x04, -0x03, -0x04, -0x05, +0x06, +0x00, -0x09, -0x04, -0x02, -0x01, -0x07, -0x06, -0x05, -0x01, -0x01, -0x03, -0x0B], + [-0x03, -0x02, -0x04, -0x06, -0x08, -0x02, -0x04, -0x05, -0x05, +0x01, +0x02, +0x00, +0x09, -0x02, -0x05, -0x03, -0x02, -0x07, -0x06, +0x01, -0x05, -0x03, -0x02, -0x0B], + [-0x05, -0x06, -0x05, -0x09, -0x08, -0x08, -0x09, -0x06, -0x03, +0x00, +0x00, -0x09, -0x02, +0x08, -0x07, -0x04, -0x05, -0x02, +0x04, -0x04, -0x07, -0x08, -0x05, -0x0B], + [+0x00, -0x02, -0x03, -0x04, -0x05, -0x01, -0x03, -0x03, -0x02, -0x05, -0x04, -0x04, -0x05, -0x07, +0x07, +0x00, -0x02, -0x09, -0x08, -0x03, -0x03, -0x02, -0x02, -0x0B], + [+0x01, -0x01, +0x01, -0x01, -0x01, -0x03, -0x02, +0x00, -0x03, -0x04, -0x05, -0x02, -0x03, -0x04, +0x00, +0x04, +0x02, -0x03, -0x04, -0x03, +0x00, -0x02, -0x01, -0x0B], + [+0x01, -0x03, +0x00, -0x02, -0x04, -0x03, -0x03, -0x02, -0x04, -0x01, -0x04, -0x01, -0x02, -0x05, -0x02, +0x02, +0x05, -0x08, -0x04, -0x01, -0x01, -0x03, -0x01, -0x0B], + [-0x08, +0x00, -0x05, -0x0A, -0x0A, -0x08, -0x0B, -0x0A, -0x04, -0x08, -0x03, -0x07, -0x07, -0x02, -0x09, -0x03, -0x08, +0x0D, -0x02, -0x0A, -0x07, -0x09, -0x07, -0x0B], + [-0x05, -0x07, -0x03, -0x07, -0x02, -0x07, -0x06, -0x08, -0x01, -0x03, -0x04, -0x06, -0x06, +0x04, -0x08, -0x04, -0x04, -0x02, +0x09, -0x05, -0x04, -0x06, -0x04, -0x0B], + [+0x00, -0x05, -0x04, -0x05, -0x03, -0x04, -0x04, -0x03, -0x04, +0x03, +0x00, -0x05, +0x01, -0x04, -0x03, -0x03, -0x01, -0x0A, -0x05, +0x06, -0x04, -0x04, -0x02, -0x0B], + [-0x01, -0x03, +0x04, +0x05, -0x07, +0x00, +0x02, -0x01, +0x00, -0x04, -0x06, -0x01, -0x05, -0x07, -0x03, +0x00, -0x01, -0x07, -0x04, -0x04, +0x05, +0x02, -0x02, -0x0B], + [-0x01, -0x01, +0x00, +0x02, -0x09, +0x05, +0x05, -0x02, +0x01, -0x04, -0x04, -0x01, -0x03, -0x08, -0x02, -0x02, -0x03, -0x09, -0x06, -0x04, +0x02, +0x05, -0x02, -0x0B], + [-0x01, -0x03, -0x01, -0x03, -0x05, -0x02, -0x02, -0x03, -0x02, -0x02, -0x03, -0x03, -0x02, -0x05, -0x02, -0x01, -0x01, -0x07, -0x04, -0x02, -0x02, -0x02, -0x03, -0x0B], + [-0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, -0x0B, +0x01]] + +PAM90 = [[+0x04, -0x04, -0x01, -0x01, -0x03, -0x02, +0x00, +0x00, -0x04, -0x02, -0x03, -0x03, -0x02, -0x05, +0x00, +0x01, +0x01, -0x08, -0x05, +0x00, -0x01, -0x01, -0x01, -0x0A], + [-0x04, +0x07, -0x02, -0x05, -0x05, +0x00, -0x04, -0x05, +0x01, -0x03, -0x05, +0x02, -0x02, -0x06, -0x01, -0x01, -0x03, +0x00, -0x06, -0x04, -0x03, -0x01, -0x02, -0x0A], + [-0x01, -0x02, +0x05, +0x03, -0x06, -0x01, +0x00, -0x01, +0x02, -0x03, -0x04, +0x01, -0x04, -0x05, -0x02, +0x01, +0x00, -0x05, -0x02, -0x04, +0x04, +0x00, -0x01, -0x0A], + [-0x01, -0x05, +0x03, +0x06, -0x08, +0x00, +0x04, -0x01, -0x01, -0x04, -0x07, -0x02, -0x05, -0x08, -0x04, -0x01, -0x02, -0x09, -0x06, -0x04, +0x05, +0x03, -0x02, -0x0A], + [-0x03, -0x05, -0x06, -0x08, +0x09, -0x08, -0x08, -0x05, -0x05, -0x03, -0x09, -0x08, -0x08, -0x07, -0x05, -0x01, -0x04, -0x0A, -0x01, -0x03, -0x07, -0x08, -0x05, -0x0A], + [-0x02, +0x00, -0x01, +0x00, -0x08, +0x06, +0x02, -0x03, +0x02, -0x04, -0x03, -0x01, -0x02, -0x07, -0x01, -0x02, -0x03, -0x07, -0x06, -0x04, +0x00, +0x05, -0x02, -0x0A], + [+0x00, -0x04, +0x00, +0x04, -0x08, +0x02, +0x06, -0x01, -0x01, -0x03, -0x05, -0x02, -0x04, -0x08, -0x02, -0x02, -0x02, -0x0A, -0x06, -0x03, +0x02, +0x05, -0x02, -0x0A], + [+0x00, -0x05, -0x01, -0x01, -0x05, -0x03, -0x01, +0x05, -0x05, -0x05, -0x06, -0x04, -0x05, -0x06, -0x03, +0x00, -0x02, -0x09, -0x08, -0x03, -0x01, -0x02, -0x02, -0x0A], + [-0x04, +0x01, +0x02, -0x01, -0x05, +0x02, -0x01, -0x05, +0x08, -0x05, -0x03, -0x02, -0x05, -0x03, -0x02, -0x03, -0x03, -0x04, -0x01, -0x04, +0x01, +0x01, -0x02, -0x0A], + [-0x02, -0x03, -0x03, -0x04, -0x03, -0x04, -0x03, -0x05, -0x05, +0x06, +0x01, -0x03, +0x01, +0x00, -0x04, -0x03, +0x00, -0x08, -0x03, +0x03, -0x03, -0x03, -0x02, -0x0A], + [-0x03, -0x05, -0x04, -0x07, -0x09, -0x03, -0x05, -0x06, -0x03, +0x01, +0x06, -0x05, +0x02, +0x00, -0x04, -0x05, -0x03, -0x03, -0x03, +0x00, -0x05, -0x04, -0x03, -0x0A], + [-0x03, +0x02, +0x01, -0x02, -0x08, -0x01, -0x02, -0x04, -0x02, -0x03, -0x05, +0x05, +0x00, -0x08, -0x03, -0x01, -0x01, -0x06, -0x06, -0x05, +0x00, -0x01, -0x02, -0x0A], + [-0x02, -0x02, -0x04, -0x05, -0x08, -0x02, -0x04, -0x05, -0x05, +0x01, +0x02, +0x00, +0x09, -0x01, -0x04, -0x03, -0x02, -0x07, -0x06, +0x01, -0x05, -0x03, -0x02, -0x0A], + [-0x05, -0x06, -0x05, -0x08, -0x07, -0x07, -0x08, -0x06, -0x03, +0x00, +0x00, -0x08, -0x01, +0x08, -0x06, -0x04, -0x05, -0x02, +0x04, -0x04, -0x06, -0x08, -0x04, -0x0A], + [+0x00, -0x01, -0x02, -0x04, -0x05, -0x01, -0x02, -0x03, -0x02, -0x04, -0x04, -0x03, -0x04, -0x06, +0x07, +0x00, -0x01, -0x08, -0x08, -0x03, -0x03, -0x02, -0x02, -0x0A], + [+0x01, -0x01, +0x01, -0x01, -0x01, -0x02, -0x02, +0x00, -0x03, -0x03, -0x05, -0x01, -0x03, -0x04, +0x00, +0x04, +0x02, -0x03, -0x04, -0x03, +0x00, -0x02, -0x01, -0x0A], + [+0x01, -0x03, +0x00, -0x02, -0x04, -0x03, -0x02, -0x02, -0x03, +0x00, -0x03, -0x01, -0x02, -0x05, -0x01, +0x02, +0x05, -0x07, -0x04, -0x01, -0x01, -0x02, -0x01, -0x0A], + [-0x08, +0x00, -0x05, -0x09, -0x0A, -0x07, -0x0A, -0x09, -0x04, -0x08, -0x03, -0x06, -0x07, -0x02, -0x08, -0x03, -0x07, +0x0D, -0x02, -0x09, -0x07, -0x08, -0x06, -0x0A], + [-0x05, -0x06, -0x02, -0x06, -0x01, -0x06, -0x06, -0x08, -0x01, -0x03, -0x03, -0x06, -0x06, +0x04, -0x08, -0x04, -0x04, -0x02, +0x09, -0x04, -0x04, -0x06, -0x04, -0x0A], + [+0x00, -0x04, -0x04, -0x04, -0x03, -0x04, -0x03, -0x03, -0x04, +0x03, +0x00, -0x05, +0x01, -0x04, -0x03, -0x03, -0x01, -0x09, -0x04, +0x06, -0x04, -0x03, -0x02, -0x0A], + [-0x01, -0x03, +0x04, +0x05, -0x07, +0x00, +0x02, -0x01, +0x01, -0x03, -0x05, +0x00, -0x05, -0x06, -0x03, +0x00, -0x01, -0x07, -0x04, -0x04, +0x04, +0x02, -0x02, -0x0A], + [-0x01, -0x01, +0x00, +0x03, -0x08, +0x05, +0x05, -0x02, +0x01, -0x03, -0x04, -0x01, -0x03, -0x08, -0x02, -0x02, -0x02, -0x08, -0x06, -0x03, +0x02, +0x05, -0x02, -0x0A], + [-0x01, -0x02, -0x01, -0x02, -0x05, -0x02, -0x02, -0x02, -0x02, -0x02, -0x03, -0x02, -0x02, -0x04, -0x02, -0x01, -0x01, -0x06, -0x04, -0x02, -0x02, -0x02, -0x02, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM100 = [[+0x04, -0x03, -0x01, -0x01, -0x03, -0x02, +0x00, +0x01, -0x03, -0x02, -0x03, -0x03, -0x02, -0x05, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, -0x01, -0x01, -0x01, -0x09], + [-0x03, +0x07, -0x02, -0x04, -0x05, +0x01, -0x03, -0x05, +0x01, -0x03, -0x05, +0x02, -0x01, -0x06, -0x01, -0x01, -0x03, +0x01, -0x06, -0x04, -0x03, -0x01, -0x02, -0x09], + [-0x01, -0x02, +0x05, +0x03, -0x05, -0x01, +0x01, -0x01, +0x02, -0x03, -0x04, +0x01, -0x04, -0x05, -0x02, +0x01, +0x00, -0x05, -0x02, -0x03, +0x04, +0x00, -0x01, -0x09], + [-0x01, -0x04, +0x03, +0x05, -0x07, +0x00, +0x04, -0x01, -0x01, -0x04, -0x06, -0x01, -0x05, -0x08, -0x03, -0x01, -0x02, -0x09, -0x06, -0x04, +0x04, +0x03, -0x02, -0x09], + [-0x03, -0x05, -0x05, -0x07, +0x09, -0x08, -0x08, -0x05, -0x04, -0x03, -0x08, -0x08, -0x07, -0x07, -0x04, -0x01, -0x04, -0x09, -0x01, -0x03, -0x06, -0x08, -0x05, -0x09], + [-0x02, +0x01, -0x01, +0x00, -0x08, +0x06, +0x02, -0x03, +0x03, -0x04, -0x02, +0x00, -0x02, -0x07, -0x01, -0x02, -0x02, -0x07, -0x06, -0x03, +0x00, +0x05, -0x02, -0x09], + [+0x00, -0x03, +0x01, +0x04, -0x08, +0x02, +0x05, -0x01, -0x01, -0x03, -0x05, -0x01, -0x04, -0x08, -0x02, -0x01, -0x02, -0x09, -0x05, -0x03, +0x03, +0x04, -0x02, -0x09], + [+0x01, -0x05, -0x01, -0x01, -0x05, -0x03, -0x01, +0x05, -0x04, -0x05, -0x06, -0x03, -0x04, -0x06, -0x02, +0x00, -0x02, -0x09, -0x07, -0x03, -0x01, -0x02, -0x02, -0x09], + [-0x03, +0x01, +0x02, -0x01, -0x04, +0x03, -0x01, -0x04, +0x07, -0x04, -0x03, -0x02, -0x04, -0x03, -0x01, -0x02, -0x03, -0x04, -0x01, -0x03, +0x01, +0x01, -0x02, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x03, -0x04, -0x03, -0x05, -0x04, +0x06, +0x01, -0x03, +0x01, +0x00, -0x04, -0x03, +0x00, -0x07, -0x03, +0x03, -0x03, -0x03, -0x02, -0x09], + [-0x03, -0x05, -0x04, -0x06, -0x08, -0x02, -0x05, -0x06, -0x03, +0x01, +0x06, -0x04, +0x03, +0x00, -0x04, -0x04, -0x03, -0x03, -0x03, +0x00, -0x05, -0x04, -0x03, -0x09], + [-0x03, +0x02, +0x01, -0x01, -0x08, +0x00, -0x01, -0x03, -0x02, -0x03, -0x04, +0x05, +0x00, -0x07, -0x03, -0x01, -0x01, -0x06, -0x06, -0x04, +0x00, -0x01, -0x02, -0x09], + [-0x02, -0x01, -0x04, -0x05, -0x07, -0x02, -0x04, -0x04, -0x04, +0x01, +0x03, +0x00, +0x09, -0x01, -0x04, -0x03, -0x01, -0x06, -0x05, +0x01, -0x04, -0x02, -0x02, -0x09], + [-0x05, -0x06, -0x05, -0x08, -0x07, -0x07, -0x08, -0x06, -0x03, +0x00, +0x00, -0x07, -0x01, +0x08, -0x06, -0x04, -0x05, -0x01, +0x04, -0x03, -0x06, -0x07, -0x04, -0x09], + [+0x01, -0x01, -0x02, -0x03, -0x04, -0x01, -0x02, -0x02, -0x01, -0x04, -0x04, -0x03, -0x04, -0x06, +0x07, +0x00, -0x01, -0x07, -0x07, -0x03, -0x03, -0x01, -0x02, -0x09], + [+0x01, -0x01, +0x01, -0x01, -0x01, -0x02, -0x01, +0x00, -0x02, -0x03, -0x04, -0x01, -0x03, -0x04, +0x00, +0x04, +0x02, -0x03, -0x04, -0x02, +0x00, -0x02, -0x01, -0x09], + [+0x01, -0x03, +0x00, -0x02, -0x04, -0x02, -0x02, -0x02, -0x03, +0x00, -0x03, -0x01, -0x01, -0x05, -0x01, +0x02, +0x05, -0x07, -0x04, +0x00, -0x01, -0x02, -0x01, -0x09], + [-0x07, +0x01, -0x05, -0x09, -0x09, -0x07, -0x09, -0x09, -0x04, -0x07, -0x03, -0x06, -0x06, -0x01, -0x07, -0x03, -0x07, +0x0C, -0x02, -0x09, -0x06, -0x08, -0x06, -0x09], + [-0x04, -0x06, -0x02, -0x06, -0x01, -0x06, -0x05, -0x07, -0x01, -0x03, -0x03, -0x06, -0x05, +0x04, -0x07, -0x04, -0x04, -0x02, +0x09, -0x04, -0x04, -0x06, -0x04, -0x09], + [+0x00, -0x04, -0x03, -0x04, -0x03, -0x03, -0x03, -0x03, -0x03, +0x03, +0x00, -0x04, +0x01, -0x03, -0x03, -0x02, +0x00, -0x09, -0x04, +0x05, -0x04, -0x03, -0x02, -0x09], + [-0x01, -0x03, +0x04, +0x04, -0x06, +0x00, +0x03, -0x01, +0x01, -0x03, -0x05, +0x00, -0x04, -0x06, -0x03, +0x00, -0x01, -0x06, -0x04, -0x04, +0x04, +0x02, -0x02, -0x09], + [-0x01, -0x01, +0x00, +0x03, -0x08, +0x05, +0x04, -0x02, +0x01, -0x03, -0x04, -0x01, -0x02, -0x07, -0x01, -0x02, -0x02, -0x08, -0x06, -0x03, +0x02, +0x05, -0x02, -0x09], + [-0x01, -0x02, -0x01, -0x02, -0x05, -0x02, -0x02, -0x02, -0x02, -0x02, -0x03, -0x02, -0x02, -0x04, -0x02, -0x01, -0x01, -0x06, -0x04, -0x02, -0x02, -0x02, -0x02, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM110 = [[+0x03, -0x03, -0x01, -0x01, -0x03, -0x01, +0x00, +0x01, -0x03, -0x01, -0x03, -0x03, -0x02, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, -0x01, -0x01, -0x01, -0x09], + [-0x03, +0x07, -0x01, -0x04, -0x04, +0x01, -0x03, -0x04, +0x01, -0x03, -0x04, +0x02, -0x01, -0x05, -0x01, -0x01, -0x02, +0x01, -0x05, -0x04, -0x02, -0x01, -0x02, -0x09], + [-0x01, -0x01, +0x04, +0x02, -0x05, +0x00, +0x01, +0x00, +0x02, -0x02, -0x04, +0x01, -0x03, -0x04, -0x02, +0x01, +0x00, -0x05, -0x02, -0x03, +0x03, +0x00, -0x01, -0x09], + [-0x01, -0x04, +0x02, +0x05, -0x07, +0x01, +0x04, +0x00, +0x00, -0x03, -0x06, -0x01, -0x05, -0x07, -0x03, -0x01, -0x01, -0x08, -0x05, -0x04, +0x04, +0x03, -0x02, -0x09], + [-0x03, -0x04, -0x05, -0x07, +0x09, -0x07, -0x07, -0x05, -0x04, -0x03, -0x08, -0x07, -0x07, -0x06, -0x04, -0x01, -0x03, -0x09, -0x01, -0x03, -0x06, -0x07, -0x04, -0x09], + [-0x01, +0x01, +0x00, +0x01, -0x07, +0x06, +0x02, -0x03, +0x03, -0x03, -0x02, +0x00, -0x01, -0x06, +0x00, -0x02, -0x02, -0x06, -0x06, -0x03, +0x00, +0x04, -0x01, -0x09], + [+0x00, -0x03, +0x01, +0x04, -0x07, +0x02, +0x05, -0x01, -0x01, -0x03, -0x05, -0x01, -0x03, -0x07, -0x02, -0x01, -0x02, -0x09, -0x05, -0x03, +0x03, +0x04, -0x02, -0x09], + [+0x01, -0x04, +0x00, +0x00, -0x05, -0x03, -0x01, +0x05, -0x04, -0x04, -0x06, -0x03, -0x04, -0x05, -0x02, +0x00, -0x02, -0x08, -0x07, -0x02, +0x00, -0x02, -0x02, -0x09], + [-0x03, +0x01, +0x02, +0x00, -0x04, +0x03, -0x01, -0x04, +0x07, -0x04, -0x03, -0x02, -0x04, -0x03, -0x01, -0x02, -0x03, -0x04, -0x01, -0x03, +0x01, +0x01, -0x02, -0x09], + [-0x01, -0x03, -0x02, -0x03, -0x03, -0x03, -0x03, -0x04, -0x04, +0x06, +0x01, -0x03, +0x01, +0x00, -0x04, -0x03, +0x00, -0x07, -0x02, +0x03, -0x03, -0x03, -0x02, -0x09], + [-0x03, -0x04, -0x04, -0x06, -0x08, -0x02, -0x05, -0x06, -0x03, +0x01, +0x06, -0x04, +0x03, +0x00, -0x04, -0x04, -0x03, -0x03, -0x03, +0x01, -0x05, -0x03, -0x02, -0x09], + [-0x03, +0x02, +0x01, -0x01, -0x07, +0x00, -0x01, -0x03, -0x02, -0x03, -0x04, +0x05, +0x00, -0x07, -0x03, -0x01, -0x01, -0x05, -0x05, -0x04, +0x00, -0x01, -0x02, -0x09], + [-0x02, -0x01, -0x03, -0x05, -0x07, -0x01, -0x03, -0x04, -0x04, +0x01, +0x03, +0x00, +0x08, -0x01, -0x04, -0x02, -0x01, -0x06, -0x05, +0x01, -0x04, -0x02, -0x02, -0x09], + [-0x04, -0x05, -0x04, -0x07, -0x06, -0x06, -0x07, -0x05, -0x03, +0x00, +0x00, -0x07, -0x01, +0x08, -0x06, -0x04, -0x04, -0x01, +0x04, -0x03, -0x06, -0x07, -0x04, -0x09], + [+0x01, -0x01, -0x02, -0x03, -0x04, +0x00, -0x02, -0x02, -0x01, -0x04, -0x04, -0x03, -0x04, -0x06, +0x06, +0x00, -0x01, -0x07, -0x07, -0x02, -0x02, -0x01, -0x02, -0x09], + [+0x01, -0x01, +0x01, -0x01, -0x01, -0x02, -0x01, +0x00, -0x02, -0x03, -0x04, -0x01, -0x02, -0x04, +0x00, +0x03, +0x02, -0x03, -0x03, -0x02, +0x00, -0x01, -0x01, -0x09], + [+0x01, -0x02, +0x00, -0x01, -0x03, -0x02, -0x02, -0x02, -0x03, +0x00, -0x03, -0x01, -0x01, -0x04, -0x01, +0x02, +0x05, -0x06, -0x03, +0x00, -0x01, -0x02, -0x01, -0x09], + [-0x07, +0x01, -0x05, -0x08, -0x09, -0x06, -0x09, -0x08, -0x04, -0x07, -0x03, -0x05, -0x06, -0x01, -0x07, -0x03, -0x06, +0x0C, -0x02, -0x08, -0x06, -0x07, -0x05, -0x09], + [-0x04, -0x05, -0x02, -0x05, -0x01, -0x06, -0x05, -0x07, -0x01, -0x02, -0x03, -0x05, -0x05, +0x04, -0x07, -0x03, -0x03, -0x02, +0x08, -0x04, -0x03, -0x05, -0x03, -0x09], + [+0x00, -0x04, -0x03, -0x04, -0x03, -0x03, -0x03, -0x02, -0x03, +0x03, +0x01, -0x04, +0x01, -0x03, -0x02, -0x02, +0x00, -0x08, -0x04, +0x05, -0x03, -0x03, -0x02, -0x09], + [-0x01, -0x02, +0x03, +0x04, -0x06, +0x00, +0x03, +0x00, +0x01, -0x03, -0x05, +0x00, -0x04, -0x06, -0x02, +0x00, -0x01, -0x06, -0x03, -0x03, +0x04, +0x02, -0x01, -0x09], + [-0x01, -0x01, +0x00, +0x03, -0x07, +0x04, +0x04, -0x02, +0x01, -0x03, -0x03, -0x01, -0x02, -0x07, -0x01, -0x01, -0x02, -0x07, -0x05, -0x03, +0x02, +0x04, -0x02, -0x09], + [-0x01, -0x02, -0x01, -0x02, -0x04, -0x01, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x04, -0x02, -0x01, -0x01, -0x05, -0x03, -0x02, -0x01, -0x02, -0x02, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM120 = [[+0x03, -0x03, -0x01, +0x00, -0x03, -0x01, +0x00, +0x01, -0x03, -0x01, -0x03, -0x02, -0x02, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x00, -0x01, -0x01, -0x08], + [-0x03, +0x06, -0x01, -0x03, -0x04, +0x01, -0x03, -0x04, +0x01, -0x02, -0x04, +0x02, -0x01, -0x05, -0x01, -0x01, -0x02, +0x01, -0x05, -0x03, -0x02, -0x01, -0x02, -0x08], + [-0x01, -0x01, +0x04, +0x02, -0x05, +0x00, +0x01, +0x00, +0x02, -0x02, -0x04, +0x01, -0x03, -0x04, -0x02, +0x01, +0x00, -0x04, -0x02, -0x03, +0x03, +0x00, -0x01, -0x08], + [+0x00, -0x03, +0x02, +0x05, -0x07, +0x01, +0x03, +0x00, +0x00, -0x03, -0x05, -0x01, -0x04, -0x07, -0x03, +0x00, -0x01, -0x08, -0x05, -0x03, +0x04, +0x03, -0x02, -0x08], + [-0x03, -0x04, -0x05, -0x07, +0x09, -0x07, -0x07, -0x04, -0x04, -0x03, -0x07, -0x07, -0x06, -0x06, -0x04, +0x00, -0x03, -0x08, -0x01, -0x03, -0x06, -0x07, -0x04, -0x08], + [-0x01, +0x01, +0x00, +0x01, -0x07, +0x06, +0x02, -0x03, +0x03, -0x03, -0x02, +0x00, -0x01, -0x06, +0x00, -0x02, -0x02, -0x06, -0x05, -0x03, +0x00, +0x04, -0x01, -0x08], + [+0x00, -0x03, +0x01, +0x03, -0x07, +0x02, +0x05, -0x01, -0x01, -0x03, -0x04, -0x01, -0x03, -0x07, -0x02, -0x01, -0x02, -0x08, -0x05, -0x03, +0x03, +0x04, -0x01, -0x08], + [+0x01, -0x04, +0x00, +0x00, -0x04, -0x03, -0x01, +0x05, -0x04, -0x04, -0x05, -0x03, -0x04, -0x05, -0x02, +0x01, -0x01, -0x08, -0x06, -0x02, +0x00, -0x02, -0x02, -0x08], + [-0x03, +0x01, +0x02, +0x00, -0x04, +0x03, -0x01, -0x04, +0x07, -0x04, -0x03, -0x02, -0x04, -0x03, -0x01, -0x02, -0x03, -0x03, -0x01, -0x03, +0x01, +0x01, -0x02, -0x08], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x03, -0x03, -0x04, -0x04, +0x06, +0x01, -0x03, +0x01, +0x00, -0x03, -0x02, +0x00, -0x06, -0x02, +0x03, -0x03, -0x03, -0x01, -0x08], + [-0x03, -0x04, -0x04, -0x05, -0x07, -0x02, -0x04, -0x05, -0x03, +0x01, +0x05, -0x04, +0x03, +0x00, -0x03, -0x04, -0x03, -0x03, -0x02, +0x01, -0x04, -0x03, -0x02, -0x08], + [-0x02, +0x02, +0x01, -0x01, -0x07, +0x00, -0x01, -0x03, -0x02, -0x03, -0x04, +0x05, +0x00, -0x07, -0x02, -0x01, -0x01, -0x05, -0x05, -0x04, +0x00, -0x01, -0x02, -0x08], + [-0x02, -0x01, -0x03, -0x04, -0x06, -0x01, -0x03, -0x04, -0x04, +0x01, +0x03, +0x00, +0x08, -0x01, -0x03, -0x02, -0x01, -0x06, -0x04, +0x01, -0x04, -0x02, -0x02, -0x08], + [-0x04, -0x05, -0x04, -0x07, -0x06, -0x06, -0x07, -0x05, -0x03, +0x00, +0x00, -0x07, -0x01, +0x08, -0x05, -0x03, -0x04, -0x01, +0x04, -0x03, -0x05, -0x06, -0x03, -0x08], + [+0x01, -0x01, -0x02, -0x03, -0x04, +0x00, -0x02, -0x02, -0x01, -0x03, -0x03, -0x02, -0x03, -0x05, +0x06, +0x01, -0x01, -0x07, -0x06, -0x02, -0x02, -0x01, -0x02, -0x08], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x02, -0x01, +0x01, -0x02, -0x02, -0x04, -0x01, -0x02, -0x03, +0x01, +0x03, +0x02, -0x02, -0x03, -0x02, +0x00, -0x01, -0x01, -0x08], + [+0x01, -0x02, +0x00, -0x01, -0x03, -0x02, -0x02, -0x01, -0x03, +0x00, -0x03, -0x01, -0x01, -0x04, -0x01, +0x02, +0x04, -0x06, -0x03, +0x00, +0x00, -0x02, -0x01, -0x08], + [-0x07, +0x01, -0x04, -0x08, -0x08, -0x06, -0x08, -0x08, -0x03, -0x06, -0x03, -0x05, -0x06, -0x01, -0x07, -0x02, -0x06, +0x0C, -0x02, -0x08, -0x06, -0x07, -0x05, -0x08], + [-0x04, -0x05, -0x02, -0x05, -0x01, -0x05, -0x05, -0x06, -0x01, -0x02, -0x02, -0x05, -0x04, +0x04, -0x06, -0x03, -0x03, -0x02, +0x08, -0x03, -0x03, -0x05, -0x03, -0x08], + [+0x00, -0x03, -0x03, -0x03, -0x03, -0x03, -0x03, -0x02, -0x03, +0x03, +0x01, -0x04, +0x01, -0x03, -0x02, -0x02, +0x00, -0x08, -0x03, +0x05, -0x03, -0x03, -0x01, -0x08], + [+0x00, -0x02, +0x03, +0x04, -0x06, +0x00, +0x03, +0x00, +0x01, -0x03, -0x04, +0x00, -0x04, -0x05, -0x02, +0x00, +0x00, -0x06, -0x03, -0x03, +0x04, +0x02, -0x01, -0x08], + [-0x01, -0x01, +0x00, +0x03, -0x07, +0x04, +0x04, -0x02, +0x01, -0x03, -0x03, -0x01, -0x02, -0x06, -0x01, -0x01, -0x02, -0x07, -0x05, -0x03, +0x02, +0x04, -0x01, -0x08], + [-0x01, -0x02, -0x01, -0x02, -0x04, -0x01, -0x01, -0x02, -0x02, -0x01, -0x02, -0x02, -0x02, -0x03, -0x02, -0x01, -0x01, -0x05, -0x03, -0x01, -0x01, -0x01, -0x02, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM130 = [[+0x03, -0x03, +0x00, +0x00, -0x03, -0x01, +0x00, +0x01, -0x02, -0x01, -0x03, -0x02, -0x02, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, -0x01, -0x08], + [-0x03, +0x06, -0x01, -0x03, -0x04, +0x01, -0x03, -0x04, +0x01, -0x02, -0x04, +0x02, -0x01, -0x05, -0x01, -0x01, -0x02, +0x01, -0x05, -0x03, -0x02, -0x01, -0x02, -0x08], + [+0x00, -0x01, +0x04, +0x02, -0x04, +0x00, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x03, -0x04, -0x01, +0x01, +0x00, -0x04, -0x02, -0x03, +0x03, +0x00, -0x01, -0x08], + [+0x00, -0x03, +0x02, +0x05, -0x06, +0x01, +0x03, +0x00, +0x00, -0x03, -0x05, -0x01, -0x04, -0x07, -0x02, +0x00, -0x01, -0x07, -0x05, -0x03, +0x04, +0x03, -0x01, -0x08], + [-0x03, -0x04, -0x04, -0x06, +0x09, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x03, -0x08, -0x01, -0x02, -0x05, -0x06, -0x04, -0x08], + [-0x01, +0x01, +0x00, +0x01, -0x06, +0x05, +0x02, -0x02, +0x03, -0x03, -0x02, +0x00, -0x01, -0x06, +0x00, -0x01, -0x02, -0x06, -0x05, -0x03, +0x00, +0x04, -0x01, -0x08], + [+0x00, -0x03, +0x01, +0x03, -0x06, +0x02, +0x05, -0x01, +0x00, -0x02, -0x04, -0x01, -0x03, -0x06, -0x02, -0x01, -0x01, -0x08, -0x05, -0x03, +0x02, +0x04, -0x01, -0x08], + [+0x01, -0x04, +0x00, +0x00, -0x04, -0x02, -0x01, +0x05, -0x03, -0x04, -0x05, -0x03, -0x04, -0x05, -0x02, +0x01, -0x01, -0x07, -0x06, -0x02, +0x00, -0x01, -0x02, -0x08], + [-0x02, +0x01, +0x02, +0x00, -0x04, +0x03, +0x00, -0x03, +0x07, -0x03, -0x03, -0x01, -0x03, -0x02, -0x01, -0x02, -0x02, -0x03, +0x00, -0x03, +0x01, +0x01, -0x01, -0x08], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x03, -0x02, -0x04, -0x03, +0x05, +0x01, -0x02, +0x02, +0x00, -0x03, -0x02, +0x00, -0x06, -0x02, +0x03, -0x03, -0x03, -0x01, -0x08], + [-0x03, -0x04, -0x03, -0x05, -0x07, -0x02, -0x04, -0x05, -0x03, +0x01, +0x05, -0x04, +0x03, +0x01, -0x03, -0x04, -0x02, -0x02, -0x02, +0x01, -0x04, -0x03, -0x02, -0x08], + [-0x02, +0x02, +0x01, -0x01, -0x06, +0x00, -0x01, -0x03, -0x01, -0x02, -0x04, +0x05, +0x00, -0x06, -0x02, -0x01, +0x00, -0x05, -0x05, -0x04, +0x00, +0x00, -0x01, -0x08], + [-0x02, -0x01, -0x03, -0x04, -0x06, -0x01, -0x03, -0x04, -0x03, +0x02, +0x03, +0x00, +0x08, -0x01, -0x03, -0x02, -0x01, -0x05, -0x04, +0x01, -0x03, -0x02, -0x01, -0x08], + [-0x04, -0x05, -0x04, -0x07, -0x05, -0x06, -0x06, -0x05, -0x02, +0x00, +0x01, -0x06, -0x01, +0x07, -0x05, -0x03, -0x04, -0x01, +0x04, -0x02, -0x05, -0x06, -0x03, -0x08], + [+0x01, -0x01, -0x01, -0x02, -0x03, +0x00, -0x02, -0x02, -0x01, -0x03, -0x03, -0x02, -0x03, -0x05, +0x06, +0x01, -0x01, -0x06, -0x06, -0x02, -0x02, -0x01, -0x01, -0x08], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x01, -0x01, +0x01, -0x02, -0x02, -0x04, -0x01, -0x02, -0x03, +0x01, +0x03, +0x02, -0x02, -0x03, -0x02, +0x00, -0x01, -0x01, -0x08], + [+0x01, -0x02, +0x00, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, +0x00, -0x02, +0x00, -0x01, -0x04, -0x01, +0x02, +0x04, -0x06, -0x03, +0x00, +0x00, -0x02, -0x01, -0x08], + [-0x06, +0x01, -0x04, -0x07, -0x08, -0x06, -0x08, -0x07, -0x03, -0x06, -0x02, -0x05, -0x05, -0x01, -0x06, -0x02, -0x06, +0x0C, -0x01, -0x07, -0x05, -0x07, -0x05, -0x08], + [-0x04, -0x05, -0x02, -0x05, -0x01, -0x05, -0x05, -0x06, +0x00, -0x02, -0x02, -0x05, -0x04, +0x04, -0x06, -0x03, -0x03, -0x01, +0x08, -0x03, -0x03, -0x05, -0x03, -0x08], + [+0x00, -0x03, -0x03, -0x03, -0x02, -0x03, -0x03, -0x02, -0x03, +0x03, +0x01, -0x04, +0x01, -0x02, -0x02, -0x02, +0x00, -0x07, -0x03, +0x05, -0x03, -0x03, -0x01, -0x08], + [+0x00, -0x02, +0x03, +0x04, -0x05, +0x00, +0x02, +0x00, +0x01, -0x03, -0x04, +0x00, -0x03, -0x05, -0x02, +0x00, +0x00, -0x05, -0x03, -0x03, +0x03, +0x02, -0x01, -0x08], + [+0x00, -0x01, +0x00, +0x03, -0x06, +0x04, +0x04, -0x01, +0x01, -0x03, -0x03, +0x00, -0x02, -0x06, -0x01, -0x01, -0x02, -0x07, -0x05, -0x03, +0x02, +0x04, -0x01, -0x08], + [-0x01, -0x02, -0x01, -0x01, -0x04, -0x01, -0x01, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, -0x01, -0x01, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM140 = [[+0x03, -0x02, +0x00, +0x00, -0x02, -0x01, +0x00, +0x01, -0x02, -0x01, -0x02, -0x02, -0x02, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, -0x01, -0x08], + [-0x02, +0x06, -0x01, -0x03, -0x04, +0x01, -0x02, -0x04, +0x01, -0x02, -0x04, +0x03, -0x01, -0x05, -0x01, -0x01, -0x02, +0x01, -0x05, -0x03, -0x02, -0x01, -0x01, -0x08], + [+0x00, -0x01, +0x03, +0x02, -0x04, +0x00, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x01, +0x00, -0x04, -0x02, -0x02, +0x03, +0x01, -0x01, -0x08], + [+0x00, -0x03, +0x02, +0x04, -0x06, +0x01, +0x03, +0x00, +0x00, -0x03, -0x05, -0x01, -0x04, -0x06, -0x02, +0x00, -0x01, -0x07, -0x05, -0x03, +0x04, +0x03, -0x01, -0x08], + [-0x02, -0x04, -0x04, -0x06, +0x09, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x03, -0x08, -0x01, -0x02, -0x05, -0x06, -0x04, -0x08], + [-0x01, +0x01, +0x00, +0x01, -0x06, +0x05, +0x02, -0x02, +0x03, -0x03, -0x02, +0x00, -0x01, -0x05, +0x00, -0x01, -0x02, -0x05, -0x05, -0x02, +0x01, +0x04, -0x01, -0x08], + [+0x00, -0x02, +0x01, +0x03, -0x06, +0x02, +0x04, -0x01, +0x00, -0x02, -0x04, -0x01, -0x03, -0x06, -0x01, -0x01, -0x01, -0x08, -0x04, -0x02, +0x02, +0x04, -0x01, -0x08], + [+0x01, -0x04, +0x00, +0x00, -0x04, -0x02, -0x01, +0x05, -0x03, -0x04, -0x05, -0x03, -0x03, -0x05, -0x01, +0x01, -0x01, -0x07, -0x06, -0x02, +0x00, -0x01, -0x01, -0x08], + [-0x02, +0x01, +0x02, +0x00, -0x04, +0x03, +0x00, -0x03, +0x06, -0x03, -0x02, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, -0x03, +0x00, -0x03, +0x01, +0x01, -0x01, -0x08], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x03, -0x02, -0x04, -0x03, +0x05, +0x01, -0x02, +0x02, +0x00, -0x03, -0x02, +0x00, -0x06, -0x02, +0x03, -0x02, -0x02, -0x01, -0x08], + [-0x02, -0x04, -0x03, -0x05, -0x07, -0x02, -0x04, -0x05, -0x02, +0x01, +0x05, -0x03, +0x03, +0x01, -0x03, -0x03, -0x02, -0x02, -0x02, +0x01, -0x04, -0x03, -0x02, -0x08], + [-0x02, +0x03, +0x01, -0x01, -0x06, +0x00, -0x01, -0x03, -0x01, -0x02, -0x03, +0x05, +0x00, -0x06, -0x02, -0x01, +0x00, -0x04, -0x05, -0x03, +0x00, +0x00, -0x01, -0x08], + [-0x02, -0x01, -0x02, -0x04, -0x06, -0x01, -0x03, -0x03, -0x03, +0x02, +0x03, +0x00, +0x07, -0x01, -0x03, -0x02, -0x01, -0x05, -0x04, +0x01, -0x03, -0x02, -0x01, -0x08], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x05, -0x06, -0x05, -0x02, +0x00, +0x01, -0x06, -0x01, +0x07, -0x05, -0x03, -0x04, -0x01, +0x04, -0x02, -0x05, -0x06, -0x03, -0x08], + [+0x01, -0x01, -0x01, -0x02, -0x03, +0x00, -0x01, -0x01, -0x01, -0x03, -0x03, -0x02, -0x03, -0x05, +0x06, +0x01, +0x00, -0x06, -0x06, -0x02, -0x02, -0x01, -0x01, -0x08], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x01, -0x01, +0x01, -0x01, -0x02, -0x03, -0x01, -0x02, -0x03, +0x01, +0x03, +0x02, -0x02, -0x03, -0x02, +0x00, -0x01, +0x00, -0x08], + [+0x01, -0x02, +0x00, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, +0x00, -0x02, +0x00, -0x01, -0x04, +0x00, +0x02, +0x04, -0x05, -0x03, +0x00, +0x00, -0x01, -0x01, -0x08], + [-0x06, +0x01, -0x04, -0x07, -0x08, -0x05, -0x08, -0x07, -0x03, -0x06, -0x02, -0x04, -0x05, -0x01, -0x06, -0x02, -0x05, +0x0C, -0x01, -0x07, -0x05, -0x06, -0x05, -0x08], + [-0x04, -0x05, -0x02, -0x05, -0x01, -0x05, -0x04, -0x06, +0x00, -0x02, -0x02, -0x05, -0x04, +0x04, -0x06, -0x03, -0x03, -0x01, +0x08, -0x03, -0x03, -0x04, -0x03, -0x08], + [+0x00, -0x03, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, -0x03, +0x03, +0x01, -0x03, +0x01, -0x02, -0x02, -0x02, +0x00, -0x07, -0x03, +0x05, -0x03, -0x02, -0x01, -0x08], + [+0x00, -0x02, +0x03, +0x04, -0x05, +0x01, +0x02, +0x00, +0x01, -0x02, -0x04, +0x00, -0x03, -0x05, -0x02, +0x00, +0x00, -0x05, -0x03, -0x03, +0x03, +0x02, -0x01, -0x08], + [+0x00, -0x01, +0x01, +0x03, -0x06, +0x04, +0x04, -0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x06, -0x01, -0x01, -0x01, -0x06, -0x04, -0x02, +0x02, +0x04, -0x01, -0x08], + [-0x01, -0x01, -0x01, -0x01, -0x04, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, -0x01, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM150 = [[+0x03, -0x02, +0x00, +0x00, -0x02, -0x01, +0x00, +0x01, -0x02, -0x01, -0x02, -0x02, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, -0x01, -0x07], + [-0x02, +0x06, -0x01, -0x02, -0x04, +0x01, -0x02, -0x03, +0x01, -0x02, -0x03, +0x03, -0x01, -0x04, -0x01, -0x01, -0x02, +0x01, -0x04, -0x03, -0x02, +0x00, -0x01, -0x07], + [+0x00, -0x01, +0x03, +0x02, -0x04, +0x00, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x01, +0x00, -0x04, -0x02, -0x02, +0x03, +0x01, -0x01, -0x07], + [+0x00, -0x02, +0x02, +0x04, -0x06, +0x01, +0x03, +0x00, +0x00, -0x03, -0x05, -0x01, -0x03, -0x06, -0x02, +0x00, -0x01, -0x07, -0x04, -0x03, +0x03, +0x02, -0x01, -0x07], + [-0x02, -0x04, -0x04, -0x06, +0x09, -0x06, -0x06, -0x04, -0x03, -0x02, -0x06, -0x06, -0x05, -0x05, -0x03, +0x00, -0x03, -0x07, +0x00, -0x02, -0x05, -0x06, -0x03, -0x07], + [-0x01, +0x01, +0x00, +0x01, -0x06, +0x05, +0x02, -0x02, +0x03, -0x03, -0x02, +0x00, -0x01, -0x05, +0x00, -0x01, -0x01, -0x05, -0x04, -0x02, +0x01, +0x04, -0x01, -0x07], + [+0x00, -0x02, +0x01, +0x03, -0x06, +0x02, +0x04, -0x01, +0x00, -0x02, -0x04, -0x01, -0x02, -0x06, -0x01, -0x01, -0x01, -0x07, -0x04, -0x02, +0x02, +0x04, -0x01, -0x07], + [+0x01, -0x03, +0x00, +0x00, -0x04, -0x02, -0x01, +0x04, -0x03, -0x03, -0x04, -0x02, -0x03, -0x05, -0x01, +0x01, -0x01, -0x07, -0x05, -0x02, +0x00, -0x01, -0x01, -0x07], + [-0x02, +0x01, +0x02, +0x00, -0x03, +0x03, +0x00, -0x03, +0x06, -0x03, -0x02, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, -0x03, +0x00, -0x03, +0x01, +0x01, -0x01, -0x07], + [-0x01, -0x02, -0x02, -0x03, -0x02, -0x03, -0x02, -0x03, -0x03, +0x05, +0x01, -0x02, +0x02, +0x00, -0x03, -0x02, +0x00, -0x05, -0x02, +0x03, -0x02, -0x02, -0x01, -0x07], + [-0x02, -0x03, -0x03, -0x05, -0x06, -0x02, -0x04, -0x04, -0x02, +0x01, +0x05, -0x03, +0x03, +0x01, -0x03, -0x03, -0x02, -0x02, -0x02, +0x01, -0x04, -0x03, -0x02, -0x07], + [-0x02, +0x03, +0x01, -0x01, -0x06, +0x00, -0x01, -0x02, -0x01, -0x02, -0x03, +0x04, +0x00, -0x06, -0x02, -0x01, +0x00, -0x04, -0x04, -0x03, +0x00, +0x00, -0x01, -0x07], + [-0x01, -0x01, -0x02, -0x03, -0x05, -0x01, -0x02, -0x03, -0x03, +0x02, +0x03, +0x00, +0x07, -0x01, -0x03, -0x02, -0x01, -0x05, -0x03, +0x01, -0x03, -0x02, -0x01, -0x07], + [-0x04, -0x04, -0x04, -0x06, -0x05, -0x05, -0x06, -0x05, -0x02, +0x00, +0x01, -0x06, -0x01, +0x07, -0x05, -0x03, -0x03, -0x01, +0x05, -0x02, -0x05, -0x05, -0x03, -0x07], + [+0x01, -0x01, -0x01, -0x02, -0x03, +0x00, -0x01, -0x01, -0x01, -0x03, -0x03, -0x02, -0x03, -0x05, +0x06, +0x01, +0x00, -0x06, -0x05, -0x02, -0x02, -0x01, -0x01, -0x07], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x01, -0x01, +0x01, -0x01, -0x02, -0x03, -0x01, -0x02, -0x03, +0x01, +0x02, +0x01, -0x02, -0x03, -0x01, +0x00, -0x01, +0x00, -0x07], + [+0x01, -0x02, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x02, +0x00, -0x02, +0x00, -0x01, -0x03, +0x00, +0x01, +0x04, -0x05, -0x03, +0x00, +0x00, -0x01, -0x01, -0x07], + [-0x06, +0x01, -0x04, -0x07, -0x07, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x04, -0x05, -0x01, -0x06, -0x02, -0x05, +0x0C, -0x01, -0x06, -0x05, -0x06, -0x04, -0x07], + [-0x03, -0x04, -0x02, -0x04, +0x00, -0x04, -0x04, -0x05, +0x00, -0x02, -0x02, -0x04, -0x03, +0x05, -0x05, -0x03, -0x03, -0x01, +0x08, -0x03, -0x03, -0x04, -0x03, -0x07], + [+0x00, -0x03, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, -0x03, +0x03, +0x01, -0x03, +0x01, -0x02, -0x02, -0x01, +0x00, -0x06, -0x03, +0x04, -0x02, -0x02, -0x01, -0x07], + [+0x00, -0x02, +0x03, +0x03, -0x05, +0x01, +0x02, +0x00, +0x01, -0x02, -0x04, +0x00, -0x03, -0x05, -0x02, +0x00, +0x00, -0x05, -0x03, -0x02, +0x03, +0x02, -0x01, -0x07], + [+0x00, +0x00, +0x01, +0x02, -0x06, +0x04, +0x04, -0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x05, -0x01, -0x01, -0x01, -0x06, -0x04, -0x02, +0x02, +0x04, -0x01, -0x07], + [-0x01, -0x01, -0x01, -0x01, -0x03, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, -0x01, -0x04, -0x03, -0x01, -0x01, -0x01, -0x01, -0x07], + [-0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, +0x01]] + +PAM160 = [[+0x02, -0x02, +0x00, +0x00, -0x02, -0x01, +0x00, +0x01, -0x02, -0x01, -0x02, -0x02, -0x01, -0x03, +0x01, +0x01, +0x01, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x07], + [-0x02, +0x06, -0x01, -0x02, -0x03, +0x01, -0x02, -0x03, +0x01, -0x02, -0x03, +0x03, -0x01, -0x04, -0x01, -0x01, -0x01, +0x01, -0x04, -0x03, -0x01, +0x00, -0x01, -0x07], + [+0x00, -0x01, +0x03, +0x02, -0x04, +0x00, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x03, -0x01, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x07], + [+0x00, -0x02, +0x02, +0x04, -0x05, +0x01, +0x03, +0x00, +0x00, -0x03, -0x04, +0x00, -0x03, -0x06, -0x02, +0x00, -0x01, -0x06, -0x04, -0x03, +0x03, +0x02, -0x01, -0x07], + [-0x02, -0x03, -0x04, -0x05, +0x09, -0x05, -0x05, -0x03, -0x03, -0x02, -0x06, -0x05, -0x05, -0x05, -0x03, +0x00, -0x02, -0x07, +0x00, -0x02, -0x04, -0x05, -0x03, -0x07], + [-0x01, +0x01, +0x00, +0x01, -0x05, +0x05, +0x02, -0x02, +0x02, -0x02, -0x02, +0x00, -0x01, -0x05, +0x00, -0x01, -0x01, -0x05, -0x04, -0x02, +0x01, +0x03, -0x01, -0x07], + [+0x00, -0x02, +0x01, +0x03, -0x05, +0x02, +0x04, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, -0x01, +0x00, -0x01, -0x07, -0x04, -0x02, +0x02, +0x03, -0x01, -0x07], + [+0x01, -0x03, +0x00, +0x00, -0x03, -0x02, +0x00, +0x04, -0x03, -0x03, -0x04, -0x02, -0x03, -0x04, -0x01, +0x01, -0x01, -0x07, -0x05, -0x02, +0x00, -0x01, -0x01, -0x07], + [-0x02, +0x01, +0x02, +0x00, -0x03, +0x02, +0x00, -0x03, +0x06, -0x03, -0x02, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, -0x03, +0x00, -0x02, +0x01, +0x01, -0x01, -0x07], + [-0x01, -0x02, -0x02, -0x03, -0x02, -0x02, -0x02, -0x03, -0x03, +0x05, +0x02, -0x02, +0x02, +0x00, -0x02, -0x02, +0x00, -0x05, -0x02, +0x03, -0x02, -0x02, -0x01, -0x07], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x02, +0x05, -0x03, +0x03, +0x01, -0x03, -0x03, -0x02, -0x02, -0x02, +0x01, -0x04, -0x03, -0x02, -0x07], + [-0x02, +0x03, +0x01, +0x00, -0x05, +0x00, -0x01, -0x02, -0x01, -0x02, -0x03, +0x04, +0x00, -0x05, -0x02, -0x01, +0x00, -0x04, -0x04, -0x03, +0x00, +0x00, -0x01, -0x07], + [-0x01, -0x01, -0x02, -0x03, -0x05, -0x01, -0x02, -0x03, -0x03, +0x02, +0x03, +0x00, +0x07, +0x00, -0x02, -0x02, -0x01, -0x04, -0x03, +0x01, -0x03, -0x02, -0x01, -0x07], + [-0x03, -0x04, -0x03, -0x06, -0x05, -0x05, -0x05, -0x04, -0x02, +0x00, +0x01, -0x05, +0x00, +0x07, -0x04, -0x03, -0x03, -0x01, +0x05, -0x02, -0x04, -0x05, -0x03, -0x07], + [+0x01, -0x01, -0x01, -0x02, -0x03, +0x00, -0x01, -0x01, -0x01, -0x02, -0x03, -0x02, -0x02, -0x04, +0x05, +0x01, +0x00, -0x05, -0x05, -0x02, -0x01, -0x01, -0x01, -0x07], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x02, -0x03, -0x01, -0x02, -0x03, +0x01, +0x02, +0x01, -0x02, -0x03, -0x01, +0x00, -0x01, +0x00, -0x07], + [+0x01, -0x01, +0x00, -0x01, -0x02, -0x01, -0x01, -0x01, -0x02, +0x00, -0x02, +0x00, -0x01, -0x03, +0x00, +0x01, +0x03, -0x05, -0x03, +0x00, +0x00, -0x01, +0x00, -0x07], + [-0x05, +0x01, -0x04, -0x06, -0x07, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x04, -0x04, -0x01, -0x05, -0x02, -0x05, +0x0C, -0x01, -0x06, -0x05, -0x06, -0x04, -0x07], + [-0x03, -0x04, -0x02, -0x04, +0x00, -0x04, -0x04, -0x05, +0x00, -0x02, -0x02, -0x04, -0x03, +0x05, -0x05, -0x03, -0x03, -0x01, +0x08, -0x03, -0x03, -0x04, -0x03, -0x07], + [+0x00, -0x03, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, -0x02, +0x03, +0x01, -0x03, +0x01, -0x02, -0x02, -0x01, +0x00, -0x06, -0x03, +0x04, -0x02, -0x02, -0x01, -0x07], + [+0x00, -0x01, +0x02, +0x03, -0x04, +0x01, +0x02, +0x00, +0x01, -0x02, -0x04, +0x00, -0x03, -0x04, -0x01, +0x00, +0x00, -0x05, -0x03, -0x02, +0x03, +0x02, -0x01, -0x07], + [+0x00, +0x00, +0x01, +0x02, -0x05, +0x03, +0x03, -0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x05, -0x01, -0x01, -0x01, -0x06, -0x04, -0x02, +0x02, +0x03, -0x01, -0x07], + [+0x00, -0x01, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x04, -0x03, -0x01, -0x01, -0x01, -0x01, -0x07], + [-0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, +0x01]] + +PAM170 = [[+0x03, -0x03, +0x00, +0x00, -0x03, -0x01, +0x00, +0x01, -0x03, -0x01, -0x03, -0x02, -0x02, -0x05, +0x01, +0x02, +0x02, -0x08, -0x05, +0x00, +0x00, +0x00, -0x01, -0x0A], + [-0x03, +0x08, -0x01, -0x03, -0x05, +0x01, -0x02, -0x04, +0x02, -0x03, -0x04, +0x04, -0x01, -0x06, -0x01, -0x01, -0x02, +0x02, -0x06, -0x04, -0x02, +0x00, -0x02, -0x0A], + [+0x00, -0x01, +0x04, +0x03, -0x05, +0x00, +0x02, +0x00, +0x02, -0x03, -0x04, +0x01, -0x03, -0x05, -0x01, +0x01, +0x00, -0x05, -0x03, -0x03, +0x03, +0x01, -0x01, -0x0A], + [+0x00, -0x03, +0x03, +0x06, -0x07, +0x02, +0x05, +0x00, +0x00, -0x04, -0x06, -0x01, -0x04, -0x08, -0x02, +0x00, -0x01, -0x09, -0x06, -0x04, +0x05, +0x04, -0x01, -0x0A], + [-0x03, -0x05, -0x05, -0x07, +0x0D, -0x08, -0x08, -0x05, -0x05, -0x03, -0x09, -0x08, -0x07, -0x06, -0x04, +0x00, -0x03, -0x0A, +0x00, -0x03, -0x06, -0x08, -0x04, -0x0A], + [-0x01, +0x01, +0x00, +0x02, -0x08, +0x06, +0x03, -0x02, +0x04, -0x03, -0x02, +0x00, -0x01, -0x07, +0x00, -0x01, -0x02, -0x07, -0x06, -0x03, +0x01, +0x05, -0x01, -0x0A], + [+0x00, -0x02, +0x02, +0x05, -0x08, +0x03, +0x06, +0x00, +0x00, -0x03, -0x05, -0x01, -0x03, -0x08, -0x01, -0x01, -0x01, -0x0A, -0x06, -0x03, +0x03, +0x05, -0x01, -0x0A], + [+0x01, -0x04, +0x00, +0x00, -0x05, -0x02, +0x00, +0x06, -0x04, -0x04, -0x06, -0x03, -0x04, -0x06, -0x02, +0x01, -0x01, -0x09, -0x07, -0x02, +0x00, -0x01, -0x02, -0x0A], + [-0x03, +0x02, +0x02, +0x00, -0x05, +0x04, +0x00, -0x04, +0x09, -0x04, -0x03, -0x01, -0x04, -0x03, -0x01, -0x02, -0x02, -0x04, +0x00, -0x03, +0x01, +0x02, -0x01, -0x0A], + [-0x01, -0x03, -0x03, -0x04, -0x03, -0x03, -0x03, -0x04, -0x04, +0x07, +0x02, -0x03, +0x02, +0x01, -0x03, -0x02, +0x00, -0x07, -0x02, +0x05, -0x03, -0x03, -0x01, -0x0A], + [-0x03, -0x04, -0x04, -0x06, -0x09, -0x02, -0x05, -0x06, -0x03, +0x02, +0x07, -0x04, +0x04, +0x01, -0x04, -0x04, -0x03, -0x03, -0x02, +0x02, -0x05, -0x04, -0x02, -0x0A], + [-0x02, +0x04, +0x01, -0x01, -0x08, +0x00, -0x01, -0x03, -0x01, -0x03, -0x04, +0x06, +0x01, -0x08, -0x02, -0x01, +0x00, -0x05, -0x06, -0x04, +0x00, +0x00, -0x02, -0x0A], + [-0x02, -0x01, -0x03, -0x04, -0x07, -0x01, -0x03, -0x04, -0x04, +0x02, +0x04, +0x01, +0x0A, +0x00, -0x03, -0x02, -0x01, -0x06, -0x04, +0x02, -0x04, -0x02, -0x01, -0x0A], + [-0x05, -0x06, -0x05, -0x08, -0x06, -0x07, -0x08, -0x06, -0x03, +0x01, +0x01, -0x08, +0x00, +0x0A, -0x06, -0x04, -0x05, -0x01, +0x07, -0x02, -0x06, -0x07, -0x04, -0x0A], + [+0x01, -0x01, -0x01, -0x02, -0x04, +0x00, -0x01, -0x02, -0x01, -0x03, -0x04, -0x02, -0x03, -0x06, +0x08, +0x01, +0x00, -0x08, -0x07, -0x02, -0x02, -0x01, -0x01, -0x0A], + [+0x02, -0x01, +0x01, +0x00, +0x00, -0x01, -0x01, +0x01, -0x02, -0x02, -0x04, -0x01, -0x02, -0x04, +0x01, +0x03, +0x02, -0x03, -0x04, -0x02, +0x01, -0x01, +0x00, -0x0A], + [+0x02, -0x02, +0x00, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, +0x00, -0x03, +0x00, -0x01, -0x05, +0x00, +0x02, +0x05, -0x07, -0x04, +0x00, +0x00, -0x01, -0x01, -0x0A], + [-0x08, +0x02, -0x05, -0x09, -0x0A, -0x07, -0x0A, -0x09, -0x04, -0x07, -0x03, -0x05, -0x06, -0x01, -0x08, -0x03, -0x07, +0x12, -0x01, -0x09, -0x07, -0x08, -0x06, -0x0A], + [-0x05, -0x06, -0x03, -0x06, +0x00, -0x06, -0x06, -0x07, +0x00, -0x02, -0x02, -0x06, -0x04, +0x07, -0x07, -0x04, -0x04, -0x01, +0x0C, -0x04, -0x04, -0x06, -0x04, -0x0A], + [+0x00, -0x04, -0x03, -0x04, -0x03, -0x03, -0x03, -0x02, -0x03, +0x05, +0x02, -0x04, +0x02, -0x02, -0x02, -0x02, +0x00, -0x09, -0x04, +0x06, -0x03, -0x03, -0x01, -0x0A], + [+0x00, -0x02, +0x03, +0x05, -0x06, +0x01, +0x03, +0x00, +0x01, -0x03, -0x05, +0x00, -0x04, -0x06, -0x02, +0x01, +0x00, -0x07, -0x04, -0x03, +0x04, +0x03, -0x01, -0x0A], + [+0x00, +0x00, +0x01, +0x04, -0x08, +0x05, +0x05, -0x01, +0x02, -0x03, -0x04, +0x00, -0x02, -0x07, -0x01, -0x01, -0x01, -0x08, -0x06, -0x03, +0x03, +0x05, -0x01, -0x0A], + [-0x01, -0x02, -0x01, -0x01, -0x04, -0x01, -0x01, -0x02, -0x01, -0x01, -0x02, -0x02, -0x01, -0x04, -0x01, +0x00, -0x01, -0x06, -0x04, -0x01, -0x01, -0x01, -0x02, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM180 = [[+0x03, -0x03, +0x00, +0x00, -0x03, -0x01, +0x00, +0x01, -0x02, -0x01, -0x03, -0x02, -0x02, -0x05, +0x01, +0x01, +0x02, -0x08, -0x05, +0x00, +0x00, +0x00, -0x01, -0x0A], + [-0x03, +0x08, -0x01, -0x03, -0x05, +0x01, -0x02, -0x04, +0x02, -0x03, -0x04, +0x04, -0x01, -0x06, -0x01, -0x01, -0x02, +0x02, -0x06, -0x04, -0x02, +0x00, -0x02, -0x0A], + [+0x00, -0x01, +0x04, +0x03, -0x05, +0x00, +0x02, +0x00, +0x02, -0x03, -0x04, +0x01, -0x03, -0x05, -0x01, +0x01, +0x00, -0x05, -0x02, -0x03, +0x03, +0x01, -0x01, -0x0A], + [+0x00, -0x03, +0x03, +0x05, -0x07, +0x02, +0x04, +0x00, +0x00, -0x03, -0x06, +0x00, -0x04, -0x08, -0x02, +0x00, -0x01, -0x09, -0x06, -0x03, +0x04, +0x03, -0x01, -0x0A], + [-0x03, -0x05, -0x05, -0x07, +0x0D, -0x07, -0x07, -0x05, -0x04, -0x03, -0x08, -0x07, -0x07, -0x06, -0x04, +0x00, -0x03, -0x0A, +0x00, -0x03, -0x06, -0x07, -0x04, -0x0A], + [-0x01, +0x01, +0x00, +0x02, -0x07, +0x06, +0x03, -0x02, +0x04, -0x03, -0x02, +0x00, -0x01, -0x06, +0x00, -0x01, -0x02, -0x06, -0x06, -0x03, +0x01, +0x05, -0x01, -0x0A], + [+0x00, -0x02, +0x02, +0x04, -0x07, +0x03, +0x05, +0x00, +0x00, -0x03, -0x05, -0x01, -0x03, -0x07, -0x01, -0x01, -0x01, -0x09, -0x06, -0x03, +0x03, +0x05, -0x01, -0x0A], + [+0x01, -0x04, +0x00, +0x00, -0x05, -0x02, +0x00, +0x06, -0x03, -0x04, -0x06, -0x03, -0x04, -0x06, -0x01, +0x01, -0x01, -0x09, -0x07, -0x02, +0x00, -0x01, -0x02, -0x0A], + [-0x02, +0x02, +0x02, +0x00, -0x04, +0x04, +0x00, -0x03, +0x08, -0x04, -0x03, -0x01, -0x03, -0x03, -0x01, -0x02, -0x02, -0x04, +0x00, -0x03, +0x01, +0x02, -0x01, -0x0A], + [-0x01, -0x03, -0x03, -0x03, -0x03, -0x03, -0x03, -0x04, -0x04, +0x06, +0x02, -0x03, +0x02, +0x01, -0x03, -0x02, +0x00, -0x07, -0x02, +0x05, -0x03, -0x03, -0x01, -0x0A], + [-0x03, -0x04, -0x04, -0x06, -0x08, -0x02, -0x05, -0x06, -0x03, +0x02, +0x07, -0x04, +0x04, +0x01, -0x04, -0x04, -0x03, -0x03, -0x02, +0x02, -0x05, -0x03, -0x02, -0x0A], + [-0x02, +0x04, +0x01, +0x00, -0x07, +0x00, -0x01, -0x03, -0x01, -0x03, -0x04, +0x06, +0x01, -0x07, -0x02, -0x01, +0x00, -0x05, -0x06, -0x04, +0x00, +0x00, -0x01, -0x0A], + [-0x02, -0x01, -0x03, -0x04, -0x07, -0x01, -0x03, -0x04, -0x03, +0x02, +0x04, +0x01, +0x09, +0x00, -0x03, -0x02, -0x01, -0x06, -0x04, +0x02, -0x03, -0x02, -0x01, -0x0A], + [-0x05, -0x06, -0x05, -0x08, -0x06, -0x06, -0x07, -0x06, -0x03, +0x01, +0x01, -0x07, +0x00, +0x0A, -0x06, -0x04, -0x04, +0x00, +0x07, -0x02, -0x06, -0x07, -0x03, -0x0A], + [+0x01, -0x01, -0x01, -0x02, -0x04, +0x00, -0x01, -0x01, -0x01, -0x03, -0x04, -0x02, -0x03, -0x06, +0x08, +0x01, +0x00, -0x07, -0x07, -0x02, -0x02, -0x01, -0x01, -0x0A], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x01, -0x01, +0x01, -0x02, -0x02, -0x04, -0x01, -0x02, -0x04, +0x01, +0x03, +0x02, -0x03, -0x04, -0x02, +0x01, -0x01, +0x00, -0x0A], + [+0x02, -0x02, +0x00, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, +0x00, -0x03, +0x00, -0x01, -0x04, +0x00, +0x02, +0x04, -0x07, -0x04, +0x00, +0x00, -0x01, -0x01, -0x0A], + [-0x08, +0x02, -0x05, -0x09, -0x0A, -0x06, -0x09, -0x09, -0x04, -0x07, -0x03, -0x05, -0x06, +0x00, -0x07, -0x03, -0x07, +0x12, -0x01, -0x08, -0x07, -0x08, -0x06, -0x0A], + [-0x05, -0x06, -0x02, -0x06, +0x00, -0x06, -0x06, -0x07, +0x00, -0x02, -0x02, -0x06, -0x04, +0x07, -0x07, -0x04, -0x04, -0x01, +0x0B, -0x04, -0x04, -0x06, -0x03, -0x0A], + [+0x00, -0x04, -0x03, -0x03, -0x03, -0x03, -0x03, -0x02, -0x03, +0x05, +0x02, -0x04, +0x02, -0x02, -0x02, -0x02, +0x00, -0x08, -0x04, +0x06, -0x03, -0x03, -0x01, -0x0A], + [+0x00, -0x02, +0x03, +0x04, -0x06, +0x01, +0x03, +0x00, +0x01, -0x03, -0x05, +0x00, -0x03, -0x06, -0x02, +0x01, +0x00, -0x07, -0x04, -0x03, +0x04, +0x03, -0x01, -0x0A], + [+0x00, +0x00, +0x01, +0x03, -0x07, +0x05, +0x05, -0x01, +0x02, -0x03, -0x03, +0x00, -0x02, -0x07, -0x01, -0x01, -0x01, -0x08, -0x06, -0x03, +0x03, +0x05, -0x01, -0x0A], + [-0x01, -0x02, -0x01, -0x01, -0x04, -0x01, -0x01, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, -0x01, -0x06, -0x03, -0x01, -0x01, -0x01, -0x01, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM190 = [[+0x03, -0x02, +0x00, +0x00, -0x03, -0x01, +0x00, +0x01, -0x02, -0x01, -0x03, -0x02, -0x02, -0x05, +0x01, +0x01, +0x02, -0x07, -0x04, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x02, +0x08, -0x01, -0x02, -0x05, +0x01, -0x02, -0x04, +0x02, -0x03, -0x04, +0x04, -0x01, -0x06, +0x00, -0x01, -0x02, +0x02, -0x05, -0x03, -0x01, +0x00, -0x01, -0x09], + [+0x00, -0x01, +0x03, +0x03, -0x05, +0x01, +0x02, +0x00, +0x02, -0x02, -0x04, +0x01, -0x03, -0x04, -0x01, +0x01, +0x00, -0x05, -0x02, -0x03, +0x03, +0x01, -0x01, -0x09], + [+0x00, -0x02, +0x03, +0x05, -0x07, +0x02, +0x04, +0x00, +0x00, -0x03, -0x05, +0x00, -0x04, -0x07, -0x02, +0x00, -0x01, -0x08, -0x05, -0x03, +0x04, +0x03, -0x01, -0x09], + [-0x03, -0x05, -0x05, -0x07, +0x0D, -0x07, -0x07, -0x04, -0x04, -0x03, -0x08, -0x07, -0x07, -0x06, -0x04, +0x00, -0x03, -0x09, +0x00, -0x03, -0x06, -0x07, -0x04, -0x09], + [-0x01, +0x01, +0x01, +0x02, -0x07, +0x06, +0x03, -0x02, +0x03, -0x03, -0x02, +0x01, -0x01, -0x06, +0x00, -0x01, -0x01, -0x06, -0x05, -0x03, +0x01, +0x04, -0x01, -0x09], + [+0x00, -0x02, +0x02, +0x04, -0x07, +0x03, +0x05, +0x00, +0x00, -0x03, -0x04, -0x01, -0x03, -0x07, -0x01, +0x00, -0x01, -0x09, -0x05, -0x03, +0x03, +0x04, -0x01, -0x09], + [+0x01, -0x04, +0x00, +0x00, -0x04, -0x02, +0x00, +0x06, -0x03, -0x04, -0x05, -0x03, -0x04, -0x06, -0x01, +0x01, -0x01, -0x09, -0x07, -0x02, +0x00, -0x01, -0x01, -0x09], + [-0x02, +0x02, +0x02, +0x00, -0x04, +0x03, +0x00, -0x03, +0x08, -0x03, -0x03, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, -0x03, +0x00, -0x03, +0x01, +0x02, -0x01, -0x09], + [-0x01, -0x03, -0x02, -0x03, -0x03, -0x03, -0x03, -0x04, -0x03, +0x06, +0x02, -0x03, +0x02, +0x01, -0x03, -0x02, +0x00, -0x07, -0x02, +0x04, -0x03, -0x03, -0x01, -0x09], + [-0x03, -0x04, -0x04, -0x05, -0x08, -0x02, -0x04, -0x05, -0x03, +0x02, +0x07, -0x04, +0x04, +0x02, -0x03, -0x04, -0x02, -0x03, -0x02, +0x02, -0x05, -0x03, -0x02, -0x09], + [-0x02, +0x04, +0x01, +0x00, -0x07, +0x01, -0x01, -0x03, -0x01, -0x03, -0x04, +0x06, +0x01, -0x07, -0x02, +0x00, +0x00, -0x05, -0x06, -0x03, +0x00, +0x00, -0x01, -0x09], + [-0x02, -0x01, -0x03, -0x04, -0x07, -0x01, -0x03, -0x04, -0x03, +0x02, +0x04, +0x01, +0x09, +0x00, -0x03, -0x02, -0x01, -0x06, -0x04, +0x02, -0x03, -0x02, -0x01, -0x09], + [-0x05, -0x06, -0x04, -0x07, -0x06, -0x06, -0x07, -0x06, -0x02, +0x01, +0x02, -0x07, +0x00, +0x0A, -0x06, -0x04, -0x04, +0x00, +0x07, -0x02, -0x06, -0x07, -0x03, -0x09], + [+0x01, +0x00, -0x01, -0x02, -0x04, +0x00, -0x01, -0x01, -0x01, -0x03, -0x03, -0x02, -0x03, -0x06, +0x07, +0x01, +0x00, -0x07, -0x06, -0x02, -0x01, -0x01, -0x01, -0x09], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x02, -0x04, +0x00, -0x02, -0x04, +0x01, +0x03, +0x02, -0x03, -0x04, -0x02, +0x01, -0x01, +0x00, -0x09], + [+0x02, -0x02, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x02, +0x00, -0x02, +0x00, -0x01, -0x04, +0x00, +0x02, +0x04, -0x06, -0x03, +0x00, +0x00, -0x01, +0x00, -0x09], + [-0x07, +0x02, -0x05, -0x08, -0x09, -0x06, -0x09, -0x09, -0x03, -0x07, -0x03, -0x05, -0x06, +0x00, -0x07, -0x03, -0x06, +0x12, -0x01, -0x08, -0x06, -0x07, -0x05, -0x09], + [-0x04, -0x05, -0x02, -0x05, +0x00, -0x05, -0x05, -0x07, +0x00, -0x02, -0x02, -0x06, -0x04, +0x07, -0x06, -0x04, -0x03, -0x01, +0x0B, -0x03, -0x04, -0x05, -0x03, -0x09], + [+0x00, -0x03, -0x03, -0x03, -0x03, -0x03, -0x03, -0x02, -0x03, +0x04, +0x02, -0x03, +0x02, -0x02, -0x02, -0x02, +0x00, -0x08, -0x03, +0x06, -0x03, -0x03, -0x01, -0x09], + [+0x00, -0x01, +0x03, +0x04, -0x06, +0x01, +0x03, +0x00, +0x01, -0x03, -0x05, +0x00, -0x03, -0x06, -0x01, +0x01, +0x00, -0x06, -0x04, -0x03, +0x04, +0x02, -0x01, -0x09], + [+0x00, +0x00, +0x01, +0x03, -0x07, +0x04, +0x04, -0x01, +0x02, -0x03, -0x03, +0x00, -0x02, -0x07, -0x01, -0x01, -0x01, -0x07, -0x05, -0x03, +0x02, +0x04, -0x01, -0x09], + [+0x00, -0x01, -0x01, -0x01, -0x04, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM200 = [[+0x03, -0x02, +0x00, +0x00, -0x03, -0x01, +0x00, +0x01, -0x02, -0x01, -0x02, -0x02, -0x02, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x02, +0x07, +0x00, -0x02, -0x04, +0x01, -0x02, -0x04, +0x02, -0x02, -0x04, +0x04, -0x01, -0x05, +0x00, -0x01, -0x01, +0x02, -0x05, -0x03, -0x01, +0x00, -0x01, -0x09], + [+0x00, +0x00, +0x03, +0x03, -0x05, +0x01, +0x02, +0x00, +0x02, -0x02, -0x04, +0x01, -0x02, -0x04, -0x01, +0x01, +0x00, -0x05, -0x02, -0x02, +0x03, +0x01, +0x00, -0x09], + [+0x00, -0x02, +0x03, +0x05, -0x06, +0x02, +0x04, +0x00, +0x00, -0x03, -0x05, +0x00, -0x04, -0x07, -0x02, +0x00, +0x00, -0x08, -0x05, -0x03, +0x04, +0x03, -0x01, -0x09], + [-0x03, -0x04, -0x05, -0x06, +0x0C, -0x07, -0x07, -0x04, -0x04, -0x03, -0x07, -0x07, -0x06, -0x06, -0x04, +0x00, -0x03, -0x09, +0x00, -0x02, -0x05, -0x07, -0x04, -0x09], + [-0x01, +0x01, +0x01, +0x02, -0x07, +0x05, +0x03, -0x02, +0x03, -0x03, -0x02, +0x01, -0x01, -0x06, +0x00, -0x01, -0x01, -0x06, -0x05, -0x03, +0x01, +0x04, -0x01, -0x09], + [+0x00, -0x02, +0x02, +0x04, -0x07, +0x03, +0x05, +0x00, +0x00, -0x03, -0x04, +0x00, -0x03, -0x07, -0x01, +0x00, -0x01, -0x09, -0x05, -0x02, +0x03, +0x04, -0x01, -0x09], + [+0x01, -0x04, +0x00, +0x00, -0x04, -0x02, +0x00, +0x06, -0x03, -0x03, -0x05, -0x02, -0x04, -0x06, -0x01, +0x01, +0x00, -0x08, -0x06, -0x02, +0x00, -0x01, -0x01, -0x09], + [-0x02, +0x02, +0x02, +0x00, -0x04, +0x03, +0x00, -0x03, +0x08, -0x03, -0x03, -0x01, -0x03, -0x02, -0x01, -0x01, -0x02, -0x03, +0x00, -0x03, +0x01, +0x02, -0x01, -0x09], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x03, -0x03, -0x03, -0x03, +0x06, +0x02, -0x02, +0x02, +0x01, -0x03, -0x02, +0x00, -0x06, -0x02, +0x04, -0x03, -0x03, -0x01, -0x09], + [-0x02, -0x04, -0x04, -0x05, -0x07, -0x02, -0x04, -0x05, -0x03, +0x02, +0x07, -0x04, +0x04, +0x02, -0x03, -0x04, -0x02, -0x02, -0x02, +0x02, -0x04, -0x03, -0x02, -0x09], + [-0x02, +0x04, +0x01, +0x00, -0x07, +0x01, +0x00, -0x02, -0x01, -0x02, -0x04, +0x06, +0x01, -0x07, -0x02, +0x00, +0x00, -0x04, -0x05, -0x03, +0x00, +0x00, -0x01, -0x09], + [-0x02, -0x01, -0x02, -0x04, -0x06, -0x01, -0x03, -0x04, -0x03, +0x02, +0x04, +0x01, +0x08, +0x00, -0x03, -0x02, -0x01, -0x05, -0x03, +0x02, -0x03, -0x02, -0x01, -0x09], + [-0x04, -0x05, -0x04, -0x07, -0x06, -0x06, -0x07, -0x06, -0x02, +0x01, +0x02, -0x07, +0x00, +0x0A, -0x06, -0x04, -0x04, +0x00, +0x07, -0x02, -0x06, -0x06, -0x03, -0x09], + [+0x01, +0x00, -0x01, -0x02, -0x04, +0x00, -0x01, -0x01, -0x01, -0x03, -0x03, -0x02, -0x03, -0x06, +0x07, +0x01, +0x00, -0x07, -0x06, -0x02, -0x01, -0x01, -0x01, -0x09], + [+0x01, -0x01, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x02, -0x04, +0x00, -0x02, -0x04, +0x01, +0x02, +0x02, -0x03, -0x03, -0x01, +0x01, -0x01, +0x00, -0x09], + [+0x01, -0x01, +0x00, +0x00, -0x03, -0x01, -0x01, +0x00, -0x02, +0x00, -0x02, +0x00, -0x01, -0x04, +0x00, +0x02, +0x04, -0x06, -0x03, +0x00, +0x00, -0x01, +0x00, -0x09], + [-0x07, +0x02, -0x05, -0x08, -0x09, -0x06, -0x09, -0x08, -0x03, -0x06, -0x02, -0x04, -0x05, +0x00, -0x07, -0x03, -0x06, +0x12, -0x01, -0x08, -0x06, -0x07, -0x05, -0x09], + [-0x04, -0x05, -0x02, -0x05, +0x00, -0x05, -0x05, -0x06, +0x00, -0x02, -0x02, -0x05, -0x03, +0x07, -0x06, -0x03, -0x03, -0x01, +0x0B, -0x03, -0x04, -0x05, -0x03, -0x09], + [+0x00, -0x03, -0x02, -0x03, -0x02, -0x03, -0x02, -0x02, -0x03, +0x04, +0x02, -0x03, +0x02, -0x02, -0x02, -0x01, +0x00, -0x08, -0x03, +0x05, -0x03, -0x02, -0x01, -0x09], + [+0x00, -0x01, +0x03, +0x04, -0x05, +0x01, +0x03, +0x00, +0x01, -0x03, -0x04, +0x00, -0x03, -0x06, -0x01, +0x01, +0x00, -0x06, -0x04, -0x03, +0x03, +0x02, -0x01, -0x09], + [+0x00, +0x00, +0x01, +0x03, -0x07, +0x04, +0x04, -0x01, +0x02, -0x03, -0x03, +0x00, -0x02, -0x06, -0x01, -0x01, -0x01, -0x07, -0x05, -0x02, +0x02, +0x04, -0x01, -0x09], + [+0x00, -0x01, +0x00, -0x01, -0x04, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM210 = [[+0x02, -0x02, +0x00, +0x00, -0x02, -0x01, +0x00, +0x01, -0x02, -0x01, -0x02, -0x02, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x02, +0x07, +0x00, -0x02, -0x04, +0x01, -0x02, -0x03, +0x02, -0x02, -0x04, +0x04, -0x01, -0x05, +0x00, +0x00, -0x01, +0x02, -0x05, -0x03, -0x01, +0x00, -0x01, -0x09], + [+0x00, +0x00, +0x03, +0x02, -0x04, +0x01, +0x02, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x01, +0x00, -0x05, -0x02, -0x02, +0x03, +0x01, +0x00, -0x09], + [+0x00, -0x02, +0x02, +0x05, -0x06, +0x02, +0x04, +0x00, +0x01, -0x03, -0x05, +0x00, -0x03, -0x07, -0x01, +0x00, +0x00, -0x08, -0x05, -0x03, +0x04, +0x03, -0x01, -0x09], + [-0x02, -0x04, -0x04, -0x06, +0x0C, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x03, -0x09, +0x00, -0x02, -0x05, -0x06, -0x04, -0x09], + [-0x01, +0x01, +0x01, +0x02, -0x06, +0x05, +0x03, -0x02, +0x03, -0x03, -0x02, +0x01, -0x01, -0x06, +0x00, -0x01, -0x01, -0x06, -0x05, -0x02, +0x01, +0x04, -0x01, -0x09], + [+0x00, -0x02, +0x02, +0x04, -0x06, +0x03, +0x05, +0x00, +0x00, -0x02, -0x04, +0x00, -0x03, -0x06, -0x01, +0x00, -0x01, -0x08, -0x05, -0x02, +0x03, +0x04, -0x01, -0x09], + [+0x01, -0x03, +0x00, +0x00, -0x04, -0x02, +0x00, +0x05, -0x03, -0x03, -0x05, -0x02, -0x03, -0x05, -0x01, +0x01, +0x00, -0x08, -0x06, -0x02, +0x00, -0x01, -0x01, -0x09], + [-0x02, +0x02, +0x02, +0x01, -0x04, +0x03, +0x00, -0x03, +0x08, -0x03, -0x02, +0x00, -0x03, -0x02, +0x00, -0x01, -0x02, -0x03, +0x00, -0x03, +0x01, +0x02, -0x01, -0x09], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x03, -0x02, -0x03, -0x03, +0x05, +0x02, -0x02, +0x02, +0x01, -0x03, -0x02, +0x00, -0x06, -0x01, +0x04, -0x03, -0x03, -0x01, -0x09], + [-0x02, -0x04, -0x03, -0x05, -0x07, -0x02, -0x04, -0x05, -0x02, +0x02, +0x07, -0x03, +0x04, +0x02, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x04, -0x03, -0x02, -0x09], + [-0x02, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x05, +0x01, -0x06, -0x02, +0x00, +0x00, -0x04, -0x05, -0x03, +0x00, +0x00, -0x01, -0x09], + [-0x01, -0x01, -0x02, -0x03, -0x06, -0x01, -0x03, -0x03, -0x03, +0x02, +0x04, +0x01, +0x08, +0x00, -0x03, -0x02, -0x01, -0x05, -0x03, +0x02, -0x03, -0x02, -0x01, -0x09], + [-0x04, -0x05, -0x04, -0x07, -0x05, -0x06, -0x06, -0x05, -0x02, +0x01, +0x02, -0x06, +0x00, +0x0A, -0x05, -0x04, -0x04, +0x00, +0x07, -0x02, -0x05, -0x06, -0x03, -0x09], + [+0x01, +0x00, -0x01, -0x01, -0x03, +0x00, -0x01, -0x01, +0x00, -0x03, -0x03, -0x02, -0x03, -0x05, +0x07, +0x01, +0x00, -0x07, -0x06, -0x02, -0x01, +0x00, -0x01, -0x09], + [+0x01, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x02, -0x03, +0x00, -0x02, -0x04, +0x01, +0x02, +0x02, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, -0x01, +0x00, +0x00, -0x03, -0x01, -0x01, +0x00, -0x02, +0x00, -0x02, +0x00, -0x01, -0x04, +0x00, +0x02, +0x03, -0x06, -0x03, +0x00, +0x00, -0x01, +0x00, -0x09], + [-0x07, +0x02, -0x05, -0x08, -0x09, -0x06, -0x08, -0x08, -0x03, -0x06, -0x02, -0x04, -0x05, +0x00, -0x07, -0x03, -0x06, +0x12, -0x01, -0x07, -0x06, -0x07, -0x05, -0x09], + [-0x04, -0x05, -0x02, -0x05, +0x00, -0x05, -0x05, -0x06, +0x00, -0x01, -0x01, -0x05, -0x03, +0x07, -0x06, -0x03, -0x03, -0x01, +0x0B, -0x03, -0x04, -0x05, -0x03, -0x09], + [+0x00, -0x03, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, -0x03, +0x04, +0x02, -0x03, +0x02, -0x02, -0x02, -0x01, +0x00, -0x07, -0x03, +0x05, -0x02, -0x02, -0x01, -0x09], + [+0x00, -0x01, +0x03, +0x04, -0x05, +0x01, +0x03, +0x00, +0x01, -0x03, -0x04, +0x00, -0x03, -0x05, -0x01, +0x01, +0x00, -0x06, -0x04, -0x02, +0x03, +0x02, -0x01, -0x09], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x04, +0x04, -0x01, +0x02, -0x03, -0x03, +0x00, -0x02, -0x06, +0x00, +0x00, -0x01, -0x07, -0x05, -0x02, +0x02, +0x04, -0x01, -0x09], + [+0x00, -0x01, +0x00, -0x01, -0x04, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM220 = [[+0x02, -0x02, +0x00, +0x00, -0x02, -0x01, +0x00, +0x01, -0x02, -0x01, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x02, +0x07, +0x00, -0x02, -0x04, +0x01, -0x01, -0x03, +0x02, -0x02, -0x03, +0x04, -0x01, -0x05, +0x00, +0x00, -0x01, +0x02, -0x05, -0x03, -0x01, +0x00, -0x01, -0x08], + [+0x00, +0x00, +0x03, +0x02, -0x04, +0x01, +0x02, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x08], + [+0x00, -0x02, +0x02, +0x04, -0x06, +0x02, +0x04, +0x00, +0x01, -0x03, -0x05, +0x00, -0x03, -0x06, -0x01, +0x00, +0x00, -0x08, -0x05, -0x03, +0x04, +0x03, -0x01, -0x08], + [-0x02, -0x04, -0x04, -0x06, +0x0C, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x03, -0x08, +0x00, -0x02, -0x05, -0x06, -0x03, -0x08], + [-0x01, +0x01, +0x01, +0x02, -0x06, +0x05, +0x03, -0x02, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, -0x01, -0x01, -0x05, -0x05, -0x02, +0x01, +0x04, -0x01, -0x08], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x03, +0x04, +0x00, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, -0x01, +0x00, -0x01, -0x08, -0x05, -0x02, +0x03, +0x04, -0x01, -0x08], + [+0x01, -0x03, +0x00, +0x00, -0x04, -0x02, +0x00, +0x05, -0x03, -0x03, -0x05, -0x02, -0x03, -0x05, -0x01, +0x01, +0x00, -0x08, -0x06, -0x02, +0x00, -0x01, -0x01, -0x08], + [-0x02, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x03, +0x07, -0x03, -0x02, +0x00, -0x03, -0x02, +0x00, -0x01, -0x02, -0x03, +0x00, -0x03, +0x01, +0x02, -0x01, -0x08], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x02, -0x02, -0x03, -0x03, +0x05, +0x02, -0x02, +0x02, +0x01, -0x02, -0x02, +0x00, -0x06, -0x01, +0x04, -0x02, -0x02, -0x01, -0x08], + [-0x02, -0x03, -0x03, -0x05, -0x07, -0x02, -0x04, -0x05, -0x02, +0x02, +0x06, -0x03, +0x04, +0x02, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x04, -0x03, -0x02, -0x08], + [-0x01, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x05, +0x01, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x03, +0x00, +0x00, -0x01, -0x08], + [-0x01, -0x01, -0x02, -0x03, -0x06, -0x01, -0x02, -0x03, -0x03, +0x02, +0x04, +0x01, +0x08, +0x00, -0x02, -0x02, -0x01, -0x05, -0x03, +0x02, -0x03, -0x02, -0x01, -0x08], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x05, -0x06, -0x05, -0x02, +0x01, +0x02, -0x06, +0x00, +0x0A, -0x05, -0x04, -0x04, +0x00, +0x07, -0x02, -0x05, -0x06, -0x03, -0x08], + [+0x01, +0x00, -0x01, -0x01, -0x03, +0x00, -0x01, -0x01, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x07, +0x01, +0x00, -0x06, -0x06, -0x01, -0x01, +0x00, -0x01, -0x08], + [+0x01, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x02, -0x03, +0x00, -0x02, -0x04, +0x01, +0x02, +0x02, -0x03, -0x03, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, -0x01, +0x00, +0x00, -0x03, -0x01, -0x01, +0x00, -0x02, +0x00, -0x02, +0x00, -0x01, -0x04, +0x00, +0x02, +0x03, -0x06, -0x03, +0x00, +0x00, -0x01, +0x00, -0x08], + [-0x06, +0x02, -0x04, -0x08, -0x08, -0x05, -0x08, -0x08, -0x03, -0x06, -0x02, -0x04, -0x05, +0x00, -0x06, -0x03, -0x06, +0x11, +0x00, -0x07, -0x06, -0x07, -0x05, -0x08], + [-0x04, -0x05, -0x02, -0x05, +0x00, -0x05, -0x05, -0x06, +0x00, -0x01, -0x01, -0x05, -0x03, +0x07, -0x06, -0x03, -0x03, +0x00, +0x0B, -0x03, -0x03, -0x05, -0x03, -0x08], + [+0x00, -0x03, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, -0x03, +0x04, +0x02, -0x03, +0x02, -0x02, -0x01, -0x01, +0x00, -0x07, -0x03, +0x05, -0x02, -0x02, -0x01, -0x08], + [+0x00, -0x01, +0x02, +0x04, -0x05, +0x01, +0x03, +0x00, +0x01, -0x02, -0x04, +0x00, -0x03, -0x05, -0x01, +0x00, +0x00, -0x06, -0x03, -0x02, +0x03, +0x02, -0x01, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x04, +0x04, -0x01, +0x02, -0x02, -0x03, +0x00, -0x02, -0x06, +0x00, +0x00, -0x01, -0x07, -0x05, -0x02, +0x02, +0x04, -0x01, -0x08], + [+0x00, -0x01, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM230 = [[+0x02, -0x02, +0x00, +0x00, -0x02, -0x01, +0x00, +0x01, -0x02, -0x01, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x02, +0x07, +0x00, -0x02, -0x04, +0x01, -0x01, -0x03, +0x02, -0x02, -0x03, +0x04, -0x01, -0x05, +0x00, +0x00, -0x01, +0x02, -0x05, -0x03, -0x01, +0x00, -0x01, -0x08], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x08], + [+0x00, -0x02, +0x02, +0x04, -0x06, +0x02, +0x04, +0x01, +0x01, -0x03, -0x04, +0x00, -0x03, -0x06, -0x01, +0x00, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, -0x01, -0x08], + [-0x02, -0x04, -0x04, -0x06, +0x0C, -0x06, -0x06, -0x04, -0x04, -0x02, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x02, -0x08, +0x00, -0x02, -0x05, -0x06, -0x03, -0x08], + [-0x01, +0x01, +0x01, +0x02, -0x06, +0x05, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, -0x01, -0x01, -0x05, -0x04, -0x02, +0x01, +0x04, -0x01, -0x08], + [+0x00, -0x01, +0x01, +0x04, -0x06, +0x03, +0x04, +0x00, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, -0x01, +0x00, -0x01, -0x08, -0x05, -0x02, +0x03, +0x04, -0x01, -0x08], + [+0x01, -0x03, +0x00, +0x01, -0x04, -0x01, +0x00, +0x05, -0x02, -0x03, -0x04, -0x02, -0x03, -0x05, -0x01, +0x01, +0x00, -0x07, -0x06, -0x02, +0x00, -0x01, -0x01, -0x08], + [-0x02, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x07, -0x03, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x02, -0x03, +0x00, -0x02, +0x01, +0x02, -0x01, -0x08], + [-0x01, -0x02, -0x02, -0x03, -0x02, -0x02, -0x02, -0x03, -0x03, +0x05, +0x02, -0x02, +0x02, +0x01, -0x02, -0x02, +0x00, -0x06, -0x01, +0x04, -0x02, -0x02, -0x01, -0x08], + [-0x02, -0x03, -0x03, -0x04, -0x07, -0x02, -0x04, -0x04, -0x02, +0x02, +0x06, -0x03, +0x04, +0x02, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x04, -0x03, -0x02, -0x08], + [-0x01, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x05, +0x00, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x03, +0x01, +0x00, -0x01, -0x08], + [-0x01, -0x01, -0x02, -0x03, -0x06, -0x01, -0x02, -0x03, -0x02, +0x02, +0x04, +0x00, +0x07, +0x00, -0x02, -0x02, -0x01, -0x05, -0x03, +0x02, -0x02, -0x02, -0x01, -0x08], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x05, -0x06, -0x05, -0x02, +0x01, +0x02, -0x06, +0x00, +0x09, -0x05, -0x03, -0x03, +0x00, +0x07, -0x01, -0x05, -0x06, -0x03, -0x08], + [+0x01, +0x00, -0x01, -0x01, -0x03, +0x00, -0x01, -0x01, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x00, -0x06, -0x05, -0x01, -0x01, +0x00, -0x01, -0x08], + [+0x01, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x02, -0x03, +0x00, -0x02, -0x03, +0x01, +0x02, +0x02, -0x03, -0x03, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, -0x01, +0x00, +0x00, -0x02, -0x01, -0x01, +0x00, -0x02, +0x00, -0x02, +0x00, -0x01, -0x03, +0x00, +0x02, +0x03, -0x06, -0x03, +0x00, +0x00, -0x01, +0x00, -0x08], + [-0x06, +0x02, -0x04, -0x07, -0x08, -0x05, -0x08, -0x07, -0x03, -0x06, -0x02, -0x04, -0x05, +0x00, -0x06, -0x03, -0x06, +0x11, +0x00, -0x07, -0x06, -0x06, -0x04, -0x08], + [-0x04, -0x05, -0x02, -0x05, +0x00, -0x04, -0x05, -0x06, +0x00, -0x01, -0x01, -0x05, -0x03, +0x07, -0x05, -0x03, -0x03, +0x00, +0x0A, -0x03, -0x03, -0x05, -0x03, -0x08], + [+0x00, -0x03, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x02, -0x03, +0x02, -0x01, -0x01, -0x01, +0x00, -0x07, -0x03, +0x05, -0x02, -0x02, -0x01, -0x08], + [+0x00, -0x01, +0x02, +0x03, -0x05, +0x01, +0x03, +0x00, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, -0x01, +0x00, +0x00, -0x06, -0x03, -0x02, +0x03, +0x02, -0x01, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x04, +0x04, -0x01, +0x02, -0x02, -0x03, +0x00, -0x02, -0x06, +0x00, +0x00, -0x01, -0x06, -0x05, -0x02, +0x02, +0x04, -0x01, -0x08], + [+0x00, -0x01, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x04, -0x03, -0x01, -0x01, -0x01, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM240 = [[+0x02, -0x02, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x02, +0x06, +0x00, -0x01, -0x04, +0x01, -0x01, -0x03, +0x02, -0x02, -0x03, +0x03, +0x00, -0x05, +0x00, +0x00, -0x01, +0x02, -0x04, -0x03, -0x01, +0x00, -0x01, -0x08], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x08], + [+0x00, -0x01, +0x02, +0x04, -0x05, +0x02, +0x04, +0x01, +0x01, -0x02, -0x04, +0x00, -0x03, -0x06, -0x01, +0x00, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, -0x01, -0x08], + [-0x02, -0x04, -0x04, -0x05, +0x0C, -0x06, -0x06, -0x04, -0x04, -0x02, -0x06, -0x06, -0x05, -0x05, -0x03, +0x00, -0x02, -0x08, +0x00, -0x02, -0x05, -0x06, -0x03, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x06, +0x04, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, -0x01, -0x01, -0x05, -0x04, -0x02, +0x01, +0x03, -0x01, -0x08], + [+0x00, -0x01, +0x01, +0x04, -0x06, +0x03, +0x04, +0x00, +0x01, -0x02, -0x03, +0x00, -0x02, -0x06, -0x01, +0x00, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, -0x01, -0x08], + [+0x01, -0x03, +0x00, +0x01, -0x04, -0x01, +0x00, +0x05, -0x02, -0x03, -0x04, -0x02, -0x03, -0x05, -0x01, +0x01, +0x00, -0x07, -0x05, -0x01, +0x00, +0x00, -0x01, -0x08], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x07, -0x03, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, -0x01, -0x08], + [-0x01, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x03, -0x03, +0x05, +0x02, -0x02, +0x02, +0x01, -0x02, -0x01, +0x00, -0x05, -0x01, +0x04, -0x02, -0x02, -0x01, -0x08], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x02, +0x06, -0x03, +0x04, +0x02, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x04, -0x03, -0x01, -0x08], + [-0x01, +0x03, +0x01, +0x00, -0x06, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x05, +0x00, -0x05, -0x01, +0x00, +0x00, -0x04, -0x05, -0x03, +0x01, +0x00, -0x01, -0x08], + [-0x01, +0x00, -0x02, -0x03, -0x05, -0x01, -0x02, -0x03, -0x02, +0x02, +0x04, +0x00, +0x07, +0x00, -0x02, -0x02, -0x01, -0x04, -0x03, +0x02, -0x02, -0x02, -0x01, -0x08], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x05, -0x06, -0x05, -0x02, +0x01, +0x02, -0x05, +0x00, +0x09, -0x05, -0x03, -0x03, +0x00, +0x07, -0x01, -0x05, -0x05, -0x02, -0x08], + [+0x01, +0x00, -0x01, -0x01, -0x03, +0x00, -0x01, -0x01, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x00, -0x06, -0x05, -0x01, -0x01, +0x00, -0x01, -0x08], + [+0x01, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x02, -0x03, +0x01, +0x02, +0x01, -0x03, -0x03, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, -0x01, +0x00, +0x00, -0x02, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x00, +0x01, +0x03, -0x05, -0x03, +0x00, +0x00, -0x01, +0x00, -0x08], + [-0x06, +0x02, -0x04, -0x07, -0x08, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x04, -0x04, +0x00, -0x06, -0x03, -0x05, +0x11, +0x00, -0x06, -0x05, -0x06, -0x04, -0x08], + [-0x04, -0x04, -0x02, -0x04, +0x00, -0x04, -0x04, -0x05, +0x00, -0x01, -0x01, -0x05, -0x03, +0x07, -0x05, -0x03, -0x03, +0x00, +0x0A, -0x03, -0x03, -0x04, -0x02, -0x08], + [+0x00, -0x03, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x03, +0x02, -0x01, -0x01, -0x01, +0x00, -0x06, -0x03, +0x04, -0x02, -0x02, -0x01, -0x08], + [+0x00, -0x01, +0x02, +0x03, -0x05, +0x01, +0x03, +0x00, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, -0x01, +0x00, +0x00, -0x05, -0x03, -0x02, +0x03, +0x02, -0x01, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x00, -0x02, -0x05, +0x00, +0x00, -0x01, -0x06, -0x04, -0x02, +0x02, +0x03, -0x01, -0x08], + [+0x00, -0x01, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x00, +0x00, -0x04, -0x02, -0x01, -0x01, -0x01, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM250 = [[+0x02, -0x02, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x02, +0x06, +0x00, -0x01, -0x04, +0x01, -0x01, -0x03, +0x02, -0x02, -0x03, +0x03, +0x00, -0x04, +0x00, +0x00, -0x01, +0x02, -0x04, -0x02, -0x01, +0x00, -0x01, -0x08], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x03, +0x00, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x08], + [+0x00, -0x01, +0x02, +0x04, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x00, -0x03, -0x06, -0x01, +0x00, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, -0x01, -0x08], + [-0x02, -0x04, -0x04, -0x05, +0x0C, -0x05, -0x05, -0x03, -0x03, -0x02, -0x06, -0x05, -0x05, -0x04, -0x03, +0x00, -0x02, -0x08, +0x00, -0x02, -0x04, -0x05, -0x03, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x04, +0x02, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, -0x01, -0x01, -0x05, -0x04, -0x02, +0x01, +0x03, -0x01, -0x08], + [+0x00, -0x01, +0x01, +0x03, -0x05, +0x02, +0x04, +0x00, +0x01, -0x02, -0x03, +0x00, -0x02, -0x05, -0x01, +0x00, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, -0x01, -0x08], + [+0x01, -0x03, +0x00, +0x01, -0x03, -0x01, +0x00, +0x05, -0x02, -0x03, -0x04, -0x02, -0x03, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x00, +0x00, -0x01, -0x08], + [-0x01, +0x02, +0x02, +0x01, -0x03, +0x03, +0x01, -0x02, +0x06, -0x02, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, -0x01, -0x08], + [-0x01, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x03, -0x02, +0x05, +0x02, -0x02, +0x02, +0x01, -0x02, -0x01, +0x00, -0x05, -0x01, +0x04, -0x02, -0x02, -0x01, -0x08], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x02, +0x06, -0x03, +0x04, +0x02, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x03, -0x03, -0x01, -0x08], + [-0x01, +0x03, +0x01, +0x00, -0x05, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x05, +0x00, -0x05, -0x01, +0x00, +0x00, -0x03, -0x04, -0x02, +0x01, +0x00, -0x01, -0x08], + [-0x01, +0x00, -0x02, -0x03, -0x05, -0x01, -0x02, -0x03, -0x02, +0x02, +0x04, +0x00, +0x06, +0x00, -0x02, -0x02, -0x01, -0x04, -0x02, +0x02, -0x02, -0x02, -0x01, -0x08], + [-0x03, -0x04, -0x03, -0x06, -0x04, -0x05, -0x05, -0x05, -0x02, +0x01, +0x02, -0x05, +0x00, +0x09, -0x05, -0x03, -0x03, +0x00, +0x07, -0x01, -0x04, -0x05, -0x02, -0x08], + [+0x01, +0x00, +0x00, -0x01, -0x03, +0x00, -0x01, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x00, -0x06, -0x05, -0x01, -0x01, +0x00, -0x01, -0x08], + [+0x01, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x02, -0x03, +0x01, +0x02, +0x01, -0x02, -0x03, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, -0x01, +0x00, +0x00, -0x02, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x00, +0x01, +0x03, -0x05, -0x03, +0x00, +0x00, -0x01, +0x00, -0x08], + [-0x06, +0x02, -0x04, -0x07, -0x08, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x03, -0x04, +0x00, -0x06, -0x02, -0x05, +0x11, +0x00, -0x06, -0x05, -0x06, -0x04, -0x08], + [-0x03, -0x04, -0x02, -0x04, +0x00, -0x04, -0x04, -0x05, +0x00, -0x01, -0x01, -0x04, -0x02, +0x07, -0x05, -0x03, -0x03, +0x00, +0x0A, -0x02, -0x03, -0x04, -0x02, -0x08], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x02, -0x02, -0x01, -0x08], + [+0x00, -0x01, +0x02, +0x03, -0x04, +0x01, +0x03, +0x00, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x00, +0x00, -0x05, -0x03, -0x02, +0x03, +0x02, -0x01, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x00, -0x02, -0x05, +0x00, +0x00, -0x01, -0x06, -0x04, -0x02, +0x02, +0x03, -0x01, -0x08], + [+0x00, -0x01, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x00, +0x00, -0x04, -0x02, -0x01, -0x01, -0x01, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM260 = [[+0x02, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x02, -0x01, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x07], + [-0x01, +0x06, +0x00, -0x01, -0x04, +0x01, -0x01, -0x02, +0x02, -0x02, -0x03, +0x03, +0x00, -0x04, +0x00, +0x00, -0x01, +0x02, -0x04, -0x02, -0x01, +0x00, -0x01, -0x07], + [+0x00, +0x00, +0x02, +0x02, -0x03, +0x01, +0x01, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x03, +0x00, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x07], + [+0x00, -0x01, +0x02, +0x04, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x00, -0x02, -0x05, -0x01, +0x00, +0x00, -0x06, -0x04, -0x02, +0x03, +0x03, -0x01, -0x07], + [-0x02, -0x04, -0x03, -0x05, +0x0C, -0x05, -0x05, -0x03, -0x03, -0x02, -0x06, -0x05, -0x05, -0x04, -0x03, +0x00, -0x02, -0x07, +0x00, -0x02, -0x04, -0x05, -0x03, -0x07], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x04, +0x02, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x04, +0x00, +0x00, -0x01, -0x05, -0x04, -0x02, +0x01, +0x03, +0x00, -0x07], + [+0x00, -0x01, +0x01, +0x03, -0x05, +0x02, +0x04, +0x00, +0x01, -0x02, -0x03, +0x00, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, -0x01, -0x07], + [+0x01, -0x02, +0x00, +0x01, -0x03, -0x01, +0x00, +0x05, -0x02, -0x02, -0x04, -0x02, -0x03, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x01, +0x00, -0x01, -0x07], + [-0x01, +0x02, +0x02, +0x01, -0x03, +0x03, +0x01, -0x02, +0x06, -0x02, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, -0x01, -0x07], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x02, -0x02, +0x02, +0x01, -0x02, -0x01, +0x00, -0x05, -0x01, +0x04, -0x02, -0x02, -0x01, -0x07], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x02, +0x06, -0x03, +0x04, +0x02, -0x02, -0x03, -0x02, -0x02, -0x01, +0x02, -0x03, -0x02, -0x01, -0x07], + [-0x01, +0x03, +0x01, +0x00, -0x05, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x04, +0x00, -0x05, -0x01, +0x00, +0x00, -0x03, -0x04, -0x02, +0x01, +0x00, -0x01, -0x07], + [-0x01, +0x00, -0x02, -0x02, -0x05, -0x01, -0x02, -0x03, -0x02, +0x02, +0x04, +0x00, +0x06, +0x00, -0x02, -0x01, -0x01, -0x04, -0x02, +0x02, -0x02, -0x02, -0x01, -0x07], + [-0x03, -0x04, -0x03, -0x05, -0x04, -0x04, -0x05, -0x05, -0x02, +0x01, +0x02, -0x05, +0x00, +0x09, -0x04, -0x03, -0x03, +0x00, +0x07, -0x01, -0x04, -0x05, -0x02, -0x07], + [+0x01, +0x00, +0x00, -0x01, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x02, -0x01, -0x02, -0x04, +0x06, +0x01, +0x00, -0x05, -0x05, -0x01, -0x01, +0x00, -0x01, -0x07], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x02, -0x03, -0x01, +0x00, +0x00, +0x00, -0x07], + [+0x01, -0x01, +0x00, +0x00, -0x02, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x00, +0x01, +0x02, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x07], + [-0x06, +0x02, -0x04, -0x06, -0x07, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x03, -0x04, +0x00, -0x05, -0x02, -0x05, +0x11, +0x00, -0x06, -0x05, -0x06, -0x04, -0x07], + [-0x03, -0x04, -0x02, -0x04, +0x00, -0x04, -0x04, -0x05, +0x00, -0x01, -0x01, -0x04, -0x02, +0x07, -0x05, -0x03, -0x03, +0x00, +0x0A, -0x02, -0x03, -0x04, -0x02, -0x07], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x02, -0x02, -0x01, -0x07], + [+0x00, -0x01, +0x02, +0x03, -0x04, +0x01, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, -0x01, +0x00, +0x00, -0x05, -0x03, -0x02, +0x03, +0x02, +0x00, -0x07], + [+0x00, +0x00, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x02, +0x00, -0x02, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x02, +0x02, +0x03, -0x01, -0x07], + [+0x00, -0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x00, +0x00, -0x04, -0x02, -0x01, +0x00, -0x01, -0x01, -0x07], + [-0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, -0x07, +0x01]] + +PAM270 = [[+0x02, -0x02, +0x00, +0x00, -0x02, +0x00, +0x00, +0x02, -0x02, -0x01, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x02, +0x08, +0x00, -0x01, -0x05, +0x02, -0x01, -0x03, +0x02, -0x02, -0x04, +0x04, -0x01, -0x05, +0x00, +0x00, -0x01, +0x03, -0x05, -0x03, -0x01, +0x00, -0x01, -0x0A], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x01, -0x05, -0x03, -0x02, +0x02, +0x02, +0x00, -0x0A], + [+0x00, -0x01, +0x02, +0x05, -0x06, +0x02, +0x04, +0x01, +0x01, -0x03, -0x05, +0x00, -0x03, -0x07, -0x01, +0x00, +0x00, -0x08, -0x05, -0x03, +0x04, +0x03, -0x01, -0x0A], + [-0x02, -0x05, -0x04, -0x06, +0x10, -0x07, -0x06, -0x04, -0x04, -0x03, -0x07, -0x07, -0x06, -0x05, -0x03, +0x00, -0x03, -0x0A, +0x01, -0x02, -0x05, -0x07, -0x04, -0x0A], + [+0x00, +0x02, +0x01, +0x02, -0x07, +0x05, +0x03, -0x01, +0x04, -0x02, -0x02, +0x01, -0x01, -0x06, +0x00, -0x01, -0x01, -0x06, -0x05, -0x02, +0x02, +0x04, -0x01, -0x0A], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x03, +0x05, +0x00, +0x01, -0x02, -0x04, +0x00, -0x03, -0x07, -0x01, +0x00, +0x00, -0x09, -0x05, -0x02, +0x03, +0x04, -0x01, -0x0A], + [+0x02, -0x03, +0x01, +0x01, -0x04, -0x01, +0x00, +0x06, -0x02, -0x03, -0x05, -0x02, -0x03, -0x06, +0x00, +0x01, +0x00, -0x09, -0x06, -0x02, +0x01, +0x00, -0x01, -0x0A], + [-0x02, +0x02, +0x02, +0x01, -0x04, +0x04, +0x01, -0x02, +0x08, -0x03, -0x03, +0x00, -0x03, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x03, +0x01, +0x02, -0x01, -0x0A], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x02, -0x02, -0x03, -0x03, +0x05, +0x03, -0x02, +0x03, +0x01, -0x02, -0x02, +0x00, -0x06, -0x01, +0x05, -0x03, -0x02, -0x01, -0x0A], + [-0x02, -0x04, -0x03, -0x05, -0x07, -0x02, -0x04, -0x05, -0x03, +0x03, +0x08, -0x03, +0x05, +0x02, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x04, -0x03, -0x02, -0x0A], + [-0x01, +0x04, +0x01, +0x00, -0x07, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x06, +0x00, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x03, +0x01, +0x00, -0x01, -0x0A], + [-0x01, -0x01, -0x02, -0x03, -0x06, -0x01, -0x03, -0x03, -0x03, +0x03, +0x05, +0x00, +0x08, +0x00, -0x02, -0x02, -0x01, -0x05, -0x03, +0x02, -0x03, -0x02, -0x01, -0x0A], + [-0x04, -0x05, -0x04, -0x07, -0x05, -0x06, -0x07, -0x06, -0x02, +0x01, +0x02, -0x06, +0x00, +0x0C, -0x06, -0x04, -0x04, +0x01, +0x09, -0x01, -0x06, -0x06, -0x03, -0x0A], + [+0x01, +0x00, +0x00, -0x01, -0x03, +0x00, -0x01, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x06, +0x07, +0x01, +0x00, -0x07, -0x06, -0x01, -0x01, +0x00, -0x01, -0x0A], + [+0x01, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x01, -0x01, -0x02, -0x03, +0x00, -0x02, -0x04, +0x01, +0x02, +0x02, -0x03, -0x04, -0x01, +0x01, +0x00, +0x00, -0x0A], + [+0x01, -0x01, +0x01, +0x00, -0x03, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x04, +0x00, +0x02, +0x03, -0x06, -0x03, +0x00, +0x00, -0x01, +0x00, -0x0A], + [-0x07, +0x03, -0x05, -0x08, -0x0A, -0x06, -0x09, -0x09, -0x03, -0x06, -0x02, -0x04, -0x05, +0x01, -0x07, -0x03, -0x06, +0x17, +0x00, -0x08, -0x07, -0x07, -0x05, -0x0A], + [-0x04, -0x05, -0x03, -0x05, +0x01, -0x05, -0x05, -0x06, +0x00, -0x01, -0x01, -0x05, -0x03, +0x09, -0x06, -0x04, -0x03, +0x00, +0x0D, -0x03, -0x04, -0x05, -0x03, -0x0A], + [+0x00, -0x03, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, -0x03, +0x05, +0x02, -0x03, +0x02, -0x01, -0x01, -0x01, +0x00, -0x08, -0x03, +0x05, -0x02, -0x02, -0x01, -0x0A], + [+0x00, -0x01, +0x02, +0x04, -0x05, +0x02, +0x03, +0x01, +0x01, -0x03, -0x04, +0x01, -0x03, -0x06, -0x01, +0x01, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, -0x01, -0x0A], + [+0x00, +0x00, +0x02, +0x03, -0x07, +0x04, +0x04, +0x00, +0x02, -0x02, -0x03, +0x00, -0x02, -0x06, +0x00, +0x00, -0x01, -0x07, -0x05, -0x02, +0x03, +0x04, -0x01, -0x0A], + [+0x00, -0x01, +0x00, -0x01, -0x04, -0x01, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM280 = [[+0x02, -0x02, +0x00, +0x00, -0x02, +0x00, +0x00, +0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x02, +0x07, +0x00, -0x01, -0x04, +0x02, -0x01, -0x03, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, -0x01, +0x03, -0x05, -0x03, -0x01, +0x00, -0x01, -0x09], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x01, -0x05, -0x03, -0x02, +0x02, +0x01, +0x00, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x02, +0x04, +0x01, +0x01, -0x03, -0x05, +0x00, -0x03, -0x07, -0x01, +0x00, +0x00, -0x08, -0x05, -0x02, +0x04, +0x03, -0x01, -0x09], + [-0x02, -0x04, -0x04, -0x06, +0x0F, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x03, -0x09, +0x01, -0x02, -0x05, -0x06, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x04, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, -0x01, -0x06, -0x05, -0x02, +0x02, +0x04, -0x01, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x03, +0x04, +0x00, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, +0x00, +0x00, +0x00, -0x08, -0x05, -0x02, +0x03, +0x04, -0x01, -0x09], + [+0x02, -0x03, +0x01, +0x01, -0x04, -0x01, +0x00, +0x06, -0x02, -0x03, -0x05, -0x02, -0x03, -0x06, +0x00, +0x01, +0x00, -0x08, -0x06, -0x01, +0x01, +0x00, -0x01, -0x09], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x08, -0x03, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x03, +0x01, +0x02, -0x01, -0x09], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x02, -0x02, -0x03, -0x03, +0x05, +0x03, -0x02, +0x03, +0x01, -0x02, -0x02, +0x00, -0x06, -0x01, +0x04, -0x02, -0x02, -0x01, -0x09], + [-0x02, -0x03, -0x03, -0x05, -0x07, -0x02, -0x04, -0x05, -0x02, +0x03, +0x07, -0x03, +0x05, +0x02, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x04, -0x03, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x06, +0x00, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x03, +0x01, +0x01, -0x01, -0x09], + [-0x01, +0x00, -0x02, -0x03, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x05, +0x00, +0x07, +0x00, -0x02, -0x02, -0x01, -0x05, -0x03, +0x02, -0x02, -0x02, -0x01, -0x09], + [-0x04, -0x05, -0x04, -0x07, -0x05, -0x05, -0x06, -0x06, -0x02, +0x01, +0x02, -0x06, +0x00, +0x0B, -0x05, -0x04, -0x04, +0x01, +0x09, -0x01, -0x05, -0x06, -0x03, -0x09], + [+0x01, +0x00, +0x00, -0x01, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x07, +0x01, +0x01, -0x07, -0x06, -0x01, -0x01, +0x00, -0x01, -0x09], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, -0x01, -0x02, -0x03, +0x00, -0x02, -0x04, +0x01, +0x02, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, -0x01, +0x01, +0x00, -0x03, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x03, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x07, +0x03, -0x05, -0x08, -0x09, -0x06, -0x08, -0x08, -0x03, -0x06, -0x02, -0x04, -0x05, +0x01, -0x07, -0x03, -0x06, +0x16, +0x00, -0x07, -0x06, -0x07, -0x05, -0x09], + [-0x04, -0x05, -0x03, -0x05, +0x01, -0x05, -0x05, -0x06, +0x00, -0x01, -0x01, -0x05, -0x03, +0x09, -0x06, -0x03, -0x03, +0x00, +0x0D, -0x03, -0x04, -0x05, -0x03, -0x09], + [+0x00, -0x03, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x03, +0x04, +0x02, -0x03, +0x02, -0x01, -0x01, -0x01, +0x00, -0x07, -0x03, +0x05, -0x02, -0x02, -0x01, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, -0x01, +0x01, +0x00, -0x06, -0x04, -0x02, +0x03, +0x02, -0x01, -0x09], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x04, +0x04, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x02, +0x04, -0x01, -0x09], + [+0x00, -0x01, +0x00, -0x01, -0x03, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x05, -0x03, -0x01, -0x01, -0x01, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM290 = [[+0x02, -0x02, +0x00, +0x00, -0x02, +0x00, +0x00, +0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x02, +0x07, +0x00, -0x01, -0x04, +0x02, -0x01, -0x03, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, -0x01, +0x03, -0x05, -0x03, +0x00, +0x00, -0x01, -0x09], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x01, -0x05, -0x03, -0x02, +0x02, +0x01, +0x00, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x02, +0x04, +0x01, +0x01, -0x03, -0x04, +0x00, -0x03, -0x06, -0x01, +0x00, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, -0x01, -0x09], + [-0x02, -0x04, -0x04, -0x06, +0x0F, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x05, -0x06, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x04, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, -0x01, -0x05, -0x05, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x03, +0x04, +0x00, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, +0x00, +0x00, +0x00, -0x08, -0x05, -0x02, +0x03, +0x04, -0x01, -0x09], + [+0x02, -0x03, +0x01, +0x01, -0x04, -0x01, +0x00, +0x05, -0x02, -0x03, -0x04, -0x02, -0x03, -0x06, +0x00, +0x01, +0x00, -0x08, -0x06, -0x01, +0x01, +0x00, -0x01, -0x09], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x07, -0x03, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, -0x01, -0x09], + [-0x01, -0x02, -0x02, -0x03, -0x03, -0x02, -0x02, -0x03, -0x03, +0x05, +0x03, -0x02, +0x03, +0x01, -0x02, -0x01, +0x00, -0x06, -0x01, +0x04, -0x02, -0x02, -0x01, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x07, -0x02, -0x04, -0x04, -0x02, +0x03, +0x07, -0x03, +0x05, +0x03, -0x03, -0x03, -0x02, -0x02, -0x01, +0x02, -0x04, -0x03, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x05, +0x00, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x03, +0x01, +0x01, -0x01, -0x09], + [-0x01, +0x00, -0x02, -0x03, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x05, +0x00, +0x07, +0x00, -0x02, -0x02, -0x01, -0x05, -0x02, +0x02, -0x02, -0x02, -0x01, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x05, -0x06, -0x06, -0x02, +0x01, +0x03, -0x06, +0x00, +0x0B, -0x05, -0x04, -0x03, +0x01, +0x09, -0x01, -0x05, -0x06, -0x03, -0x09], + [+0x01, +0x00, +0x00, -0x01, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x07, +0x01, +0x01, -0x06, -0x06, -0x01, -0x01, +0x00, -0x01, -0x09], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x02, -0x04, +0x01, +0x02, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, -0x01, +0x01, +0x00, -0x02, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x03, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x07, +0x03, -0x05, -0x08, -0x09, -0x05, -0x08, -0x08, -0x03, -0x06, -0x02, -0x04, -0x05, +0x01, -0x06, -0x03, -0x06, +0x16, +0x00, -0x07, -0x06, -0x07, -0x05, -0x09], + [-0x04, -0x05, -0x03, -0x05, +0x01, -0x05, -0x05, -0x06, +0x00, -0x01, -0x01, -0x05, -0x02, +0x09, -0x06, -0x03, -0x03, +0x00, +0x0D, -0x03, -0x04, -0x05, -0x02, -0x09], + [+0x00, -0x03, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x03, +0x02, -0x01, -0x01, -0x01, +0x00, -0x07, -0x03, +0x05, -0x02, -0x02, -0x01, -0x09], + [+0x00, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, -0x01, +0x01, +0x00, -0x06, -0x04, -0x02, +0x03, +0x02, +0x00, -0x09], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x03, +0x04, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x02, +0x04, -0x01, -0x09], + [+0x00, -0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x01, -0x03, -0x01, +0x00, +0x00, -0x05, -0x02, -0x01, +0x00, -0x01, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM300 = [[+0x02, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x02, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x01, +0x07, +0x00, -0x01, -0x04, +0x02, -0x01, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, -0x01, +0x03, -0x05, -0x03, +0x00, +0x00, -0x01, -0x09], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x05, -0x02, -0x02, +0x02, +0x01, +0x00, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x02, +0x04, +0x01, +0x01, -0x02, -0x04, +0x00, -0x03, -0x06, -0x01, +0x00, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, -0x01, -0x09], + [-0x02, -0x04, -0x04, -0x06, +0x0F, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x05, -0x06, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x04, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, -0x01, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x03, +0x04, +0x00, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, +0x00, +0x00, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, -0x01, -0x09], + [+0x02, -0x02, +0x01, +0x01, -0x04, -0x01, +0x00, +0x05, -0x02, -0x03, -0x04, -0x02, -0x03, -0x05, +0x00, +0x01, +0x00, -0x08, -0x06, -0x01, +0x01, +0x00, -0x01, -0x09], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x07, -0x02, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x03, -0x02, -0x02, -0x03, -0x02, +0x05, +0x03, -0x02, +0x03, +0x01, -0x02, -0x01, +0x00, -0x06, -0x01, +0x04, -0x02, -0x02, -0x01, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x07, -0x02, -0x04, -0x04, -0x02, +0x03, +0x07, -0x03, +0x04, +0x03, -0x03, -0x03, -0x02, -0x02, +0x00, +0x02, -0x04, -0x03, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x02, +0x00, -0x02, -0x03, +0x05, +0x00, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x02, +0x01, +0x01, -0x01, -0x09], + [-0x01, +0x00, -0x02, -0x03, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x04, +0x00, +0x06, +0x01, -0x02, -0x02, -0x01, -0x05, -0x02, +0x02, -0x02, -0x02, -0x01, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x05, -0x06, -0x05, -0x02, +0x01, +0x03, -0x06, +0x01, +0x0B, -0x05, -0x04, -0x03, +0x01, +0x09, -0x01, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, -0x01, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, -0x01, -0x09], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x02, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, -0x01, +0x00, +0x00, -0x02, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x02, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x03, -0x05, -0x07, -0x09, -0x05, -0x08, -0x08, -0x03, -0x06, -0x02, -0x04, -0x05, +0x01, -0x06, -0x03, -0x06, +0x16, +0x00, -0x07, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x05, -0x02, -0x05, +0x01, -0x04, -0x05, -0x06, +0x00, -0x01, +0x00, -0x05, -0x02, +0x09, -0x05, -0x03, -0x03, +0x00, +0x0C, -0x03, -0x04, -0x05, -0x02, -0x09], + [+0x00, -0x03, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x07, -0x03, +0x05, -0x02, -0x02, +0x00, -0x09], + [+0x00, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x03, +0x02, +0x00, -0x09], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x06, -0x05, -0x02, +0x02, +0x03, -0x01, -0x09], + [+0x00, -0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x01, +0x00, -0x01, -0x01, -0x01, -0x01, -0x02, -0x01, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, -0x01, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM310 = [[+0x02, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x01, +0x06, +0x00, -0x01, -0x04, +0x01, -0x01, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, -0x01, +0x03, -0x04, -0x02, +0x00, +0x00, -0x01, -0x09], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x05, +0x02, +0x04, +0x01, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, -0x01, +0x00, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, -0x01, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x0F, -0x06, -0x06, -0x03, -0x04, -0x02, -0x06, -0x06, -0x06, -0x04, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x05, -0x06, -0x03, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x06, +0x04, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, -0x01, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x00, -0x01, +0x02, +0x04, -0x06, +0x03, +0x04, +0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x06, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, -0x01, -0x09], + [+0x01, -0x02, +0x01, +0x01, -0x03, -0x01, +0x01, +0x05, -0x02, -0x02, -0x04, -0x01, -0x03, -0x05, +0x00, +0x01, +0x00, -0x08, -0x06, -0x01, +0x01, +0x00, -0x01, -0x09], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x07, -0x02, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x03, +0x01, -0x02, -0x01, +0x00, -0x05, -0x01, +0x04, -0x02, -0x02, -0x01, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x03, +0x07, -0x03, +0x04, +0x03, -0x03, -0x03, -0x02, -0x02, +0x00, +0x02, -0x03, -0x03, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x01, +0x00, -0x02, -0x03, +0x05, +0x00, -0x05, -0x01, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, -0x01, -0x09], + [-0x01, +0x00, -0x02, -0x02, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x04, +0x00, +0x06, +0x01, -0x02, -0x02, -0x01, -0x04, -0x02, +0x02, -0x02, -0x02, -0x01, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x06, -0x05, -0x02, +0x01, +0x03, -0x05, +0x01, +0x0B, -0x05, -0x04, -0x03, +0x01, +0x09, -0x01, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, -0x01, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x02, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, -0x01, +0x00, +0x00, -0x02, -0x01, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x02, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x03, -0x04, -0x07, -0x09, -0x05, -0x07, -0x08, -0x03, -0x05, -0x02, -0x03, -0x04, +0x01, -0x06, -0x03, -0x06, +0x16, +0x00, -0x07, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x02, -0x05, +0x01, -0x04, -0x05, -0x06, +0x00, -0x01, +0x00, -0x05, -0x02, +0x09, -0x05, -0x03, -0x03, +0x00, +0x0C, -0x02, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x07, -0x02, +0x04, -0x02, -0x02, +0x00, -0x09], + [+0x00, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x03, +0x02, +0x00, -0x09], + [+0x00, +0x00, +0x01, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x00, -0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x01, +0x00, -0x01, -0x01, -0x01, -0x01, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM320 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x01, +0x06, +0x00, -0x01, -0x04, +0x01, -0x01, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, -0x01, +0x03, -0x04, -0x02, +0x00, +0x00, -0x01, -0x08], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x04, -0x02, -0x02, +0x02, +0x01, +0x00, -0x08], + [+0x01, -0x01, +0x02, +0x04, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, -0x01, -0x08], + [-0x02, -0x04, -0x04, -0x05, +0x0F, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x06, -0x05, -0x04, -0x03, +0x00, -0x02, -0x08, +0x01, -0x02, -0x04, -0x05, -0x03, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x04, +0x02, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x08], + [+0x00, -0x01, +0x02, +0x03, -0x05, +0x02, +0x04, +0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, +0x00, -0x08], + [+0x01, -0x02, +0x01, +0x01, -0x03, -0x01, +0x01, +0x05, -0x02, -0x02, -0x04, -0x01, -0x03, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x01, +0x00, -0x01, -0x08], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x06, -0x02, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x08], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x02, +0x01, -0x02, -0x01, +0x00, -0x05, -0x01, +0x04, -0x02, -0x02, +0x00, -0x08], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x03, +0x07, -0x03, +0x04, +0x03, -0x02, -0x03, -0x02, -0x02, +0x00, +0x02, -0x03, -0x03, -0x01, -0x08], + [-0x01, +0x04, +0x01, +0x00, -0x06, +0x01, +0x00, -0x01, +0x00, -0x02, -0x03, +0x05, +0x00, -0x05, -0x01, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, -0x01, -0x08], + [-0x01, +0x00, -0x02, -0x02, -0x05, -0x01, -0x02, -0x03, -0x02, +0x02, +0x04, +0x00, +0x06, +0x01, -0x02, -0x01, -0x01, -0x04, -0x02, +0x02, -0x02, -0x02, +0x00, -0x08], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x05, -0x05, -0x02, +0x01, +0x03, -0x05, +0x01, +0x0B, -0x05, -0x03, -0x03, +0x01, +0x09, -0x01, -0x05, -0x05, -0x02, -0x08], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x02, -0x01, -0x02, -0x05, +0x06, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x08], + [+0x01, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x02, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x06, +0x03, -0x04, -0x07, -0x08, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x03, -0x04, +0x01, -0x06, -0x03, -0x05, +0x16, +0x01, -0x06, -0x06, -0x06, -0x04, -0x08], + [-0x04, -0x04, -0x02, -0x05, +0x01, -0x04, -0x05, -0x05, +0x00, -0x01, +0x00, -0x05, -0x02, +0x09, -0x05, -0x03, -0x03, +0x01, +0x0C, -0x02, -0x03, -0x04, -0x02, -0x08], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x02, -0x02, +0x00, -0x08], + [+0x00, +0x00, +0x02, +0x03, -0x04, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x03, -0x02, +0x02, +0x02, +0x00, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x02, +0x02, +0x03, +0x00, -0x08], + [+0x00, -0x01, +0x00, -0x01, -0x03, +0x00, +0x00, -0x01, +0x00, +0x00, -0x01, -0x01, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM330 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x02, -0x01, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x01, +0x06, +0x00, -0x01, -0x04, +0x01, -0x01, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x04, +0x00, +0x00, -0x01, +0x03, -0x04, -0x02, +0x00, +0x00, -0x01, -0x08], + [+0x00, +0x00, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x03, +0x00, +0x01, +0x00, -0x04, -0x02, -0x01, +0x02, +0x01, +0x00, -0x08], + [+0x01, -0x01, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x00, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, +0x00, -0x08], + [-0x02, -0x04, -0x04, -0x05, +0x0F, -0x05, -0x05, -0x03, -0x03, -0x02, -0x06, -0x05, -0x05, -0x04, -0x03, +0x00, -0x02, -0x08, +0x01, -0x02, -0x04, -0x05, -0x03, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x03, +0x02, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x04, +0x00, +0x00, +0x00, -0x05, -0x04, -0x02, +0x01, +0x03, +0x00, -0x08], + [+0x00, -0x01, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x04, -0x02, +0x02, +0x03, +0x00, -0x08], + [+0x01, -0x02, +0x01, +0x01, -0x03, -0x01, +0x01, +0x05, -0x02, -0x02, -0x04, -0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x01, +0x00, -0x01, -0x08], + [-0x01, +0x02, +0x01, +0x01, -0x03, +0x03, +0x01, -0x02, +0x06, -0x02, -0x02, +0x00, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x08], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x02, +0x01, -0x02, -0x01, +0x00, -0x05, +0x00, +0x04, -0x02, -0x02, +0x00, -0x08], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x03, +0x06, -0x03, +0x04, +0x03, -0x02, -0x03, -0x01, -0x02, +0x00, +0x02, -0x03, -0x02, -0x01, -0x08], + [-0x01, +0x04, +0x01, +0x00, -0x05, +0x01, +0x00, -0x01, +0x00, -0x02, -0x03, +0x05, +0x00, -0x05, -0x01, +0x00, +0x00, -0x03, -0x04, -0x02, +0x01, +0x01, -0x01, -0x08], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x02, +0x02, +0x04, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x02, +0x02, -0x02, -0x01, +0x00, -0x08], + [-0x03, -0x04, -0x03, -0x05, -0x04, -0x04, -0x05, -0x05, -0x02, +0x01, +0x03, -0x05, +0x01, +0x0A, -0x05, -0x03, -0x03, +0x01, +0x09, -0x01, -0x04, -0x05, -0x02, -0x08], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x02, -0x01, -0x02, -0x05, +0x06, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x08], + [+0x01, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x02, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x06, +0x03, -0x04, -0x07, -0x08, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x03, -0x04, +0x01, -0x06, -0x03, -0x05, +0x16, +0x01, -0x06, -0x05, -0x06, -0x04, -0x08], + [-0x03, -0x04, -0x02, -0x04, +0x01, -0x04, -0x04, -0x05, +0x00, +0x00, +0x00, -0x04, -0x02, +0x09, -0x05, -0x03, -0x03, +0x01, +0x0C, -0x02, -0x03, -0x04, -0x02, -0x08], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x02, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x02, -0x02, +0x00, -0x08], + [+0x00, +0x00, +0x02, +0x03, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x02, +0x02, +0x02, +0x00, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x02, +0x02, +0x03, +0x00, -0x08], + [+0x00, -0x01, +0x00, +0x00, -0x03, +0x00, +0x00, -0x01, +0x00, +0x00, -0x01, -0x01, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM340 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x02, -0x01, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x01, +0x06, +0x00, -0x01, -0x04, +0x01, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x04, +0x00, +0x00, +0x00, +0x03, -0x04, -0x02, +0x00, +0x00, -0x01, -0x08], + [+0x00, +0x00, +0x01, +0x02, -0x03, +0x01, +0x01, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x03, +0x00, +0x01, +0x00, -0x04, -0x02, -0x01, +0x02, +0x01, +0x00, -0x08], + [+0x01, -0x01, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x00, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x04, -0x02, +0x03, +0x03, +0x00, -0x08], + [-0x02, -0x04, -0x03, -0x05, +0x0F, -0x05, -0x05, -0x03, -0x03, -0x02, -0x06, -0x05, -0x05, -0x04, -0x03, +0x00, -0x02, -0x08, +0x01, -0x02, -0x04, -0x05, -0x03, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x03, +0x02, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x04, +0x00, +0x00, +0x00, -0x05, -0x04, -0x02, +0x01, +0x03, +0x00, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x04, -0x01, +0x02, +0x03, +0x00, -0x08], + [+0x01, -0x02, +0x01, +0x01, -0x03, -0x01, +0x01, +0x04, -0x02, -0x02, -0x04, -0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x01, +0x00, -0x01, -0x08], + [-0x01, +0x02, +0x01, +0x01, -0x03, +0x03, +0x01, -0x02, +0x06, -0x02, -0x02, +0x00, -0x02, -0x02, +0x00, +0x00, -0x01, -0x02, +0x00, -0x02, +0x01, +0x02, +0x00, -0x08], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x02, +0x01, -0x02, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x08], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x03, +0x06, -0x03, +0x04, +0x03, -0x02, -0x02, -0x01, -0x02, +0x00, +0x02, -0x03, -0x02, -0x01, -0x08], + [-0x01, +0x04, +0x01, +0x00, -0x05, +0x01, +0x00, -0x01, +0x00, -0x02, -0x03, +0x04, +0x00, -0x05, -0x01, +0x00, +0x00, -0x03, -0x04, -0x02, +0x01, +0x01, +0x00, -0x08], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x02, +0x02, +0x04, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x02, +0x02, -0x02, -0x01, +0x00, -0x08], + [-0x03, -0x04, -0x03, -0x05, -0x04, -0x04, -0x05, -0x05, -0x02, +0x01, +0x03, -0x05, +0x01, +0x0A, -0x04, -0x03, -0x03, +0x01, +0x09, -0x01, -0x04, -0x05, -0x02, -0x08], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, -0x02, -0x02, -0x01, -0x02, -0x04, +0x05, +0x01, +0x01, -0x05, -0x05, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, +0x00, +0x01, +0x00, +0x00, +0x00, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x08], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x02, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x06, +0x03, -0x04, -0x07, -0x08, -0x05, -0x07, -0x07, -0x02, -0x05, -0x02, -0x03, -0x04, +0x01, -0x05, -0x03, -0x05, +0x16, +0x01, -0x06, -0x05, -0x06, -0x04, -0x08], + [-0x03, -0x04, -0x02, -0x04, +0x01, -0x04, -0x04, -0x05, +0x00, +0x00, +0x00, -0x04, -0x02, +0x09, -0x05, -0x03, -0x03, +0x01, +0x0C, -0x02, -0x03, -0x04, -0x02, -0x08], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x01, -0x01, -0x02, +0x03, +0x02, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x02, -0x02, +0x00, -0x08], + [+0x00, +0x00, +0x02, +0x03, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x02, +0x02, +0x02, +0x00, -0x08], + [+0x00, +0x00, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x02, +0x02, +0x03, +0x00, -0x08], + [+0x00, -0x01, +0x00, +0x00, -0x03, +0x00, +0x00, -0x01, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM350 = [[+0x02, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x0A], + [-0x01, +0x07, +0x01, -0x01, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, -0x01, +0x04, -0x05, -0x03, +0x00, +0x01, -0x01, -0x0A], + [+0x00, +0x01, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x01, -0x05, -0x03, -0x02, +0x02, +0x02, +0x00, -0x0A], + [+0x01, -0x01, +0x02, +0x04, -0x06, +0x02, +0x04, +0x01, +0x01, -0x02, -0x04, +0x01, -0x03, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, -0x01, -0x0A], + [-0x02, -0x04, -0x04, -0x06, +0x12, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x05, -0x03, +0x00, -0x02, -0x0A, +0x01, -0x02, -0x05, -0x06, -0x03, -0x0A], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x04, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x05, -0x02, +0x02, +0x03, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x04, -0x06, +0x03, +0x04, +0x01, +0x01, -0x02, -0x04, +0x00, -0x02, -0x06, +0x00, +0x00, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x0A], + [+0x02, -0x02, +0x01, +0x01, -0x04, -0x01, +0x01, +0x05, -0x02, -0x02, -0x04, -0x01, -0x03, -0x06, +0x00, +0x01, +0x01, -0x08, -0x06, -0x01, +0x01, +0x00, -0x01, -0x0A], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x07, -0x02, -0x02, +0x01, -0x02, -0x02, +0x00, -0x01, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x0A], + [+0x00, -0x02, -0x02, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, +0x05, +0x04, -0x02, +0x03, +0x02, -0x02, -0x01, +0x00, -0x06, +0x00, +0x04, -0x02, -0x02, +0x00, -0x0A], + [-0x02, -0x03, -0x03, -0x04, -0x07, -0x02, -0x04, -0x04, -0x02, +0x04, +0x08, -0x03, +0x05, +0x03, -0x03, -0x03, -0x02, -0x02, +0x00, +0x03, -0x04, -0x03, -0x01, -0x0A], + [-0x01, +0x04, +0x01, +0x01, -0x06, +0x01, +0x00, -0x01, +0x01, -0x02, -0x03, +0x05, +0x00, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x02, +0x01, +0x01, -0x01, -0x0A], + [-0x01, +0x00, -0x02, -0x03, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x05, +0x00, +0x06, +0x01, -0x02, -0x02, -0x01, -0x05, -0x02, +0x02, -0x02, -0x02, +0x00, -0x0A], + [-0x04, -0x05, -0x04, -0x06, -0x05, -0x05, -0x06, -0x06, -0x02, +0x02, +0x03, -0x06, +0x01, +0x0D, -0x05, -0x04, -0x03, +0x01, +0x0B, -0x01, -0x05, -0x06, -0x02, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x01, -0x07, -0x06, -0x01, +0x00, +0x00, +0x00, -0x0A], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x00, +0x01, -0x01, -0x01, -0x03, +0x00, -0x02, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x0A], + [+0x01, -0x01, +0x01, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x02, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x07, +0x04, -0x05, -0x08, -0x0A, -0x05, -0x08, -0x08, -0x03, -0x06, -0x02, -0x04, -0x05, +0x01, -0x07, -0x03, -0x06, +0x1B, +0x01, -0x07, -0x06, -0x07, -0x05, -0x0A], + [-0x04, -0x05, -0x03, -0x05, +0x01, -0x05, -0x05, -0x06, +0x00, +0x00, +0x00, -0x05, -0x02, +0x0B, -0x06, -0x03, -0x03, +0x01, +0x0E, -0x02, -0x04, -0x05, -0x02, -0x0A], + [+0x00, -0x03, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x07, -0x02, +0x05, -0x02, -0x02, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x03, +0x02, +0x00, -0x0A], + [+0x00, +0x01, +0x02, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x02, +0x03, +0x00, -0x0A], + [+0x00, -0x01, +0x00, -0x01, -0x03, +0x00, +0x00, -0x01, +0x00, +0x00, -0x01, -0x01, +0x00, -0x02, +0x00, +0x00, +0x00, -0x05, -0x02, +0x00, +0x00, +0x00, -0x01, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM360 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x06, +0x01, -0x01, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x05, -0x02, +0x00, +0x01, -0x01, -0x09], + [+0x00, +0x01, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x01, -0x05, -0x03, -0x02, +0x02, +0x02, +0x00, -0x09], + [+0x01, -0x01, +0x02, +0x04, -0x06, +0x02, +0x04, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x06, +0x12, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x04, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x05, -0x06, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x03, +0x03, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x04, -0x06, +0x03, +0x04, +0x01, +0x01, -0x02, -0x03, +0x00, -0x02, -0x06, +0x00, +0x00, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [+0x02, -0x02, +0x01, +0x01, -0x04, -0x01, +0x01, +0x05, -0x02, -0x02, -0x04, -0x01, -0x03, -0x06, +0x00, +0x01, +0x01, -0x08, -0x06, -0x01, +0x01, +0x00, -0x01, -0x09], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x07, -0x02, -0x02, +0x01, -0x02, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x03, +0x02, -0x02, -0x01, +0x00, -0x06, +0x00, +0x04, -0x02, -0x02, +0x00, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x07, -0x02, -0x03, -0x04, -0x02, +0x03, +0x07, -0x03, +0x05, +0x03, -0x03, -0x03, -0x02, -0x02, +0x00, +0x03, -0x04, -0x03, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x01, -0x06, +0x01, +0x00, -0x01, +0x01, -0x02, -0x03, +0x05, +0x00, -0x06, -0x01, +0x00, +0x00, -0x04, -0x05, -0x02, +0x01, +0x01, -0x01, -0x09], + [-0x01, +0x00, -0x02, -0x02, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x05, +0x00, +0x06, +0x01, -0x02, -0x02, -0x01, -0x04, -0x02, +0x02, -0x02, -0x02, +0x00, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x06, -0x06, -0x02, +0x02, +0x03, -0x06, +0x01, +0x0C, -0x05, -0x04, -0x03, +0x02, +0x0B, -0x01, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x00, +0x01, +0x00, -0x01, -0x03, +0x00, -0x02, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x02, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x07, +0x04, -0x05, -0x08, -0x09, -0x05, -0x08, -0x08, -0x03, -0x06, -0x02, -0x04, -0x04, +0x02, -0x06, -0x03, -0x06, +0x1B, +0x01, -0x07, -0x06, -0x07, -0x04, -0x09], + [-0x04, -0x05, -0x03, -0x05, +0x01, -0x04, -0x05, -0x06, +0x00, +0x00, +0x00, -0x05, -0x02, +0x0B, -0x05, -0x03, -0x03, +0x01, +0x0E, -0x02, -0x04, -0x05, -0x02, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, -0x01, -0x01, -0x01, +0x00, -0x07, -0x02, +0x04, -0x02, -0x02, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x02, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x00, -0x01, +0x00, +0x00, -0x03, +0x00, +0x00, -0x01, +0x00, +0x00, -0x01, -0x01, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM370 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x06, +0x01, +0x00, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x03, -0x04, -0x02, +0x00, +0x01, -0x01, -0x09], + [+0x00, +0x01, +0x02, +0x02, -0x04, +0x01, +0x02, +0x01, +0x02, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x04, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x12, -0x06, -0x06, -0x03, -0x04, -0x02, -0x06, -0x06, -0x06, -0x04, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x05, -0x06, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x03, +0x02, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x06, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x00, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [+0x02, -0x02, +0x01, +0x01, -0x03, -0x01, +0x01, +0x05, -0x02, -0x02, -0x04, -0x01, -0x03, -0x05, +0x00, +0x01, +0x01, -0x08, -0x06, -0x01, +0x01, +0x00, -0x01, -0x09], + [-0x01, +0x02, +0x02, +0x01, -0x04, +0x03, +0x01, -0x02, +0x06, -0x02, -0x02, +0x01, -0x02, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x03, +0x02, -0x02, -0x01, +0x00, -0x05, +0x00, +0x04, -0x02, -0x02, +0x00, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x03, +0x07, -0x03, +0x05, +0x03, -0x03, -0x03, -0x01, -0x02, +0x00, +0x03, -0x03, -0x03, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x01, -0x06, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x05, +0x00, -0x06, -0x01, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x02, -0x02, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x05, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x02, +0x02, -0x02, -0x02, +0x00, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x06, -0x05, -0x02, +0x02, +0x03, -0x06, +0x01, +0x0C, -0x05, -0x04, -0x03, +0x02, +0x0B, +0x00, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x02, -0x03, -0x01, -0x02, -0x05, +0x06, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x00, +0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x02, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x07, +0x03, -0x05, -0x07, -0x09, -0x05, -0x08, -0x08, -0x03, -0x05, -0x02, -0x03, -0x04, +0x02, -0x06, -0x03, -0x06, +0x1B, +0x01, -0x07, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x03, -0x05, +0x01, -0x04, -0x05, -0x06, +0x00, +0x00, +0x00, -0x05, -0x02, +0x0B, -0x05, -0x03, -0x03, +0x01, +0x0E, -0x02, -0x04, -0x05, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x07, -0x02, +0x04, -0x02, -0x02, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x06, -0x05, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x00, -0x01, +0x00, +0x00, -0x03, +0x00, +0x00, -0x01, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM380 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x06, +0x01, +0x00, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x03, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x11, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x06, -0x05, -0x04, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x04, -0x05, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x05, +0x03, +0x02, -0x01, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [+0x02, -0x02, +0x01, +0x01, -0x03, -0x01, +0x01, +0x05, -0x01, -0x02, -0x04, -0x01, -0x02, -0x05, +0x00, +0x01, +0x01, -0x08, -0x05, -0x01, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x06, -0x02, -0x02, +0x01, -0x02, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x03, +0x02, -0x02, -0x01, +0x00, -0x05, +0x00, +0x04, -0x02, -0x02, +0x00, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x03, +0x07, -0x03, +0x04, +0x03, -0x02, -0x03, -0x01, -0x02, +0x00, +0x03, -0x03, -0x03, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x01, -0x06, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x05, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x02, +0x03, +0x04, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x02, +0x02, -0x02, -0x01, +0x00, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x05, -0x05, -0x02, +0x02, +0x03, -0x05, +0x01, +0x0C, -0x05, -0x04, -0x03, +0x02, +0x0A, +0x00, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x02, -0x02, +0x00, -0x02, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x00, +0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x02, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x03, -0x05, -0x07, -0x09, -0x05, -0x07, -0x08, -0x03, -0x05, -0x02, -0x03, -0x04, +0x02, -0x06, -0x03, -0x06, +0x1A, +0x01, -0x06, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x03, -0x05, +0x01, -0x04, -0x05, -0x05, +0x00, +0x00, +0x00, -0x05, -0x02, +0x0A, -0x05, -0x03, -0x03, +0x01, +0x0D, -0x02, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x02, -0x02, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x04, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x02, +0x02, +0x03, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM390 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x01, -0x01, +0x00, -0x02, -0x01, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x06, +0x01, +0x00, -0x04, +0x01, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x03, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x04, -0x03, -0x01, +0x02, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x11, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x05, -0x05, -0x04, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x04, -0x05, -0x03, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x04, +0x00, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x05, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x01, -0x02, +0x01, +0x01, -0x03, +0x00, +0x01, +0x05, -0x01, -0x02, -0x04, -0x01, -0x02, -0x05, +0x00, +0x01, +0x01, -0x07, -0x05, -0x01, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x06, -0x02, -0x02, +0x01, -0x02, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x04, -0x02, -0x02, +0x00, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x03, +0x07, -0x03, +0x04, +0x03, -0x02, -0x02, -0x01, -0x02, +0x00, +0x03, -0x03, -0x02, -0x01, -0x09], + [-0x01, +0x04, +0x01, +0x01, -0x05, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x02, +0x03, +0x04, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x09], + [-0x03, -0x05, -0x04, -0x05, -0x04, -0x04, -0x05, -0x05, -0x02, +0x02, +0x03, -0x05, +0x01, +0x0C, -0x05, -0x03, -0x03, +0x02, +0x0A, +0x00, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, -0x01, -0x02, +0x00, -0x02, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x03, -0x04, -0x07, -0x09, -0x05, -0x07, -0x07, -0x03, -0x05, -0x02, -0x03, -0x04, +0x02, -0x06, -0x03, -0x05, +0x1A, +0x01, -0x06, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x03, -0x05, +0x01, -0x04, -0x05, -0x05, +0x00, +0x00, +0x00, -0x05, -0x01, +0x0A, -0x05, -0x03, -0x03, +0x01, +0x0D, -0x02, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x02, -0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM400 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x01, -0x01, +0x00, -0x02, -0x01, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x01, +0x00, +0x00, -0x08], + [-0x01, +0x05, +0x01, +0x00, -0x04, +0x01, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x04, +0x00, +0x00, +0x00, +0x03, -0x04, -0x02, +0x00, +0x01, +0x00, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x03, +0x01, +0x02, +0x01, +0x01, -0x01, -0x03, +0x01, -0x01, -0x03, +0x00, +0x01, +0x00, -0x04, -0x03, -0x01, +0x02, +0x01, +0x00, -0x08], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x04, -0x02, +0x02, +0x02, +0x00, -0x08], + [-0x02, -0x04, -0x03, -0x05, +0x11, -0x05, -0x05, -0x03, -0x03, -0x02, -0x06, -0x05, -0x05, -0x04, -0x02, +0x00, -0x02, -0x08, +0x01, -0x02, -0x04, -0x05, -0x03, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x04, +0x00, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x02, +0x00, -0x08], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x04, -0x01, +0x02, +0x03, +0x00, -0x08], + [+0x01, -0x02, +0x01, +0x01, -0x03, +0x00, +0x01, +0x04, -0x01, -0x02, -0x03, -0x01, -0x02, -0x05, +0x00, +0x01, +0x01, -0x07, -0x05, -0x01, +0x01, +0x00, +0x00, -0x08], + [-0x01, +0x02, +0x01, +0x01, -0x03, +0x03, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, -0x01, -0x02, +0x00, -0x02, +0x01, +0x02, +0x00, -0x08], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x02, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x08], + [-0x02, -0x03, -0x03, -0x03, -0x06, -0x02, -0x03, -0x03, -0x02, +0x03, +0x07, -0x02, +0x04, +0x03, -0x02, -0x02, -0x01, -0x02, +0x00, +0x03, -0x03, -0x02, -0x01, -0x08], + [-0x01, +0x04, +0x01, +0x01, -0x05, +0x01, +0x01, -0x01, +0x01, -0x02, -0x02, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x04, -0x02, +0x01, +0x01, +0x00, -0x08], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x01, +0x02, +0x04, +0x00, +0x05, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x08], + [-0x03, -0x04, -0x03, -0x05, -0x04, -0x04, -0x05, -0x05, -0x02, +0x02, +0x03, -0x05, +0x01, +0x0B, -0x04, -0x03, -0x03, +0x02, +0x0A, +0x00, -0x04, -0x05, -0x02, -0x08], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x08], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x08], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x08], + [-0x06, +0x03, -0x04, -0x07, -0x08, -0x05, -0x07, -0x07, -0x02, -0x05, -0x02, -0x03, -0x04, +0x02, -0x06, -0x03, -0x05, +0x1A, +0x01, -0x06, -0x05, -0x06, -0x04, -0x08], + [-0x03, -0x04, -0x03, -0x04, +0x01, -0x04, -0x04, -0x05, +0x00, +0x00, +0x00, -0x04, -0x01, +0x0A, -0x05, -0x03, -0x03, +0x01, +0x0D, -0x02, -0x03, -0x04, -0x02, -0x08], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x01, -0x01, +0x00, -0x08], + [+0x01, +0x00, +0x02, +0x02, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x02, +0x00, -0x08], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x03, +0x00, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x01, +0x02, +0x03, +0x00, -0x08], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x08], + [-0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, -0x08, +0x01]] + +PAM410 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, -0x01, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x0A], + [-0x01, +0x06, +0x01, +0x00, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x05, -0x02, +0x00, +0x01, +0x00, -0x0A], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x01, -0x05, -0x03, -0x01, +0x02, +0x02, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x06, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x0A], + [-0x02, -0x04, -0x04, -0x06, +0x14, -0x06, -0x06, -0x04, -0x04, -0x03, -0x07, -0x06, -0x06, -0x04, -0x03, +0x00, -0x02, -0x0A, +0x01, -0x02, -0x05, -0x06, -0x03, -0x0A], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x06, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x0A], + [+0x02, -0x02, +0x01, +0x01, -0x04, +0x00, +0x01, +0x05, -0x01, -0x02, -0x04, -0x01, -0x03, -0x06, +0x00, +0x01, +0x01, -0x08, -0x06, -0x01, +0x01, +0x00, +0x00, -0x0A], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x06, -0x02, -0x02, +0x01, -0x02, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x0A], + [+0x00, -0x02, -0x02, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, +0x04, +0x04, -0x02, +0x03, +0x02, -0x02, -0x01, +0x00, -0x06, +0x00, +0x04, -0x02, -0x02, +0x00, -0x0A], + [-0x02, -0x03, -0x03, -0x04, -0x07, -0x02, -0x03, -0x04, -0x02, +0x04, +0x08, -0x03, +0x05, +0x04, -0x03, -0x03, -0x01, -0x02, +0x01, +0x03, -0x03, -0x03, -0x01, -0x0A], + [-0x01, +0x04, +0x01, +0x01, -0x06, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x05, +0x00, -0x06, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x0A], + [-0x01, +0x00, -0x02, -0x02, -0x06, -0x01, -0x02, -0x03, -0x02, +0x03, +0x05, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x02, +0x02, -0x02, -0x02, +0x00, -0x0A], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x06, -0x06, -0x02, +0x02, +0x04, -0x06, +0x01, +0x0E, -0x05, -0x04, -0x03, +0x02, +0x0C, +0x00, -0x05, -0x05, -0x02, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x02, -0x03, +0x00, -0x02, -0x05, +0x06, +0x01, +0x01, -0x07, -0x05, -0x01, +0x00, +0x00, +0x00, -0x0A], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x0A], + [+0x01, +0x00, +0x01, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x02, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x07, +0x04, -0x05, -0x08, -0x0A, -0x05, -0x08, -0x08, -0x03, -0x06, -0x02, -0x03, -0x04, +0x02, -0x07, -0x03, -0x06, +0x1F, +0x02, -0x07, -0x06, -0x07, -0x04, -0x0A], + [-0x04, -0x05, -0x03, -0x05, +0x01, -0x04, -0x05, -0x06, +0x00, +0x00, +0x01, -0x05, -0x02, +0x0C, -0x05, -0x03, -0x03, +0x02, +0x0F, -0x02, -0x04, -0x05, -0x02, -0x0A], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x07, -0x02, +0x04, -0x02, -0x02, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x02, +0x02, +0x00, -0x0A], + [+0x00, +0x01, +0x02, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x02, +0x03, +0x00, -0x0A], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM420 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x0A], + [-0x01, +0x06, +0x01, +0x00, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x05, -0x02, +0x00, +0x01, +0x00, -0x0A], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x02, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x0A], + [-0x02, -0x04, -0x04, -0x05, +0x14, -0x06, -0x06, -0x03, -0x04, -0x03, -0x07, -0x06, -0x06, -0x04, -0x03, +0x00, -0x02, -0x0A, +0x01, -0x02, -0x05, -0x06, -0x03, -0x0A], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x02, +0x02, +0x03, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x06, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x0A], + [+0x02, -0x02, +0x01, +0x01, -0x03, +0x00, +0x01, +0x05, -0x01, -0x02, -0x04, -0x01, -0x02, -0x06, +0x00, +0x01, +0x01, -0x08, -0x06, -0x01, +0x01, +0x00, +0x00, -0x0A], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x06, -0x02, -0x02, +0x01, -0x02, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x0A], + [+0x00, -0x02, -0x02, -0x02, -0x03, -0x02, -0x02, -0x02, -0x02, +0x04, +0x04, -0x02, +0x03, +0x02, -0x02, -0x01, +0x00, -0x06, +0x00, +0x04, -0x02, -0x02, +0x00, -0x0A], + [-0x02, -0x03, -0x03, -0x04, -0x07, -0x02, -0x03, -0x04, -0x02, +0x04, +0x07, -0x03, +0x05, +0x04, -0x02, -0x03, -0x01, -0x02, +0x01, +0x03, -0x03, -0x03, -0x01, -0x0A], + [+0x00, +0x04, +0x01, +0x01, -0x06, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x05, +0x00, -0x06, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x0A], + [-0x01, +0x00, -0x01, -0x02, -0x06, -0x01, -0x02, -0x02, -0x02, +0x03, +0x05, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x0A], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x06, -0x06, -0x02, +0x02, +0x04, -0x06, +0x01, +0x0D, -0x05, -0x04, -0x03, +0x02, +0x0C, +0x00, -0x05, -0x05, -0x02, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x02, -0x02, +0x00, -0x02, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x0A], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x03, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x07, +0x04, -0x05, -0x08, -0x0A, -0x05, -0x08, -0x08, -0x03, -0x06, -0x02, -0x03, -0x04, +0x02, -0x06, -0x03, -0x06, +0x1F, +0x02, -0x07, -0x06, -0x07, -0x04, -0x0A], + [-0x04, -0x05, -0x03, -0x05, +0x01, -0x04, -0x05, -0x06, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0C, -0x05, -0x03, -0x03, +0x02, +0x0F, -0x02, -0x04, -0x05, -0x02, -0x0A], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x02, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x07, -0x02, +0x04, -0x02, -0x02, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x02, +0x02, +0x02, +0x00, -0x0A], + [+0x00, +0x01, +0x02, +0x03, -0x06, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x07, -0x05, -0x02, +0x02, +0x03, +0x00, -0x0A], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM430 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x06, +0x01, +0x00, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x07, -0x05, -0x02, +0x03, +0x03, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x14, -0x06, -0x05, -0x03, -0x04, -0x02, -0x06, -0x06, -0x05, -0x04, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x04, -0x05, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x02, -0x02, +0x01, +0x01, -0x03, +0x00, +0x01, +0x05, -0x01, -0x02, -0x04, -0x01, -0x02, -0x05, +0x00, +0x01, +0x01, -0x08, -0x05, -0x01, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x04, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x04, -0x02, -0x02, +0x00, -0x09], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x04, +0x07, -0x03, +0x05, +0x04, -0x02, -0x02, -0x01, -0x02, +0x01, +0x03, -0x03, -0x03, -0x01, -0x09], + [+0x00, +0x04, +0x01, +0x01, -0x06, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x01, +0x03, +0x05, +0x00, +0x05, +0x01, -0x02, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x06, -0x05, -0x02, +0x02, +0x04, -0x05, +0x01, +0x0D, -0x05, -0x04, -0x03, +0x02, +0x0C, +0x00, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x01, -0x02, +0x00, -0x02, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x07, +0x04, -0x05, -0x07, -0x09, -0x05, -0x08, -0x08, -0x03, -0x05, -0x02, -0x03, -0x04, +0x02, -0x06, -0x03, -0x06, +0x1F, +0x02, -0x07, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x03, -0x05, +0x01, -0x04, -0x05, -0x05, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0C, -0x05, -0x03, -0x03, +0x02, +0x0F, -0x02, -0x04, -0x05, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x02, +0x04, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x07, -0x02, +0x04, -0x01, -0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x03, -0x05, +0x03, +0x03, +0x00, +0x02, -0x02, -0x03, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x05, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM440 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x05, +0x01, +0x00, -0x04, +0x02, +0x00, -0x02, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x07, -0x05, -0x02, +0x02, +0x02, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x14, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x05, -0x05, -0x04, -0x03, +0x00, -0x02, -0x09, +0x01, -0x02, -0x04, -0x05, -0x03, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x05, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x04, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x02, -0x02, +0x01, +0x01, -0x03, +0x00, +0x01, +0x04, -0x01, -0x02, -0x04, -0x01, -0x02, -0x05, +0x00, +0x01, +0x01, -0x08, -0x05, -0x01, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, -0x01, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x04, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x09], + [-0x02, -0x03, -0x03, -0x03, -0x06, -0x02, -0x03, -0x04, -0x02, +0x04, +0x07, -0x03, +0x05, +0x04, -0x02, -0x02, -0x01, -0x02, +0x01, +0x03, -0x03, -0x02, -0x01, -0x09], + [+0x00, +0x04, +0x01, +0x01, -0x05, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x01, +0x03, +0x05, +0x00, +0x04, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x09], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x04, -0x05, -0x05, -0x02, +0x02, +0x04, -0x05, +0x01, +0x0D, -0x05, -0x04, -0x03, +0x02, +0x0C, +0x00, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x00, +0x00, -0x01, -0x02, +0x00, -0x01, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x04, -0x05, -0x07, -0x09, -0x05, -0x07, -0x08, -0x03, -0x05, -0x02, -0x03, -0x04, +0x02, -0x06, -0x03, -0x06, +0x1E, +0x02, -0x06, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x03, -0x05, +0x01, -0x04, -0x05, -0x05, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0C, -0x05, -0x03, -0x03, +0x02, +0x0F, -0x02, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x02, +0x04, -0x01, -0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x02, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x03, +0x00, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, -0x01, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM450 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x01, -0x01, +0x00, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x05, +0x01, +0x00, -0x04, +0x02, +0x00, -0x01, +0x02, -0x02, -0x03, +0x04, +0x00, -0x04, +0x00, +0x00, +0x00, +0x04, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x01, -0x02, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x04, -0x03, -0x01, +0x01, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x02, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x14, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x05, -0x05, -0x04, -0x02, +0x00, -0x02, -0x09, +0x01, -0x02, -0x04, -0x05, -0x02, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x05, +0x03, +0x02, +0x00, +0x03, -0x01, -0x02, +0x01, -0x01, -0x04, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x03, +0x00, -0x09], + [+0x01, -0x01, +0x01, +0x01, -0x03, +0x00, +0x01, +0x04, -0x01, -0x02, -0x03, -0x01, -0x02, -0x05, +0x00, +0x01, +0x01, -0x08, -0x05, -0x01, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, -0x01, -0x02, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x02, -0x02, -0x02, +0x04, +0x03, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x09], + [-0x02, -0x03, -0x02, -0x03, -0x06, -0x02, -0x03, -0x03, -0x02, +0x03, +0x07, -0x02, +0x04, +0x04, -0x02, -0x02, -0x01, -0x01, +0x01, +0x03, -0x03, -0x02, -0x01, -0x09], + [+0x00, +0x04, +0x01, +0x01, -0x05, +0x01, +0x01, -0x01, +0x01, -0x02, -0x02, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x01, +0x03, +0x04, +0x00, +0x04, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x09], + [-0x03, -0x04, -0x04, -0x05, -0x04, -0x04, -0x05, -0x05, -0x02, +0x02, +0x04, -0x05, +0x01, +0x0D, -0x05, -0x03, -0x03, +0x02, +0x0C, +0x00, -0x04, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x01, +0x00, +0x00, +0x00, -0x01, -0x02, +0x00, -0x01, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, -0x01, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x04, -0x04, -0x07, -0x09, -0x05, -0x07, -0x08, -0x02, -0x05, -0x01, -0x03, -0x04, +0x02, -0x06, -0x03, -0x05, +0x1E, +0x02, -0x06, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x03, -0x05, +0x01, -0x04, -0x05, -0x05, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0C, -0x05, -0x03, -0x03, +0x02, +0x0E, -0x02, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x02, +0x03, -0x01, -0x01, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x02, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x03, +0x00, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM460 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x01, +0x00, +0x00, -0x01, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x05, +0x01, +0x00, -0x04, +0x01, +0x00, -0x01, +0x02, -0x02, -0x02, +0x04, +0x00, -0x04, +0x00, +0x00, +0x00, +0x04, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x03, +0x01, +0x01, +0x01, +0x01, -0x01, -0x02, +0x01, -0x01, -0x03, +0x00, +0x01, +0x00, -0x04, -0x03, -0x01, +0x01, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [-0x02, -0x04, -0x03, -0x05, +0x13, -0x05, -0x05, -0x03, -0x03, -0x02, -0x06, -0x05, -0x05, -0x03, -0x02, +0x00, -0x02, -0x09, +0x02, -0x02, -0x04, -0x05, -0x02, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x02, +0x00, +0x02, -0x01, -0x02, +0x01, -0x01, -0x04, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x01, +0x02, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x01, -0x01, +0x01, +0x01, -0x03, +0x00, +0x01, +0x04, -0x01, -0x02, -0x03, -0x01, -0x02, -0x05, +0x01, +0x01, +0x01, -0x07, -0x05, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x00, +0x02, +0x01, +0x01, -0x03, +0x02, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, +0x00, -0x02, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x02, -0x02, -0x02, +0x03, +0x03, -0x02, +0x02, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x09], + [-0x01, -0x02, -0x02, -0x03, -0x06, -0x02, -0x03, -0x03, -0x02, +0x03, +0x07, -0x02, +0x04, +0x03, -0x02, -0x02, -0x01, -0x01, +0x01, +0x03, -0x03, -0x02, -0x01, -0x09], + [+0x00, +0x04, +0x01, +0x01, -0x05, +0x01, +0x01, -0x01, +0x01, -0x02, -0x02, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x04, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x01, +0x02, +0x04, +0x00, +0x04, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x09], + [-0x03, -0x04, -0x03, -0x05, -0x03, -0x04, -0x05, -0x05, -0x02, +0x02, +0x03, -0x05, +0x01, +0x0C, -0x04, -0x03, -0x03, +0x02, +0x0B, +0x00, -0x04, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x01, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x04, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x05, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x04, -0x04, -0x07, -0x09, -0x05, -0x07, -0x07, -0x02, -0x05, -0x01, -0x03, -0x04, +0x02, -0x06, -0x03, -0x05, +0x1E, +0x02, -0x06, -0x06, -0x06, -0x04, -0x09], + [-0x03, -0x04, -0x03, -0x04, +0x02, -0x04, -0x04, -0x05, +0x00, +0x00, +0x01, -0x04, -0x01, +0x0B, -0x05, -0x03, -0x03, +0x02, +0x0E, -0x02, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x02, +0x03, -0x01, -0x01, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x04, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x02, +0x00, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x00, +0x00, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM470 = [[+0x01, -0x01, +0x01, +0x01, -0x02, +0x00, +0x01, +0x02, -0x01, +0x00, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x0A], + [-0x01, +0x06, +0x01, +0x00, -0x04, +0x02, +0x00, -0x01, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x05, -0x02, +0x00, +0x01, +0x00, -0x0A], + [+0x01, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x01, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x04, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x02, +0x03, +0x03, +0x00, -0x0A], + [-0x02, -0x04, -0x04, -0x05, +0x16, -0x06, -0x05, -0x03, -0x04, -0x02, -0x06, -0x06, -0x06, -0x04, -0x03, +0x00, -0x02, -0x0A, +0x02, -0x02, -0x05, -0x06, -0x03, -0x0A], + [+0x00, +0x02, +0x01, +0x02, -0x06, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x02, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x08, -0x05, -0x01, +0x02, +0x03, +0x00, -0x0A], + [+0x02, -0x01, +0x01, +0x01, -0x03, +0x00, +0x01, +0x05, -0x01, -0x02, -0x04, -0x01, -0x02, -0x06, +0x01, +0x01, +0x01, -0x08, -0x06, -0x01, +0x01, +0x01, +0x00, -0x0A], + [-0x01, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, +0x00, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x0A], + [+0x00, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x04, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x0A], + [-0x02, -0x03, -0x03, -0x04, -0x06, -0x02, -0x03, -0x04, -0x02, +0x04, +0x08, -0x03, +0x05, +0x04, -0x02, -0x02, -0x01, -0x02, +0x01, +0x03, -0x03, -0x03, -0x01, -0x0A], + [+0x00, +0x04, +0x01, +0x01, -0x06, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x0A], + [-0x01, +0x00, -0x01, -0x02, -0x06, -0x01, -0x02, -0x02, -0x01, +0x03, +0x05, +0x00, +0x04, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x0A], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x06, -0x06, -0x02, +0x02, +0x04, -0x05, +0x01, +0x0E, -0x05, -0x04, -0x03, +0x03, +0x0D, +0x00, -0x05, -0x05, -0x02, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x01, +0x00, -0x0A], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x04, -0x03, -0x01, +0x01, +0x00, +0x00, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x07, +0x04, -0x05, -0x08, -0x0A, -0x05, -0x08, -0x08, -0x03, -0x05, -0x02, -0x03, -0x04, +0x03, -0x06, -0x04, -0x06, +0x23, +0x02, -0x07, -0x06, -0x07, -0x04, -0x0A], + [-0x04, -0x05, -0x03, -0x05, +0x02, -0x04, -0x05, -0x06, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0D, -0x05, -0x03, -0x03, +0x02, +0x10, -0x02, -0x04, -0x05, -0x02, -0x0A], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x07, -0x02, +0x04, -0x01, -0x01, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x0A], + [+0x00, +0x01, +0x01, +0x03, -0x06, +0x02, +0x03, +0x01, +0x02, -0x02, -0x03, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x07, -0x05, -0x01, +0x02, +0x03, +0x00, -0x0A], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM480 = [[+0x01, -0x01, +0x01, +0x01, -0x02, +0x00, +0x01, +0x02, +0x00, +0x00, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x07, -0x04, +0x00, +0x01, +0x00, +0x00, -0x0A], + [-0x01, +0x05, +0x01, +0x00, -0x04, +0x02, +0x00, -0x01, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x04, -0x02, +0x00, +0x01, +0x00, -0x0A], + [+0x01, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x01, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x02, +0x01, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x06, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x02, +0x00, -0x0A], + [-0x02, -0x04, -0x04, -0x05, +0x16, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x06, -0x05, -0x04, -0x03, +0x00, -0x02, -0x0A, +0x02, -0x02, -0x04, -0x05, -0x03, -0x0A], + [+0x00, +0x02, +0x01, +0x02, -0x05, +0x03, +0x02, +0x00, +0x03, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x02, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x08, -0x05, -0x01, +0x02, +0x03, +0x00, -0x0A], + [+0x02, -0x01, +0x01, +0x01, -0x03, +0x00, +0x01, +0x04, -0x01, -0x02, -0x04, -0x01, -0x02, -0x05, +0x01, +0x01, +0x01, -0x08, -0x05, -0x01, +0x01, +0x01, +0x00, -0x0A], + [+0x00, +0x02, +0x01, +0x01, -0x04, +0x03, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, +0x00, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x0A], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x02, -0x02, -0x02, -0x02, +0x04, +0x04, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x0A], + [-0x02, -0x03, -0x03, -0x03, -0x06, -0x02, -0x03, -0x04, -0x02, +0x04, +0x07, -0x03, +0x05, +0x04, -0x02, -0x02, -0x01, -0x02, +0x01, +0x03, -0x03, -0x03, -0x01, -0x0A], + [+0x00, +0x04, +0x01, +0x01, -0x06, +0x01, +0x01, -0x01, +0x01, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x0A], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x01, +0x03, +0x05, +0x00, +0x04, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x0A], + [-0x04, -0x05, -0x04, -0x06, -0x04, -0x05, -0x05, -0x05, -0x02, +0x02, +0x04, -0x05, +0x01, +0x0E, -0x05, -0x04, -0x03, +0x03, +0x0D, +0x00, -0x05, -0x05, -0x02, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x05, +0x05, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x01, +0x00, -0x0A], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x0A], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x07, +0x04, -0x05, -0x07, -0x0A, -0x05, -0x08, -0x08, -0x03, -0x05, -0x02, -0x03, -0x04, +0x03, -0x06, -0x03, -0x06, +0x23, +0x02, -0x07, -0x06, -0x06, -0x04, -0x0A], + [-0x04, -0x04, -0x03, -0x05, +0x02, -0x04, -0x05, -0x05, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0D, -0x05, -0x03, -0x03, +0x02, +0x10, -0x02, -0x04, -0x05, -0x02, -0x0A], + [+0x00, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x07, -0x02, +0x03, -0x01, -0x01, +0x00, -0x0A], + [+0x01, +0x00, +0x02, +0x02, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x0A], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x03, +0x01, +0x02, -0x02, -0x03, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x06, -0x05, -0x01, +0x02, +0x02, +0x00, -0x0A], + [+0x00, +0x00, +0x00, +0x00, -0x03, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, +0x00, -0x0A], + [-0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, -0x0A, +0x01]] + +PAM490 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x02, +0x00, +0x00, -0x01, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x04, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x05, +0x01, +0x00, -0x04, +0x02, +0x00, -0x01, +0x02, -0x02, -0x03, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, +0x04, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x04, +0x01, +0x02, +0x01, +0x01, -0x01, -0x02, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x01, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x02, +0x00, -0x09], + [-0x02, -0x04, -0x04, -0x05, +0x16, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x05, -0x05, -0x04, -0x03, +0x00, -0x02, -0x09, +0x02, -0x02, -0x04, -0x05, -0x02, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x05, +0x02, +0x02, +0x00, +0x02, -0x01, -0x02, +0x01, -0x01, -0x04, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x02, -0x01, +0x01, +0x01, -0x03, +0x00, +0x01, +0x04, -0x01, -0x02, -0x03, -0x01, -0x02, -0x05, +0x01, +0x01, +0x01, -0x08, -0x05, -0x01, +0x01, +0x01, +0x00, -0x09], + [+0x00, +0x02, +0x01, +0x01, -0x04, +0x02, +0x01, -0x01, +0x05, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, +0x00, -0x03, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x02, -0x02, -0x02, +0x03, +0x04, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x09], + [-0x01, -0x03, -0x02, -0x03, -0x06, -0x02, -0x03, -0x03, -0x02, +0x04, +0x07, -0x02, +0x05, +0x04, -0x02, -0x02, -0x01, -0x01, +0x01, +0x03, -0x03, -0x02, -0x01, -0x09], + [+0x00, +0x04, +0x01, +0x01, -0x05, +0x01, +0x01, -0x01, +0x01, -0x02, -0x02, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x02, -0x02, -0x01, +0x03, +0x05, +0x00, +0x04, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x02, -0x01, +0x00, -0x09], + [-0x03, -0x05, -0x04, -0x05, -0x04, -0x04, -0x05, -0x05, -0x02, +0x02, +0x04, -0x05, +0x01, +0x0E, -0x05, -0x04, -0x03, +0x03, +0x0D, +0x00, -0x05, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x03, +0x01, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x05, +0x04, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x04, -0x05, -0x07, -0x09, -0x05, -0x07, -0x08, -0x03, -0x05, -0x01, -0x03, -0x04, +0x03, -0x06, -0x03, -0x06, +0x22, +0x02, -0x06, -0x06, -0x06, -0x04, -0x09], + [-0x04, -0x04, -0x03, -0x05, +0x02, -0x04, -0x05, -0x05, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0D, -0x05, -0x03, -0x03, +0x02, +0x0F, -0x02, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x02, +0x03, -0x01, -0x01, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x02, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x02, +0x01, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM500 = [[+0x01, -0x01, +0x00, +0x01, -0x02, +0x00, +0x01, +0x01, +0x00, +0x00, -0x01, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x01, +0x00, +0x00, -0x09], + [-0x01, +0x05, +0x01, +0x00, -0x04, +0x02, +0x00, -0x01, +0x02, -0x02, -0x02, +0x04, +0x00, -0x04, +0x00, +0x00, +0x00, +0x04, -0x04, -0x02, +0x00, +0x01, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x03, +0x01, +0x01, +0x01, +0x01, -0x01, -0x02, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x05, -0x03, -0x01, +0x01, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x02, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x02, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x02, +0x00, -0x09], + [-0x02, -0x04, -0x03, -0x05, +0x16, -0x05, -0x05, -0x03, -0x04, -0x02, -0x06, -0x05, -0x05, -0x03, -0x02, +0x00, -0x02, -0x09, +0x02, -0x02, -0x04, -0x05, -0x02, -0x09], + [+0x00, +0x02, +0x01, +0x02, -0x05, +0x02, +0x02, +0x00, +0x02, -0x01, -0x02, +0x01, -0x01, -0x04, +0x01, +0x00, +0x00, -0x05, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x03, -0x05, +0x02, +0x03, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x05, +0x00, +0x01, +0x00, -0x07, -0x05, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x01, -0x01, +0x01, +0x01, -0x03, +0x00, +0x01, +0x04, -0x01, -0x02, -0x03, +0x00, -0x02, -0x05, +0x01, +0x01, +0x01, -0x08, -0x05, -0x01, +0x01, +0x01, +0x00, -0x09], + [+0x00, +0x02, +0x01, +0x01, -0x04, +0x02, +0x01, -0x01, +0x04, -0x02, -0x02, +0x01, -0x01, -0x02, +0x00, +0x00, +0x00, -0x02, +0x00, -0x02, +0x01, +0x02, +0x00, -0x09], + [+0x00, -0x02, -0x01, -0x02, -0x02, -0x01, -0x02, -0x02, -0x02, +0x03, +0x04, -0x02, +0x03, +0x02, -0x01, -0x01, +0x00, -0x05, +0x00, +0x03, -0x02, -0x02, +0x00, -0x09], + [-0x01, -0x02, -0x02, -0x03, -0x06, -0x02, -0x03, -0x03, -0x02, +0x04, +0x07, -0x02, +0x04, +0x04, -0x02, -0x02, -0x01, -0x01, +0x01, +0x03, -0x03, -0x02, -0x01, -0x09], + [+0x00, +0x04, +0x01, +0x01, -0x05, +0x01, +0x01, +0x00, +0x01, -0x02, -0x02, +0x04, +0x00, -0x05, +0x00, +0x00, +0x00, -0x03, -0x05, -0x02, +0x01, +0x01, +0x00, -0x09], + [-0x01, +0x00, -0x01, -0x02, -0x05, -0x01, -0x01, -0x02, -0x01, +0x03, +0x04, +0x00, +0x04, +0x01, -0x01, -0x01, +0x00, -0x04, -0x01, +0x02, -0x01, -0x01, +0x00, -0x09], + [-0x03, -0x04, -0x04, -0x05, -0x03, -0x04, -0x05, -0x05, -0x02, +0x02, +0x04, -0x05, +0x01, +0x0D, -0x04, -0x03, -0x03, +0x03, +0x0D, +0x00, -0x04, -0x05, -0x02, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x01, +0x00, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x04, +0x04, +0x01, +0x01, -0x06, -0x05, -0x01, +0x00, +0x01, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x01, +0x00, +0x00, +0x01, +0x01, +0x00, -0x01, -0x02, +0x00, -0x01, -0x03, +0x01, +0x01, +0x01, -0x03, -0x03, -0x01, +0x01, +0x00, +0x00, -0x09], + [+0x01, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x01, +0x00, +0x00, -0x01, +0x00, +0x00, -0x03, +0x01, +0x01, +0x01, -0x06, -0x03, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x06, +0x04, -0x05, -0x07, -0x09, -0x05, -0x07, -0x08, -0x02, -0x05, -0x01, -0x03, -0x04, +0x03, -0x06, -0x03, -0x06, +0x22, +0x02, -0x06, -0x06, -0x06, -0x04, -0x09], + [-0x03, -0x04, -0x03, -0x05, +0x02, -0x04, -0x05, -0x05, +0x00, +0x00, +0x01, -0x05, -0x01, +0x0D, -0x05, -0x03, -0x03, +0x02, +0x0F, -0x01, -0x04, -0x04, -0x02, -0x09], + [+0x00, -0x02, -0x01, -0x01, -0x02, -0x01, -0x01, -0x01, -0x02, +0x03, +0x03, -0x02, +0x02, +0x00, -0x01, -0x01, +0x00, -0x06, -0x01, +0x03, -0x01, -0x01, +0x00, -0x09], + [+0x01, +0x00, +0x01, +0x02, -0x04, +0x02, +0x02, +0x01, +0x01, -0x02, -0x03, +0x01, -0x01, -0x04, +0x00, +0x01, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x01, +0x01, +0x02, -0x05, +0x02, +0x02, +0x01, +0x02, -0x02, -0x02, +0x01, -0x01, -0x05, +0x01, +0x00, +0x00, -0x06, -0x04, -0x01, +0x02, +0x02, +0x00, -0x09], + [+0x00, +0x00, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, +0x00, +0x00, -0x01, +0x00, +0x00, -0x02, +0x00, +0x00, +0x00, -0x04, -0x02, +0x00, +0x00, +0x00, +0x00, -0x09], + [-0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, -0x09, +0x01]] + +PAM_VOCABULARY = { + "A": 0, + "R": 1, + "N": 2, + "D": 3, + "C": 4, + "Q": 5, + "E": 6, + "G": 7, + "H": 8, + "I": 9, + "L": 10, + "K": 11, + "M": 12, + "F": 13, + "P": 14, + "S": 15, + "T": 16, + "W": 17, + "Y": 18, + "V": 19, + "B": 20, + "J": 21, + "Z": 22, + "X": 23, + "*": 24, +} diff --git a/src/beignet/datasets/__init__.py b/src/beignet/datasets/__init__.py new file mode 100644 index 0000000000..64765ebe84 --- /dev/null +++ b/src/beignet/datasets/__init__.py @@ -0,0 +1 @@ +from ._smurf_dataset import SMURFDataset diff --git a/src/beignet/datasets/_smurf_dataset.py b/src/beignet/datasets/_smurf_dataset.py new file mode 100644 index 0000000000..3becfd3d04 --- /dev/null +++ b/src/beignet/datasets/_smurf_dataset.py @@ -0,0 +1,136 @@ +from pathlib import Path +from typing import Callable + +import numpy +import pooch +import torch +from torch import Tensor +from torch.utils.data import Dataset + +from ._smurf_dataset_constants import ( + FAMILIES_TEST, + FAMILIES_TRAIN, + NUM_SEQUENCES_TEST, + NUM_SEQUENCES_TRAIN, +) + + +class SMURFDataset(Dataset): + def __init__( + self, + root: str | Path, + *, + download: bool = False, + train: bool = True, + transform: Callable | None = None, + target_transform: Callable | None = None, + ): + if isinstance(root, str): + root = Path(root) + + name = self.__class__.__name__ + + if download: + pooch.retrieve( + "https://files.ipd.uw.edu/krypton/data_unalign.npz", + fname=f"{name}.npz", + known_hash="9cc22e381619b66fc353c079221fd02450705d4e3ee23e4e23a052b6e70a95ec", + path=root / name, + ) + + self.all_data = numpy.load( + root / name / f"{name}.npz", allow_pickle=True, mmap_mode="r" + ) + + if train: + families = FAMILIES_TRAIN + num_sequences = NUM_SEQUENCES_TRAIN + else: + families = FAMILIES_TEST + num_sequences = NUM_SEQUENCES_TEST + + self.all_sequences = torch.zeros([num_sequences, 583]) + self.all_references = torch.zeros([num_sequences, 583]) + self.all_alignments = torch.zeros([num_sequences, 583]) + self.all_sizes = torch.zeros([num_sequences]) + + idx = 0 + + for family in families: + data = self.all_data[family].tolist() + + # sequences + sequences = torch.nested.to_padded_tensor( + torch.nested.nested_tensor(data["ms"]), 0.0 + ) + + reference_sequence, sequences = sequences[0].squeeze(0), sequences[1:] + + chunk = torch.zeros([sequences.shape[0], 583]) + chunk[:, : sequences.shape[1]] = sequences + self.all_sequences[idx : idx + sequences.shape[0], :] = chunk + + # reference sequences + chunk = torch.zeros([sequences.shape[0], 583]) + chunk[:, : sequences.shape[1]] = reference_sequence.repeat( + (sequences.shape[0], 1) + ) + self.all_references[idx : idx + sequences.shape[0], :] = chunk + + # sizes + self.all_sizes[idx : idx + sequences.shape[0]] = torch.tensor( + [len(seq) for seq in sequences] + ) + + # alignments + alignments = torch.nested.to_padded_tensor( + torch.nested.nested_tensor(data["aln"]), 0.0 + ) + _, alignments = alignments[0], alignments[1:] # discard the first alignment + + chunk = torch.zeros([alignments.shape[0], 583]) + chunk[:, : sequences.shape[1]] = alignments + self.all_alignments[idx : idx + sequences.shape[0], :] = chunk + + idx += sequences.shape[0] + + # one-hot sequences and reference sequences + max_token = torch.max(self.all_sequences.int()).item() + + self.all_sequences = torch.concatenate( + [ + torch.eye(max_token + 1), + torch.zeros([1, max_token + 1]), + ], + )[self.all_sequences.int()] + + self.all_references = torch.concatenate( + [ + torch.eye(max_token + 1), + torch.zeros([1, max_token + 1]), + ], + )[self.all_references.int()] + + self.transform = transform + + self.target_transform = target_transform + + def __len__(self): + return self.all_sequences.size(0) + + def __getitem__(self, index: int) -> tuple[Tensor, Tensor]: + inputs = ( + self.all_sequences[index], + self.all_references[index], + self.all_sizes[index], + ) + + if self.transform: + inputs = self.transform(*inputs) + + target = self.all_alignments[index] + + if self.target_transform: + target = self.target_transform(target) + + return inputs, target diff --git a/src/beignet/datasets/_smurf_dataset_constants.py b/src/beignet/datasets/_smurf_dataset_constants.py new file mode 100644 index 0000000000..eea165de02 --- /dev/null +++ b/src/beignet/datasets/_smurf_dataset_constants.py @@ -0,0 +1,392 @@ +FAMILIES_TEST = [ + "3F6GA", + "1F86A", + "3F9XA", + "2P3WA", + "3FDXA", + "5FH7A", + "2FIUA", + "1FM0D", + "1FM0E", + "3KZPA", + "3FPNB", + "4FVGA", + "1FXLA", + "4G0XA", + "3G13A", + "1G2RA", + "3G2EA", + "3NO0A", + "4G4KA", + "1G6XA", + "3G9KF", + "1GCIA", + "3U2UA", + "4GJZA", + "2GMYA", + "1GPRA", + "3GPKA", + "1N62C", + "4GWBA", + "3H0NA", + "3LYHA", + "4HYLA", + "3H5JA", + "3H7OA", + "4H8EA", + "1H99A", + "2HA8A", + "2HBAA", + "2HBWA", + "2HC8A", + "4XPCA", + "3HMCA", + "5HMLA", + "3HRLA", + "3HY3A", + "2HZQA", + "2JFRA", + "5I32A", + "2I6HA", + "3IBZA", + "2ICUA", + "1IIBA", + "2IIHA", + "5IJAA", + "3IP0A", + "2NWRA", + "1IQ4A", + "2IQYA", + "3IS6A", + "3ISRA", + "3IT4A", + "3IT4B", + "3ITQA", + "5ITQA", + "3IUGA", + "2IXDA", + "3OCMA", + "2IZ6A", + "3PVEA", + "1JKEA", + "1JL1A", + "2JLIA", + "3JXGA", + "1K4IA", + "4LFLA", + "2OMLA", + "3K8UA", + "1M93B", + "1MPGA", + "3KEWA", + "1KHYA", + "1KNMA", + "2NUHA", + "3L00A", + "3L51A", + "3L60A", + "1LFPA", + "3LF9A", + "1LOPA", + "3LQBA", + "4LQ4A", + "4LWRA", + "1LYQA", + "4M0NA", + "3M7AA", + "4ME3A", + "2MHRA", + "3MHXA", + "3MMHA", + "4MU3A", + "1MVLA", + "3MVUA", + "1X1OA", + "4NBXA", + "3NFDA", + "3NO4A", + "2NRKA", + "2NRRA", + "1NS5A", + "4NTKA", + "3NUAA", + "1NZ0A", + "2O70A", + "2OFKA", + "2OLMA", + "2OMKA", + "4ONMA", + "3PN3A", + "1WDJA", + "2OYAA", + "1OZ9A", + "1TQ5A", + "2PFRA", + "4PGRA", + "2PLIA", + "3PO8A", + "3POJA", + "4PUIA", + "3PYWA", + "3Q46A", + "3Q64A", + "2Q7SA", + "4QDNA", + "2QF4A", + "1QG8A", + "2QIFA", + "2QIPA", + "2VTCA", + "2QQ4A", + "1R5LA", + "1YB0A", + "1RSSA", + "1RV9A", + "4RWUA", + "1S7IA", + "1SEIA", + "1SJ1A", + "1SUMB", + "1TIFA", + "1TIGA", + "1TQGA", + "3UBYA", + "1UCDA", + "4UC1A", + "1UEBA", + "1UI0A", + "1USMA", + "1V6TA", + "2VE8A", + "1VGJA", + "1VMHA", + "2VXNA", + "1VZYA", + "4WK7A", + "1W2WA", + "1W2WB", + "2W6KA", + "4W9ZA", + "4WEEA", + "1WJXA", + "1WNYA", + "2WNPF", + "4WPKA", + "2WQKA", + "1X9UA", + "3WSGA", + "1WUBA", + "1WURA", + "2X8XX", + "4X84A", + "4X9JA", + "2XOVA", + "2XTYA", + "1Y6ZA", + "2Y71A", + "1YARH", + "1YD0A", + "2YN5A", + "1Z0WA", + "4YQDA", + "1ZAVA", + "3ZJAA", + "2ZPTX", +] + +NUM_SEQUENCES_TEST = 719_168 + +FAMILIES_TRAIN = [ + "3A0YA", + "4ACIA", + "3AH7A", + "5A62A", + "2A4VA", + "1A3AA", + "3A35A", + "5A35A", + "3GM5A", + "2A67A", + "3A6SA", + "1NNHA", + "4A7UA", + "4A7WA", + "5ECCA", + "5A89A", + "5C0PA", + "2ABWA", + "2A9SA", + "4JS8A", + "3AABA", + "3AAYA", + "4C5KA", + "4ABLA", + "3ACXA", + "1AE9A", + "4AFFA", + "4AFHA", + "3AGYA", + "1M2KA", + "4AIVA", + "4AIWA", + "1AKOA", + "3AK8A", + "3AKBA", + "3ALUA", + "2AMHA", + "2AN1A", + "2ANRA", + "2ANXA", + "4WTPA", + "2APJA", + "2FBNA", + "4APXB", + "2AQ6A", + "1ATZA", + "4ATEA", + "4AVRA", + "3AWUA", + "4AY0A", + "2B0AA", + "1EUWA", + "4LSCA", + "5B3PA", + "2B5GA", + "2HQSC", + "3B8BA", + "4B8EA", + "2B94A", + "1BD8A", + "3BEDA", + "3BEMA", + "3SY1A", + "2BFWA", + "5C1EA", + "4BH5A", + "2C2IA", + "2BK8A", + "2BKMA", + "2BKXA", + "4LXQA", + "3BM7A", + "2BOUA", + "3BP3A", + "3BPKA", + "5C90A", + "3KG9A", + "3BR8A", + "3BT5A", + "1BUOA", + "2BV5A", + "3BWUD", + "3BWUF", + "1I4JA", + "1BXYA", + "1BYRA", + "3BY8A", + "5BY4A", + "2BZ1A", + "4N0KA", + "3C1QA", + "4C24A", + "3C37A", + "3C4BA", + "2C5QA", + "4C6AA", + "4C6SA", + "2C71A", + "2C8MA", + "2C92A", + "1K7KA", + "5CAJA", + "3CCDA", + "3CCGA", + "5CEGB", + "1WPNA", + "1CFBA", + "1CHDA", + "2GGCA", + "3CH0A", + "3LULA", + "3MN2A", + "4EWFA", + "3NREA", + "3CI3A", + "4NNOA", + "3CNVA", + "2EGZA", + "1COJA", + "1COZA", + "3CQ1A", + "5CQXA", + "1KQPA", + "1CTFA", + "1CUKA", + "2CVEA", + "1CXQA", + "3LF5A", + "3CXKA", + "5CX7A", + "3CZXA", + "1D0QA", + "3D01A", + "3D03A", + "4D05A", + "4D74A", + "4DBFA", + "2D4XA", + "3LTJA", + "4DAMA", + "3DBOB", + "3DD6A", + "1H72C", + "4DE9A", + "1DFUP", + "3DFGA", + "1DJ0A", + "2DQWA", + "3FDJA", + "2DTJA", + "4DT4A", + "4DUNA", + "2DXAA", + "4XTVA", + "2DYIA", + "2DYJA", + "2E0NA", + "2E11A", + "1K7JA", + "4E3YA", + "3UF6A", + "1E58A", + "2E5YA", + "2GUIA", + "2EBJA", + "3EERA", + "4HOIA", + "2EGVA", + "3OHEA", + "3EJKA", + "1EKEA", + "1EKJA", + "4ONWA", + "4EOJB", + "4EQPA", + "3ERBA", + "3ERSX", + "2G2CA", + "4ES1A", + "2EW0A", + "4K08A", + "3F0DA", + "4F01A", + "2F1FA", + "2F23A", + "5F3MA", + "3F42A", + "2F5GA", + "3F5VA", + "4F55A", +] + +NUM_SEQUENCES_TRAIN = 950_762 diff --git a/src/beignet/lightning/__init__.py b/src/beignet/lightning/__init__.py new file mode 100644 index 0000000000..70119e4981 --- /dev/null +++ b/src/beignet/lightning/__init__.py @@ -0,0 +1 @@ +from ._msa_lightning_module import MSALightningModule diff --git a/src/beignet/lightning/_msa_lightning_module.py b/src/beignet/lightning/_msa_lightning_module.py new file mode 100644 index 0000000000..73e8602867 --- /dev/null +++ b/src/beignet/lightning/_msa_lightning_module.py @@ -0,0 +1,27 @@ +from lightning import LightningModule + +from beignet.nn import NeedlemanWunschMSA + + +class MSALightningModule(LightningModule): + def __init__( + self, + in_channels: int, + out_channels: int = 512, + kernel_size: int = 18, + *, + gap_penalty: float = 0.0, + temperature: float = 1.0, + ): + super().__init__() + + self.module = NeedlemanWunschMSA( + in_channels, + out_channels, + kernel_size, + gap_penalty=gap_penalty, + temperature=temperature, + ) + + def forward(self, x): + return self.model(x) diff --git a/src/beignet/nn/__init__.py b/src/beignet/nn/__init__.py new file mode 100644 index 0000000000..2e96d98fb5 --- /dev/null +++ b/src/beignet/nn/__init__.py @@ -0,0 +1,2 @@ +from ._needleman_wunsch_msa import NeedlemanWunschMSA +from ._smith_waterman_msa import SmithWatermanMSA diff --git a/src/beignet/nn/_needleman_wunsch_msa.py b/src/beignet/nn/_needleman_wunsch_msa.py new file mode 100644 index 0000000000..39f4526ff8 --- /dev/null +++ b/src/beignet/nn/_needleman_wunsch_msa.py @@ -0,0 +1,56 @@ +import torch +from torch import Tensor +from torch.nn import Conv1d, Module + +import beignet + + +class NeedlemanWunschMSA(Module): + def __init__( + self, + in_channels: int, + out_channels: int = 512, + kernel_size: int = 18, + *, + gap_penalty: float = 0.0, + temperature: float = 1.0, + ): + super().__init__() + + self.gap_penalty = gap_penalty + + self.temperature = temperature + + self.embedding = Conv1d( + in_channels, + out_channels, + kernel_size, + padding="same", + ) + + def forward(self, inputs: (Tensor, Tensor)) -> Tensor: + matrices, shapes = inputs + + embedding = self.embedding(matrices) + + embedding = embedding @ embedding[0].T + + output = beignet.needleman_wunsch( + embedding, + shapes, + gap_penalty=self.gap_penalty, + temperature=self.temperature, + ) + + return torch.einsum( + "ja, nij -> nia", + torch.mean( + torch.einsum( + "nia, nij -> nja", + matrices, + output, + ), + dim=0, + ), + output, + ) diff --git a/src/beignet/nn/_smith_waterman_msa.py b/src/beignet/nn/_smith_waterman_msa.py new file mode 100644 index 0000000000..b1262b4d29 --- /dev/null +++ b/src/beignet/nn/_smith_waterman_msa.py @@ -0,0 +1,56 @@ +import torch +from torch import Tensor +from torch.nn import Conv1d, Module + +import beignet + + +class SmithWatermanMSA(Module): + def __init__( + self, + in_channels: int, + out_channels: int = 512, + kernel_size: int = 18, + *, + gap_penalty: float = 0.0, + temperature: float = 1.0, + ): + super().__init__() + + self.gap_penalty = gap_penalty + + self.temperature = temperature + + self.embedding = Conv1d( + in_channels, + out_channels, + kernel_size, + padding="same", + ) + + def forward(self, inputs: (Tensor, Tensor)) -> Tensor: + matrices, shapes = inputs + + embedding = self.embedding(matrices) + + embedding = embedding @ embedding[0].T + + output = beignet.smith_waterman( + embedding, + shapes, + gap_penalty=self.gap_penalty, + temperature=self.temperature, + ) + + return torch.einsum( + "ja, nij -> nia", + torch.mean( + torch.einsum( + "nia, nij -> nja", + matrices, + output, + ), + dim=0, + ), + output, + ) diff --git a/tests/beignet/test__needleman_wunsch.py b/tests/beignet/test__needleman_wunsch.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/beignet/test__smith_waterman.py b/tests/beignet/test__smith_waterman.py new file mode 100644 index 0000000000..e69de29bb2