From 40859dd145e0a437c1380af49fe5fdbf8d1838d5 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 9 Aug 2020 21:19:40 -0400 Subject: [PATCH 001/116] first working implementation --- pilsner/__init__.py | 2 + pilsner/model.py | 215 +++++++++++++++ pilsner/utility.py | 421 ++++++++++++++++++++++++++++++ scripts/linux/vscode.sh | 14 + scripts/win/vscode.bat | 12 + test/assets/sample_dictionary.txt | 7 + test/assets/tokenizer1.xml | 5 + test/assets/tokenizer2.xml | 5 + test/sandbox.py | 52 ++++ 9 files changed, 733 insertions(+) create mode 100644 pilsner/__init__.py create mode 100644 pilsner/model.py create mode 100644 pilsner/utility.py create mode 100755 scripts/linux/vscode.sh create mode 100644 scripts/win/vscode.bat create mode 100644 test/assets/sample_dictionary.txt create mode 100644 test/assets/tokenizer1.xml create mode 100644 test/assets/tokenizer2.xml create mode 100644 test/sandbox.py diff --git a/pilsner/__init__.py b/pilsner/__init__.py new file mode 100644 index 0000000..ebb1491 --- /dev/null +++ b/pilsner/__init__.py @@ -0,0 +1,2 @@ +from .model import Model +from .utility import Recognizer diff --git a/pilsner/model.py b/pilsner/model.py new file mode 100644 index 0000000..3dd51fa --- /dev/null +++ b/pilsner/model.py @@ -0,0 +1,215 @@ +import os +import logging +import random +import string +import sqlite3 +import sic +import pickle +import shutil + +class Model(dict): + + CONTENT_KEY = '~content' + SPECS_KEY = '~specs' + COMPRESSED_KEY = '~compressed' + TOKENIZER_OPTION_KEY = '~tokenizer_option' + WORD_SEPARATOR_KEY = '~word_separator' + ENTITY_KEY = '~i' + ATTRS_KEY = '~p' + INTERNAL_ID_KEY = '~iid' + DICTIONARY_KEY = '~dictionary' + KEYWORDS_KEY = '~keywords' + NORMALIZER_KEY = '~normalization' + DEFAULT_NORMALIZER_KEY = '~default_normalizer' + DATASOURCE_KEY = '~datasource' + + DEFAULT_DATASOURCE_PATH = '.' + DEFAULT_DATASOURCE_FILENAME = '' + DEFAULT_DATASOURCE = '' + + DEFAULT_WORD_SEPARATOR = ' ' + DEFAULT_TOKENIZER_OPTION = 0 + + def __init__(self, filename='', storage_location='', debug_mode=False, verbose_mode=False): + self.DEFAULT_DATASOURCE_FILENAME = storage_location + if self.DEFAULT_DATASOURCE_FILENAME.lower() != ':memory:': + while self.DEFAULT_DATASOURCE_FILENAME == '' or os.path.exists(self.DEFAULT_DATASOURCE): + self.DEFAULT_DATASOURCE_FILENAME = '.%s' % (''.join(random.choice(string.ascii_letters) for i in range(7))) + self.DEFAULT_DATASOURCE = '%s/%s' % (self.DEFAULT_DATASOURCE_PATH, self.DEFAULT_DATASOURCE_FILENAME) + else: + self.DEFAULT_DATASOURCE = ':memory:' + self[self.NORMALIZER_KEY] = {} + self[self.DEFAULT_NORMALIZER_KEY] = '' + self[self.DICTIONARY_KEY] = [] + self[self.KEYWORDS_KEY] = {} + self[self.DATASOURCE_KEY] = self.DEFAULT_DATASOURCE + self[self.WORD_SEPARATOR_KEY] = self.DEFAULT_WORD_SEPARATOR + self[self.TOKENIZER_OPTION_KEY] = self.DEFAULT_TOKENIZER_OPTION + self.connection = sqlite3.connect(self[self.DATASOURCE_KEY]) + self.cursor = self.connection.cursor() + self.normalizer_map = {} + self.sic_builder = sic.Builder(debug_mode=debug_mode, verbose_mode=verbose_mode) + if filename != '': + self.load(filename) + + def __del__(self): + # remove all temporary resources + self.connection.close() + if os.path.exists(self.DEFAULT_DATASOURCE): + os.remove(self.DEFAULT_DATASOURCE) + + def save(self, filename): + assert os.path.exists(self[self.DATASOURCE_KEY]), 'Cannot find temporary database on disk' + logging.debug('Saving model "%s"' % (filename)) + self.cursor.close() + self.connection.close() + normalizers = { + self.DEFAULT_NORMALIZER_KEY: self[self.DEFAULT_NORMALIZER_KEY], + self.WORD_SEPARATOR_KEY: self[self.WORD_SEPARATOR_KEY], + self.TOKENIZER_OPTION_KEY: self[self.TOKENIZER_OPTION_KEY], + self.NORMALIZER_KEY: {normalizer_name: self[self.NORMALIZER_KEY][normalizer_name].data for normalizer_name in self[self.NORMALIZER_KEY]} + } + with open('%s.normalizers' % (filename), mode='wb') as f: + pickle.dump(normalizers, f) + logging.debug('Saved "%s"' % ('%s.normalizers' % (filename))) + for dictionary_number in range(len(self[self.DICTIONARY_KEY])): + with open('%s.%d.dictionary' % (filename, dictionary_number), mode='wb') as f: + pickle.dump(self[self.DICTIONARY_KEY][dictionary_number], f) + logging.debug('Saved "%s"' % ('%s.%d.dictionary' % (filename, dictionary_number))) + with open('%s.keywords' % (filename), mode='wb') as f: + pickle.dump(self[self.KEYWORDS_KEY], f) + logging.debug('Saved "%s"' % ('%s.keywords' % (filename))) + shutil.copyfile(self[self.DATASOURCE_KEY], '%s.attributes' % (filename)) + logging.debug('Saved "%s"' % ('%s.attributes' % (filename))) + self.connection = sqlite3.connect(self[self.DATASOURCE_KEY]) + self.cursor = self.connection.cursor() + logging.debug('Saved "%s"' % (filename)) + return True + + def load(self, filename): + logging.debug('Loading model "%s"' % (filename)) + self[self.DATASOURCE_KEY] = '%s.attributes' % (filename) + self.cursor.close() + self.connection.close() + with open('%s.normalizers' % (filename), mode='rb') as f: + normalizers = pickle.load(f) + for normalizer_name in normalizers[self.NORMALIZER_KEY]: + self[self.NORMALIZER_KEY][normalizer_name] = self.sic_builder.build_normalizer() + self[self.NORMALIZER_KEY][normalizer_name].data = normalizers[self.NORMALIZER_KEY][normalizer_name] + self[self.WORD_SEPARATOR_KEY] = normalizers[self.WORD_SEPARATOR_KEY] + self[self.TOKENIZER_OPTION_KEY] = normalizers[self.TOKENIZER_OPTION_KEY] + self[self.DEFAULT_NORMALIZER_KEY] = normalizers[self.DEFAULT_NORMALIZER_KEY] + logging.debug('Loaded "%s"' % ('%s.normalizers' % (filename))) + for _filename in os.listdir(os.path.dirname(filename)) if os.path.dirname(filename) != '' else os.listdir(): + if _filename.startswith(os.path.basename(filename) + '.') and _filename.endswith('.dictionary'): + with open('%s/%s' % (os.path.dirname(filename), _filename) if os.path.dirname(filename) != '' else _filename, mode='rb') as f: + dictionary = pickle.load(f) + self[self.DICTIONARY_KEY].append(dictionary) + logging.debug('Loaded "%s"' % ('%s/%s' % (os.path.dirname(filename), _filename) if os.path.dirname(filename) != '' else _filename)) + with open('%s.keywords' % (filename), mode='rb') as f: + keywords = pickle.load(f) + self[self.KEYWORDS_KEY] = keywords + logging.debug('Loaded "%s"' % ('%s.keywords' % (filename))) + self[self.DATASOURCE_KEY] = '%s.attributes' % (filename) + self.connection = sqlite3.connect(self[self.DATASOURCE_KEY]) + self.cursor = self.connection.cursor() + return True + + def add_normalizer(self, normalizer_name, filename, default=False): + logging.debug('Adding normalizer "%s" from "%s"' % (normalizer_name, filename)) + normalizer = self.sic_builder.build_normalizer(filename) + self[self.NORMALIZER_KEY][normalizer_name] = normalizer + if len(self[self.NORMALIZER_KEY]) == 1 or default: + self[self.DEFAULT_NORMALIZER_KEY] = normalizer_name + logging.debug('Added normalizer "%s" from "%s"' % (normalizer_name, filename)) + return True + + def create_recognizer_schema(self, cursor): + logging.debug('Creating schema for permanent storage') + cursor.execute('create table attrs (n integer, iid integer, attr_name text, attr_value text);') + logging.debug('Created schema for permanent storage') + + def pack_subtrie(self, trie, compressed, prefix): + if not compressed: + return trie, prefix + if type(trie) != dict: + return trie, prefix + if prefix == self.ENTITY_KEY: + return trie, prefix + children = trie + child_count = len(children) + if child_count == 1: + for key, child in children.items(): + if key == self.ENTITY_KEY: + if len(prefix) > 1: + return {prefix[1:]: trie}, prefix[0] + return trie, prefix + next_prefix = prefix + key + comp_child, comp_key = self.pack_subtrie(child, compressed, next_prefix) + if prefix == '': + comp_children = {comp_key: comp_child} + else: + comp_children = comp_child + return comp_children, comp_key + else: + comp_children = {} + for key, child in children.items(): + comp_child, comp_key = self.pack_subtrie(child, compressed, key) + comp_children[comp_key] = comp_child + if len(prefix) > 1: + comp_children = {prefix[0]: {prefix[1:]: comp_children}} + return comp_children[prefix[0]], prefix[0] + return comp_children, prefix + + def pack_trie(self, trie, compressed): + ret = {k: trie[k] for k in trie if k != self.CONTENT_KEY} + ret[self.CONTENT_KEY] = {} + for normalizer_name in trie[self.CONTENT_KEY]: + packed = self.pack_subtrie(trie[self.CONTENT_KEY][normalizer_name], compressed, '')[0] + ret[self.CONTENT_KEY][normalizer_name] = packed + return ret + + def attribute_wrapper(self, line_number, normalizer_name, internal_id, subtrie, trie, specs, columns): + if self.ENTITY_KEY not in subtrie: + subtrie[self.ENTITY_KEY] = [] + subtrie[self.ENTITY_KEY].append(line_number) + for k in specs['fields']: + if specs['fields'][k][3]: + continue + if not specs['fields'][k][1]: + self.cursor.execute('insert into attrs (n, iid, attr_name, attr_value) select ?, ?, ?, ?;', (line_number, internal_id, k, columns[specs['fields'][k][0]])) + else: + _ = [ self.cursor.execute('insert into attrs (n, iid, attr_name, attr_value) select ?, ?, ?, ?;', (line_number, internal_id, k, s)) for s in set(columns[specs['fields'][k][0]].split( specs['fields'][k][1]) ) ] + + def get_dictionary_line(self, specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall): + columns = [x.strip(cell_wall) for x in line.split(column_separator)] + if line_number in line_numbers: + internal_id = line_numbers[line_number] + else: + entity_id = columns[specs['id'][0]] + if entity_id not in entity_ids: + entity_ids[entity_id] = len(entity_ids) + internal_id = entity_ids[entity_id] + return columns, internal_id + + def get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_option=0): + synonym, normalizer_name = columns[specs['value'][0]], None + if self[self.NORMALIZER_KEY]: + if specs['tokenizer']: + if columns[specs['tokenizer'][0]] not in self.normalizer_map: + normalizer_name = self[self.DEFAULT_NORMALIZER_KEY] + elif columns[specs['tokenizer'][0]] in self.normalizer_map and self.normalizer_map[columns[specs['tokenizer'][0]]] in self[self.NORMALIZER_KEY]: + normalizer_name = self.normalizer_map[columns[specs['tokenizer'][0]]] + if normalizer_name is not None: + synonym = self[self.NORMALIZER_KEY][normalizer_name].normalize(synonym, word_separator, tokenizer_option) + return synonym, normalizer_name + + def next_trie(self, specs, compressed, tokenizer_option, word_separator): + new_trie = { + self.CONTENT_KEY: {normalizer_name: {} for normalizer_name in self[self.NORMALIZER_KEY]}, + self.SPECS_KEY: specs, + self.COMPRESSED_KEY: int(compressed), + self.TOKENIZER_OPTION_KEY: tokenizer_option, + self.WORD_SEPARATOR_KEY: word_separator + } + return new_trie diff --git a/pilsner/utility.py b/pilsner/utility.py new file mode 100644 index 0000000..aa2c1fb --- /dev/null +++ b/pilsner/utility.py @@ -0,0 +1,421 @@ +import logging +import sqlite3 +import os + +class Recognizer(): + + OPERATIONAL_STORAGE = '' + PERMANENT_STORAGE = '' + + def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, callback_progress=None, permanent_storage='', operational_storage=':memory:'): + logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s') + self.debug = debug_mode + self.verbose = verbose_mode + self.logger = logging.info if self.verbose else logging.debug + if self.verbose: + logging.root.setLevel(logging.INFO) + if self.debug: + logging.root.setLevel(logging.DEBUG) + self.logger('Debug mode is on') + self.callback_status = callback_status + self.callback_progress = callback_progress + self.PERMANENT_STORAGE = permanent_storage + self.OPERATIONAL_STORAGE = operational_storage + self.o_connection = sqlite3.connect(self.OPERATIONAL_STORAGE) + self.o_cursor = self.o_connection.cursor() + self.o_cursor.execute('create table if not exists flatten (l integer, r integer, attr_name text, attr_value text);') + self.o_cursor.execute('delete from flatten;') + self.o_connection.commit() + logging.debug('Recognizer class has been initialized') + + def __del__(self): + # remove all temporary resources + self.o_connection.close() + if os.path.exists(self.OPERATIONAL_STORAGE): + os.remove(self.OPERATIONAL_STORAGE) + + def push_message(self, message, callback_function): + if callback_function is not None: + callback_function(message) + + def compile_dict_specs(self, fields): + logging.debug('Compiling specs') + specs = {'fields': {}, 'id': None, 'tokenizer': None, 'value': None} + # {'name': 'DType', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + # specs = {'DType': (0, None, False, True, False), 'MSID': (1, None, True, False, False), 'value': (2, None, False, False, True)} + for i in range(0, len(fields)): + field = fields[i] + if not field['include']: + continue + specs['fields'][field['name']] = (i, field['delimiter'], field['normalizer_flag'], field['value_flag']) + if field['id_flag']: + specs['id'] = specs['fields'][field['name']] + if field['normalizer_flag']: + specs['tokenizer'] = specs['fields'][field['name']] + if field['value_flag']: + specs['value'] = specs['fields'][field['name']] + logging.debug('Done compiling specs') + return specs + + def make_recognizer(self, model, filename, specs, word_separator, item_limit, compressed, column_separator, cell_wall, tokenizer_option): + # TODO: review for refactoring + self.logger('Making recognizer using %s' % (filename)) + self.push_message('Making recognizer using %s' % (filename), self.callback_status) + entity_ids = {} + line_numbers = {} + total_bytes = os.path.getsize(filename) + 1 + increment_bytes = int(total_bytes / 100) if total_bytes > 100 else total_bytes + this_progress_position = 0 + last_progress_position = 0 + rows = model.cursor.execute('select 0 where not exists (select name from sqlite_master where type = \'table\' and name = \'attrs\');') + for _ in rows: + model.create_recognizer_schema(model.cursor) + break + with open(filename, mode='r', encoding='utf8') as f: + ret = [] + line_count = 0 + line_number = 0 + chars_read = 0 + trie = model.next_trie(specs, compressed, tokenizer_option, word_separator) + for line in f: + chars_read += len(line) + this_progress_position = int(chars_read / increment_bytes) + if this_progress_position != last_progress_position: + last_progress_position = this_progress_position + self.push_message(int(100 * chars_read / total_bytes), self.callback_progress) + if item_limit > 0 and line_count == item_limit: + packed = model.pack_trie(trie, compressed) + ret.append(packed) + trie = model.next_trie(specs, compressed, tokenizer_option, word_separator) + self.logger('Lines read: %d' % (line_count)) + line_count = 0 + columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall) + synonym, normalizer_name = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) + subtrie = trie[model.CONTENT_KEY][normalizer_name] + for character in synonym: + if character not in subtrie: + subtrie[character] = {} + subtrie = subtrie[character] + model.attribute_wrapper(line_number, normalizer_name, internal_id, subtrie, trie, specs, columns) + line_count += 1 + line_number += 1 + if line_count > 0 and len(trie) > 3: + packed = model.pack_trie(trie, compressed) + ret.append(packed) + self.logger('Lines read: %d' % (line_count)) + model.connection.commit() + model.cursor.execute('create index ix_attrs_n_attr_name_attr_value on attrs (n asc, attr_name asc, attr_value asc);') + self.logger('Recognizer completed.') + return ret, line_numbers + + def make_keywords(self, model, filename, specs, line_numbers, word_separator, disambiguate_all, column_separator, cell_wall, tokenizer_option): + self.logger('Making keywords using %s... ' % (filename)) + self.push_message('Making keywords from {0}'.format(filename), self.callback_status) + total_bytes = os.path.getsize(filename) + 1 + increment_bytes = int(total_bytes / 100) if total_bytes > 100 else total_bytes + this_progress_position = 0 + last_progress_position = 0 + entity_ids = {} + internal_id_map = {} + synonyms = {} + with open(filename, mode='r', encoding='utf8') as f: + line_count = 0 + chars_read = 0 + for line in f: + chars_read += len(line) + this_progress_position = int(chars_read / increment_bytes) + if this_progress_position != last_progress_position: + last_progress_position = this_progress_position + self.push_message(int(100 * chars_read / total_bytes), self.callback_progress) + columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, cell_wall) + internal_id_map[line_count] = internal_id + synonym, _ = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) + if synonym not in synonyms: + synonyms[synonym] = set() + synonyms[synonym].add(internal_id) + line_count += 1 + overlapping_ids = {} + for s in synonyms: + if len(synonyms[s]) > 1 or disambiguate_all: + for internal_id in synonyms[s]: + overlapping_ids[internal_id] = set() + synonyms.clear() + entity_ids.clear() + with open(filename, mode='r', encoding='utf8') as f: + line_count = 0 + for line in f: + columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, cell_wall) + if internal_id in overlapping_ids: + synonym, _ = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) + tokens = synonym.split(word_separator) + overlapping_ids[internal_id] = overlapping_ids[internal_id].union(set(tokens)) + line_count += 1 + # TODO: only leave tokens unique for a given internal_id + keywords = {model.CONTENT_KEY: overlapping_ids, model.INTERNAL_ID_KEY: internal_id_map} + self.logger('Done compiling keywords.') + return keywords + + def compile_model(self, model, filename, specs, word_separator, column_separator, cell_wall, compressed=True, item_limit=0, tokenizer_option=0, include_keywords=False, disambiguate_all=False): + tries, line_numbers = self.make_recognizer(model, filename, specs, word_separator, item_limit, compressed, column_separator, cell_wall, tokenizer_option) + keywords = {model.CONTENT_KEY: {}, model.INTERNAL_ID_KEY: {}} + if include_keywords: + keywords = self.make_keywords(model, filename, specs, line_numbers, word_separator, disambiguate_all, column_separator, cell_wall, tokenizer_option) + model[model.DICTIONARY_KEY] = tries + model[model.KEYWORDS_KEY] = keywords + return True + + def verify_keywords(self, model, recognized, src, word_separator): + id_list = [set([model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] for x in rec[0] if x in model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]]) for rec in recognized] + for k in range(len(id_list)): + ids = id_list[k] + if len(ids) < 2: + continue + si = 0 + ei = len(src) + if k > 0: + si = recognized[k-1][4] + if k < len(id_list) - 1: + ei = recognized[k+1][3] + tokens = src[si:ei] + s_tokens = set(tokens.split(word_separator)) + tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} + kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} + winner_score = 0 + winner_id = set() + kwd_score = {} + for i in kwd: + kwd_score[i] = len(kwd[i].intersection(s_tokens)) + if kwd_score[i] > winner_score: + winner_score = kwd_score[i] + winner_id.clear() + if kwd_score[i] == winner_score: + winner_id.add(i) + recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:]) + + def unpack_trie(self, model, packed_trie, compressed): + """TODO: add docstring here + """ + if not compressed or len(packed_trie) != 1: + return packed_trie + branches = [k for k in packed_trie.keys() if k not in [model.ENTITY_KEY]] + if not branches: + return packed_trie + radix = branches[0] + if len(radix) <= 1: + return packed_trie + unpacked_trie = {} + unpacked_trie_pointer = unpacked_trie + for character in radix[:-1]: + unpacked_trie_pointer[character] = {} + unpacked_trie_pointer = unpacked_trie_pointer[character] + unpacked_trie_pointer[radix[-1:]] = packed_trie[radix] + return unpacked_trie + + def check_attrs(self, model, trie_leaf, cur, specs, include_query, exclude_query, process_exclude, attrs_out_query): + trie_leaf[model.ATTRS_KEY] = self.attribute_unpacker(cur, trie_leaf[model.ENTITY_KEY], include_query, exclude_query, process_exclude, attrs_out_query) + if len(trie_leaf[model.ATTRS_KEY]) == 0: + return {} + return trie_leaf + + def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query): + attributes = {} + + include = set() + exclude = set() + for n in leaf_ids: + rows = cur.execute('select distinct n from attrs where n = %d %s;' % (n, include_query)) + for row in rows: + include.add(int(row[0])) + if process_exclude: + for n in leaf_ids: + rows = cur.execute('select distinct n from attrs where n = %d %s;' % (n, exclude_query)) + for row in rows: + exclude.add(int(row[0])) + + ns = include - exclude + + for n in ns: + rows = cur.execute('select attr_name, attr_value from attrs where n = %d%s;' % (n, attrs_out_query)) + if n not in attributes: + attributes[n] = {} + for row in rows: + attr_name, attr_value = str(row[0]), str(row[1]) + if attr_name not in attributes[n]: + attributes[n][attr_name] = [] + attributes[n][attr_name].append(attr_value) + return attributes + + def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query=''): + # TODO: review for refactoring + self.logger('Analyzing "%s"... ' % (source_string)) + rets = [] + for trie in model[model.DICTIONARY_KEY]: + ret = [] + word_separator = trie[model.WORD_SEPARATOR_KEY] + start_index, end_index, string_so_far = -1, 0, '' + reading_entity = source_string[0:1] != word_separator + trie_is_compressed = bool(trie[model.COMPRESSED_KEY]) + subtrie = trie[model.CONTENT_KEY][normalizer_name] + shorter_alternative = None + current_index = 0 + temporary_index = -1 + total_length = len(source_string) + dictionary_specs = trie[model.SPECS_KEY]['fields'].keys() + while current_index < total_length: + if len(ret) > 0 and current_index < ret[-1][-1]: + current_index = ret[-1][-1] + if not reading_entity: # wait for word separator + character = source_string[current_index] + start_index = current_index + if character == word_separator: + reading_entity = True + end_index = start_index + else: # reading entity + end_index = current_index + character = source_string[current_index] + if character == word_separator and model.ENTITY_KEY in subtrie: + found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) + if found_object: + identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] + shorter_alternative = (identified[0], identified[1], string_so_far, start_index + 1, end_index) + if character in subtrie: + if character == word_separator and temporary_index == -1: + temporary_index = current_index + string_so_far += character + subtrie = self.unpack_trie(model, subtrie[character], trie_is_compressed) + else: + #if everything_or_nothing and current_index == total_length: return [] + if character == word_separator or current_index == total_length: # - 1: + if model.ENTITY_KEY in subtrie: + found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) + if found_object: + identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] + ret.append((identified[0], identified[1], string_so_far, start_index + 1, end_index)) + shorter_alternative = None + else: + if shorter_alternative: + ret.append(shorter_alternative) + shorter_alternative = None + else: + if shorter_alternative: + ret.append(shorter_alternative) + shorter_alternative = None + start_index = current_index + else: + if shorter_alternative: + ret.append(shorter_alternative) + shorter_alternative = None + if temporary_index == -1: + reading_entity = False + else: + current_index = temporary_index + temporary_index = -1 + reading_entity = True + string_so_far = '' + start_index = current_index + subtrie = trie[model.CONTENT_KEY][normalizer_name] + current_index += 1 + if model.ENTITY_KEY in subtrie: + found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) + if found_object: + identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] + ret.append((identified[0], identified[1], string_so_far, start_index + 1, current_index - 1)) + elif shorter_alternative: + ret.append(shorter_alternative) + elif shorter_alternative: + ret.append(shorter_alternative) + if model[model.KEYWORDS_KEY] is not None: + self.verify_keywords(model, ret, source_string, word_separator) + rets += ret + self.logger('Done.') + return rets + + def flatten(self, layers): + ret = {} + self.o_cursor.execute('delete from flatten;') + self.o_connection.commit() + for layer in layers: + _map = layer[0] + _recognized = layer[1] + for span in _recognized: + _ids, _content, _left, _right = span[0], span[1], _map[span[3]], _map[span[4]] + for _id in _ids: + _attrs = _content[_id] + for _attr_name in _attrs: + for _attr_value in _attrs[_attr_name]: + self.o_cursor.execute('insert into flatten (l, r, attr_name, attr_value) select ?, ?, ?, ?;', (_left, _right, _attr_name, _attr_value)) + rows = self.o_cursor.execute('select f1.l, f1.r, f1.attr_name, f1.attr_value from flatten f1 where not exists (select f2.* from flatten f2 where (f2.l <= f1.l and f2.r > f1.r) or (f2.l < f1.l and f2.r >= f1.r)) order by f1.l asc, f1.r asc;') + for row in rows: + _location, _attr_name, _attr_value = tuple([int(row[0]), int(row[1])]), str(row[2]), str(row[3]) + if _location not in ret: + ret[_location] = {} + if _attr_name not in ret[_location]: + ret[_location][_attr_name] = set() + ret[_location][_attr_name].add(_attr_value) + return ret + + def reduce(self, segments): + def intersects(segment1, segment2): + return segment2[0] >= segment1[0] and segment2[0] <= segment1[1] + def length(segment): + return segment[1] - segment[0] + sorted_segments = [[x] for x in sorted(sorted(segments, key=lambda x: x[1] - x[0]), key=lambda x: x[0])] + for i in range(len(sorted_segments) - 1): + if len(sorted_segments[i]) == 0: + continue + if intersects(sorted_segments[i][0], sorted_segments[i+1][0]): + if length(sorted_segments[i][0]) >= length(sorted_segments[i+1][0]): + sorted_segments[i+1] = sorted_segments[i] + sorted_segments[i] = [] + elif length(sorted_segments[i][0]) < length(sorted_segments[i+1][0]): + recovered = False + for j in range(1, len(sorted_segments[i])): + if not intersects(sorted_segments[i][j], sorted_segments[i+1][0]): + sorted_segments[i][0] = sorted_segments[i][j] + recovered = True + break + if not recovered: + sorted_segments[i+1] += sorted_segments[i] + sorted_segments[i] = [] + ret = [x[0] for x in sorted_segments if len(x) > 0] + return ret + + def parse(self, model, source_string, attrs_where=None, attrs_out=None): + attributes = attrs_where + if attributes is None: + attributes = {} + for action in ['+', '-']: + if action not in attributes: + attributes[action] = {} + + process_exclude = False + include_set, include_query = set(), '' + for attr_name in attributes['+']: + for attr_value in attributes['+'][attr_name]: + include_set.add('(attr_name = \'' + attr_name.replace('\'', '\'\'') + '\' and attr_value = \'' + attr_value.replace('\'', '\'\'') + '\')') + if len(include_set) > 0: + include_query = 'and (' + ' or '.join(include_set) + ')' + + exclude_set, exclude_query = set(), '' + for attr_name in attributes['-']: + for attr_value in attributes['-'][attr_name]: + exclude_set.add('(attr_name = \'' + attr_name.replace('\'', '\'\'') + '\' and attr_value = \'' + attr_value.replace('\'', '\'\'') + '\')') + if len(exclude_set) > 0: + exclude_query = 'and (' + ' or '.join(exclude_set) + ')' + process_exclude = True + + attrs_out_query = '' + if attrs_out is not None and len(attrs_out) > 0: + attrs_out_query = ' and attr_name in (\'%s\')' % ('\', \''.join([x.replace('\'', '\'\'') for x in attrs_out])) + + rets = [] + for normalizer_name in model[model.NORMALIZER_KEY]: + normalized_string = model[model.NORMALIZER_KEY][normalizer_name].normalize(source_string, model[model.WORD_SEPARATOR_KEY], model[model.TOKENIZER_OPTION_KEY]) + character_map = model[model.NORMALIZER_KEY][normalizer_name].result['map'] + parsed = self.spot_entities(model, normalized_string, normalizer_name, include_query, exclude_query, process_exclude, attrs_out_query) + rets.append((character_map, parsed)) + + flattened = self.flatten(rets) + locations = self.reduce(flattened.keys()) + ret = {location: flattened[location] for location in locations} + return ret diff --git a/scripts/linux/vscode.sh b/scripts/linux/vscode.sh new file mode 100755 index 0000000..62b4cb2 --- /dev/null +++ b/scripts/linux/vscode.sh @@ -0,0 +1,14 @@ +cd `dirname $0` +MYDIR=`pwd` +ROOT=${MYDIR}/../.. +ENV=.env.36 +cd - +mkdir -p ${ROOT}/.vscode +echo '{'>${ROOT}/.vscode/settings.json +echo ' "python.pythonPath": "${workspaceFolder}/'${ENV}'/bin/python3",'>>${ROOT}/.vscode/settings.json +echo ' "code-runner.executorMap": {"python": "./'${ENV}'/bin/python3"}'>>${ROOT}/.vscode/settings.json +echo '}'>>${ROOT}/.vscode/settings.json +echo '{'>${ROOT}/.markdownlint.json +echo ' "MD024": {"siblings_only": true},'>>${ROOT}/.markdownlint.json +echo ' "MD013": {"line_length": 1000}'>>${ROOT}/.markdownlint.json +echo '}'>>${ROOT}/.markdownlint.json diff --git a/scripts/win/vscode.bat b/scripts/win/vscode.bat new file mode 100644 index 0000000..2ef5a69 --- /dev/null +++ b/scripts/win/vscode.bat @@ -0,0 +1,12 @@ +@echo off +set ROOT=%~dp0..\.. +set ENV=.env.37 +if not exist %ROOT%\.vscode\nul mkdir %ROOT%\.vscode +echo {>%ROOT%\.vscode\settings.json +echo "python.pythonPath": "${workspaceFolder}\\%ENV%\\Scripts\\python.exe",>>%ROOT%\.vscode\settings.json +echo "code-runner.executorMap": {"python": "call .\\%ENV%\\Scripts\\python"}>>%ROOT%\.vscode\settings.json +echo }>>%ROOT%\.vscode\settings.json +echo {>%ROOT%\.markdownlint.json +echo "MD024": {"siblings_only": true},>>%ROOT%\.markdownlint.json +echo "MD013": {"line_length": 1000}>>%ROOT%\.markdownlint.json +echo }>>%ROOT%\.markdownlint.json diff --git a/test/assets/sample_dictionary.txt b/test/assets/sample_dictionary.txt new file mode 100644 index 0000000..ad90ce7 --- /dev/null +++ b/test/assets/sample_dictionary.txt @@ -0,0 +1,7 @@ +tokenizer1 entity2 acinic cell carcinomas C,D,E +tokenizer1 entity2 acinic cell carcinomax D,E +tokenizer2 entity1 acinic cell carcinomas A,B,C +tokenizer1 entity1 acinic cell carcinoma A,B,C +tokenizer2 entity1 afinic cell carcinoma A,B,C +tokenizer2 entity1 it A,B,C +tokenizer2 entity1 o A,B,C diff --git a/test/assets/tokenizer1.xml b/test/assets/tokenizer1.xml new file mode 100644 index 0000000..759fe98 --- /dev/null +++ b/test/assets/tokenizer1.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/test/assets/tokenizer2.xml b/test/assets/tokenizer2.xml new file mode 100644 index 0000000..16d6b32 --- /dev/null +++ b/test/assets/tokenizer2.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/test/sandbox.py b/test/sandbox.py new file mode 100644 index 0000000..6129ac0 --- /dev/null +++ b/test/sandbox.py @@ -0,0 +1,52 @@ +import sys; sys.path.insert(0, '') +import pilsner # pylint: disable=E0611,F0401 + +_messages = [] +_status = [] + +def callback_update_mesage(message): + _messages.append(message) + +def callback_update_status(status): + _status.append(status) + +def save_it(): + m = pilsner.Model() + m.add_normalizer('tokenizer1', 'test/assets/tokenizer1.xml') + m.add_normalizer('tokenizer2', 'test/assets/tokenizer2.xml') + m.normalizer_map = { + 'tokenizer1': 'tokenizer1', + 'tokenizer2': 'tokenizer2' + } + r = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) + specs = {'DType': (0, None, True, False), 'MSID': (1, None, False, False), 'value': (2, None, False, True)} + fields = [ + {'name': 'DType', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + {'name': 'MSID', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'Value', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'smth', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, + ] + specs = r.compile_dict_specs(fields) + r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=2, include_keywords=True) + s = 'this is afinic cell carcinoma o carcinoma, damn it' + q = r.parse(m, s) + print(q) + m.save('.test_model') + +def load_it(): + rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) + m = pilsner.Model('.test_model') + s = 'this is acinic cell carcinomas o carcinoma, damn it' + q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) + print(q) + +save_it() +load_it() + +#segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] +#r = Recognizer() +#red = r.reduce(segments) +#print(red) + +print(_messages) +print(_status) From 2bd1f471cd8ecfa1dedf152e350b3e67bfc611b8 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Mon, 10 Aug 2020 16:29:20 -0400 Subject: [PATCH 002/116] progress reporting while parsing --- pilsner/utility.py | 24 ++++++++++++++++++++++-- test/sandbox.py | 1 + 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index aa2c1fb..6b83925 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -245,10 +245,16 @@ def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, proces attributes[n][attr_name].append(attr_value) return attributes - def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query=''): + def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query='', progress_from=0, progress_to=100): # TODO: review for refactoring self.logger('Analyzing "%s"... ' % (source_string)) rets = [] + this_progress_position = 0 + last_progress_position = 0 + total_tries = len(model[model.DICTIONARY_KEY]) + progress_share = progress_to - progress_from + trie_increment = int(progress_share / total_tries) + current_trie_index = 0 for trie in model[model.DICTIONARY_KEY]: ret = [] word_separator = trie[model.WORD_SEPARATOR_KEY] @@ -260,8 +266,13 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', current_index = 0 temporary_index = -1 total_length = len(source_string) + increment_chars = int(total_length / progress_share) if total_length > progress_share else total_length - 1 dictionary_specs = trie[model.SPECS_KEY]['fields'].keys() while current_index < total_length: + this_progress_position = int(current_index / increment_chars / total_tries) + if this_progress_position != last_progress_position: + last_progress_position = this_progress_position + self.push_message(int(progress_share * current_index / total_length / total_tries) + current_trie_index * trie_increment + progress_from, self.callback_progress) if len(ret) > 0 and current_index < ret[-1][-1]: current_index = ret[-1][-1] if not reading_entity: # wait for word separator @@ -327,6 +338,8 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', if model[model.KEYWORDS_KEY] is not None: self.verify_keywords(model, ret, source_string, word_separator) rets += ret + current_trie_index += 1 + self.push_message(progress_to, self.callback_progress) self.logger('Done.') return rets @@ -408,12 +421,19 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): if attrs_out is not None and len(attrs_out) > 0: attrs_out_query = ' and attr_name in (\'%s\')' % ('\', \''.join([x.replace('\'', '\'\'') for x in attrs_out])) + self.push_message('Parsing text', self.callback_status) rets = [] + total_normalizers = len(model[model.NORMALIZER_KEY]) + spot_progress_share = int(100 / total_normalizers) + current_normalizer_index = 0 for normalizer_name in model[model.NORMALIZER_KEY]: normalized_string = model[model.NORMALIZER_KEY][normalizer_name].normalize(source_string, model[model.WORD_SEPARATOR_KEY], model[model.TOKENIZER_OPTION_KEY]) character_map = model[model.NORMALIZER_KEY][normalizer_name].result['map'] - parsed = self.spot_entities(model, normalized_string, normalizer_name, include_query, exclude_query, process_exclude, attrs_out_query) + progress_from = current_normalizer_index * spot_progress_share + progress_to = (current_normalizer_index + 1) * spot_progress_share + parsed = self.spot_entities(model, normalized_string, normalizer_name, include_query, exclude_query, process_exclude, attrs_out_query, progress_from=progress_from, progress_to=progress_to) rets.append((character_map, parsed)) + current_normalizer_index += 1 flattened = self.flatten(rets) locations = self.reduce(flattened.keys()) diff --git a/test/sandbox.py b/test/sandbox.py index 6129ac0..76f1adb 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -37,6 +37,7 @@ def load_it(): rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) m = pilsner.Model('.test_model') s = 'this is acinic cell carcinomas o carcinoma, damn it' + s *= 10 q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) print(q) From f34de1b89b0e013a5a7bf738cf47e84788510f69 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Tue, 11 Aug 2020 00:49:31 -0400 Subject: [PATCH 003/116] flatten() without SQL --- pilsner/utility.py | 32 +++++++++++++++----------------- test/sandbox.py | 11 ++++++++++- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 6b83925..841f2b8 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -1,13 +1,11 @@ import logging -import sqlite3 import os class Recognizer(): - OPERATIONAL_STORAGE = '' PERMANENT_STORAGE = '' - def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, callback_progress=None, permanent_storage='', operational_storage=':memory:'): + def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, callback_progress=None, permanent_storage=''): logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s') self.debug = debug_mode self.verbose = verbose_mode @@ -20,20 +18,11 @@ def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, c self.callback_status = callback_status self.callback_progress = callback_progress self.PERMANENT_STORAGE = permanent_storage - self.OPERATIONAL_STORAGE = operational_storage - self.o_connection = sqlite3.connect(self.OPERATIONAL_STORAGE) - self.o_cursor = self.o_connection.cursor() - self.o_cursor.execute('create table if not exists flatten (l integer, r integer, attr_name text, attr_value text);') - self.o_cursor.execute('delete from flatten;') - self.o_connection.commit() logging.debug('Recognizer class has been initialized') def __del__(self): # remove all temporary resources - self.o_connection.close() - if os.path.exists(self.OPERATIONAL_STORAGE): - os.remove(self.OPERATIONAL_STORAGE) - + pass def push_message(self, message, callback_function): if callback_function is not None: callback_function(message) @@ -344,9 +333,11 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', return rets def flatten(self, layers): + # TODO: prettify this + #print(layers) + #exit(0) ret = {} - self.o_cursor.execute('delete from flatten;') - self.o_connection.commit() + qwe = [] for layer in layers: _map = layer[0] _recognized = layer[1] @@ -356,8 +347,15 @@ def flatten(self, layers): _attrs = _content[_id] for _attr_name in _attrs: for _attr_value in _attrs[_attr_name]: - self.o_cursor.execute('insert into flatten (l, r, attr_name, attr_value) select ?, ?, ?, ?;', (_left, _right, _attr_name, _attr_value)) - rows = self.o_cursor.execute('select f1.l, f1.r, f1.attr_name, f1.attr_value from flatten f1 where not exists (select f2.* from flatten f2 where (f2.l <= f1.l and f2.r > f1.r) or (f2.l < f1.l and f2.r >= f1.r)) order by f1.l asc, f1.r asc;') + qwe.append(tuple([_left, _right, _attr_name, _attr_value])) + qwes = sorted(sorted(qwe, key=lambda x: -x[1]), key=lambda x: x[0]) + rows = [qwes[0]] + for i in range(1, len(qwes)): + q = qwes[i] + if (rows[-1][0] <= q[0] < rows[-1][1] and rows[-1][0] < q[1] < rows[-1][1]) or (rows[-1][0] < q[0] < rows[-1][1] and rows[-1][0] < q[1] <= rows[-1][1]): + continue + rows.append(q) + #rows = qwes for row in rows: _location, _attr_name, _attr_value = tuple([int(row[0]), int(row[1])]), str(row[2]), str(row[3]) if _location not in ret: diff --git a/test/sandbox.py b/test/sandbox.py index 76f1adb..a45960f 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -41,7 +41,7 @@ def load_it(): q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) print(q) -save_it() +#save_it() load_it() #segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] @@ -51,3 +51,12 @@ def load_it(): print(_messages) print(_status) + +#layers = [([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([0], {0: {'MSID': ['entity2'], 'smth': ['C', 'D', 'E']}}, 'acinic cell carcino mas', 8, 31)]), ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([2], {2: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'acinic carcinomas', 8, 25), ([5], {5: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'it', 45, 46), ([6], {6: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'o', 26, 27)])] +#layers = [([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([0], {0: {'MSID': ['entity2'], 'smth': ['C', 'D', 'E']}}, 'acinic cell carcino mas', 8, 31)]), ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([2], {2: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'acinic carcinomas', 8, 26), ([5], {5: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'it', 45, 46), ([6], {6: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'o', 26, 27)])] + +#rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) +#x = rrr.flatten(layers) +#print(x) + + From 2b6f69820134a0d9c8c3524aae6415c58b096eb1 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Tue, 11 Aug 2020 02:15:01 -0400 Subject: [PATCH 004/116] removed permanent_storage --- pilsner/utility.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 841f2b8..be4325a 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -3,9 +3,7 @@ class Recognizer(): - PERMANENT_STORAGE = '' - - def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, callback_progress=None, permanent_storage=''): + def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, callback_progress=None): logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s') self.debug = debug_mode self.verbose = verbose_mode @@ -17,7 +15,6 @@ def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, c self.logger('Debug mode is on') self.callback_status = callback_status self.callback_progress = callback_progress - self.PERMANENT_STORAGE = permanent_storage logging.debug('Recognizer class has been initialized') def __del__(self): From 2467e34fcb536dedb2a047d00a3ca3522812b027 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Tue, 11 Aug 2020 11:15:09 -0400 Subject: [PATCH 005/116] polished the code --- pilsner/utility.py | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index be4325a..f23b0cf 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -20,6 +20,7 @@ def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, c def __del__(self): # remove all temporary resources pass + def push_message(self, message, callback_function): if callback_function is not None: callback_function(message) @@ -205,7 +206,6 @@ def check_attrs(self, model, trie_leaf, cur, specs, include_query, exclude_query def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query): attributes = {} - include = set() exclude = set() for n in leaf_ids: @@ -217,9 +217,7 @@ def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, proces rows = cur.execute('select distinct n from attrs where n = %d %s;' % (n, exclude_query)) for row in rows: exclude.add(int(row[0])) - ns = include - exclude - for n in ns: rows = cur.execute('select attr_name, attr_value from attrs where n = %d%s;' % (n, attrs_out_query)) if n not in attributes: @@ -330,11 +328,8 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', return rets def flatten(self, layers): - # TODO: prettify this - #print(layers) - #exit(0) ret = {} - qwe = [] + all_entries = [] for layer in layers: _map = layer[0] _recognized = layer[1] @@ -344,17 +339,16 @@ def flatten(self, layers): _attrs = _content[_id] for _attr_name in _attrs: for _attr_value in _attrs[_attr_name]: - qwe.append(tuple([_left, _right, _attr_name, _attr_value])) - qwes = sorted(sorted(qwe, key=lambda x: -x[1]), key=lambda x: x[0]) - rows = [qwes[0]] - for i in range(1, len(qwes)): - q = qwes[i] - if (rows[-1][0] <= q[0] < rows[-1][1] and rows[-1][0] < q[1] < rows[-1][1]) or (rows[-1][0] < q[0] < rows[-1][1] and rows[-1][0] < q[1] <= rows[-1][1]): + all_entries.append(tuple([_left, _right, _attr_name, _attr_value])) + all_entries = sorted(sorted(all_entries, key=lambda x: -x[1]), key=lambda x: x[0]) + filtered_entries = [all_entries[0]] + for i in range(1, len(all_entries)): + q = all_entries[i] + if (filtered_entries[-1][0] <= q[0] < filtered_entries[-1][1] and filtered_entries[-1][0] < q[1] < filtered_entries[-1][1]) or (filtered_entries[-1][0] < q[0] < filtered_entries[-1][1] and filtered_entries[-1][0] < q[1] <= filtered_entries[-1][1]): continue - rows.append(q) - #rows = qwes - for row in rows: - _location, _attr_name, _attr_value = tuple([int(row[0]), int(row[1])]), str(row[2]), str(row[3]) + filtered_entries.append(q) + for entry in filtered_entries: + _location, _attr_name, _attr_value = tuple([int(entry[0]), int(entry[1])]), str(entry[2]), str(entry[3]) if _location not in ret: ret[_location] = {} if _attr_name not in ret[_location]: @@ -395,7 +389,6 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): for action in ['+', '-']: if action not in attributes: attributes[action] = {} - process_exclude = False include_set, include_query = set(), '' for attr_name in attributes['+']: @@ -403,7 +396,6 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): include_set.add('(attr_name = \'' + attr_name.replace('\'', '\'\'') + '\' and attr_value = \'' + attr_value.replace('\'', '\'\'') + '\')') if len(include_set) > 0: include_query = 'and (' + ' or '.join(include_set) + ')' - exclude_set, exclude_query = set(), '' for attr_name in attributes['-']: for attr_value in attributes['-'][attr_name]: @@ -411,11 +403,10 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): if len(exclude_set) > 0: exclude_query = 'and (' + ' or '.join(exclude_set) + ')' process_exclude = True - attrs_out_query = '' if attrs_out is not None and len(attrs_out) > 0: attrs_out_query = ' and attr_name in (\'%s\')' % ('\', \''.join([x.replace('\'', '\'\'') for x in attrs_out])) - + self.logger('Parsing text...') self.push_message('Parsing text', self.callback_status) rets = [] total_normalizers = len(model[model.NORMALIZER_KEY]) @@ -429,8 +420,8 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): parsed = self.spot_entities(model, normalized_string, normalizer_name, include_query, exclude_query, process_exclude, attrs_out_query, progress_from=progress_from, progress_to=progress_to) rets.append((character_map, parsed)) current_normalizer_index += 1 - flattened = self.flatten(rets) locations = self.reduce(flattened.keys()) ret = {location: flattened[location] for location in locations} + self.logger('Done parsing text.') return ret From 2df33ba2c6820ef7a55eb9aa7c3b0e7c37522ef9 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Tue, 11 Aug 2020 11:49:47 -0400 Subject: [PATCH 006/116] added placeholders and scripts --- scripts/linux/unittest.sh | 14 ++++++++++++++ scripts/win/unittest.bat | 12 ++++++++++++ test/performance.py | 0 test/ut_model.py | 14 ++++++++++++++ test/ut_utility.py | 14 ++++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 scripts/linux/unittest.sh create mode 100644 scripts/win/unittest.bat create mode 100644 test/performance.py create mode 100644 test/ut_model.py create mode 100644 test/ut_utility.py diff --git a/scripts/linux/unittest.sh b/scripts/linux/unittest.sh new file mode 100644 index 0000000..ec23305 --- /dev/null +++ b/scripts/linux/unittest.sh @@ -0,0 +1,14 @@ +RUNDIR=`pwd` +cd `dirname $0` +MYDIR=`pwd` +ROOT=${MYDIR}/../.. +ENV=.env.36 +TEST=${ROOT}/test +FILES="ut_model.py ut_utility.py performance.py" +cd ${ROOT} +for FILE in ${FILES} +do + echo Running ${FILE} + ${ROOT}/${ENV}/bin/python3 ${TEST}/${FILE} -b +done +cd ${RUNDIR} diff --git a/scripts/win/unittest.bat b/scripts/win/unittest.bat new file mode 100644 index 0000000..ae32a49 --- /dev/null +++ b/scripts/win/unittest.bat @@ -0,0 +1,12 @@ +@echo off +set RUNDIR=%cd% +set ROOT=%~dp0..\.. +set ENV=.env.37 +set TEST=%ROOT%\test +set FILES=ut_model.py ut_utility.py performance.py +cd %ROOT% +(for %%f in (%FILES%) do ( + echo Running %%f + call %ROOT%\%ENV%\Scripts\python.exe %TEST%\%%f -b +)) +cd %RUNDIR% diff --git a/test/performance.py b/test/performance.py new file mode 100644 index 0000000..e69de29 diff --git a/test/ut_model.py b/test/ut_model.py new file mode 100644 index 0000000..16dd590 --- /dev/null +++ b/test/ut_model.py @@ -0,0 +1,14 @@ +import sys; sys.path.insert(0, '') +import unittest +import pilsner # pylint: disable=E0611,F0401 + +class TestModel(unittest.TestCase): + + def setUp(self): + pass + + def tearDown(self): + pass + +if __name__ == '__main__': + unittest.main() diff --git a/test/ut_utility.py b/test/ut_utility.py new file mode 100644 index 0000000..16dd590 --- /dev/null +++ b/test/ut_utility.py @@ -0,0 +1,14 @@ +import sys; sys.path.insert(0, '') +import unittest +import pilsner # pylint: disable=E0611,F0401 + +class TestModel(unittest.TestCase): + + def setUp(self): + pass + + def tearDown(self): + pass + +if __name__ == '__main__': + unittest.main() From 6ed89d1332cfa202414a5dad258c8942d8782bb0 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 12 Aug 2020 18:39:54 -0400 Subject: [PATCH 007/116] updated names of functions --- pilsner/utility.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index f23b0cf..037ddc9 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -327,7 +327,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', self.logger('Done.') return rets - def flatten(self, layers): + def flatten_spans(self, layers): ret = {} all_entries = [] for layer in layers: @@ -356,7 +356,7 @@ def flatten(self, layers): ret[_location][_attr_name].add(_attr_value) return ret - def reduce(self, segments): + def reduce_spans(self, segments): def intersects(segment1, segment2): return segment2[0] >= segment1[0] and segment2[0] <= segment1[1] def length(segment): @@ -420,8 +420,8 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): parsed = self.spot_entities(model, normalized_string, normalizer_name, include_query, exclude_query, process_exclude, attrs_out_query, progress_from=progress_from, progress_to=progress_to) rets.append((character_map, parsed)) current_normalizer_index += 1 - flattened = self.flatten(rets) - locations = self.reduce(flattened.keys()) + flattened = self.flatten_spans(rets) + locations = self.reduce_spans(flattened.keys()) ret = {location: flattened[location] for location in locations} self.logger('Done parsing text.') return ret From 61e3f05b54eceee8d1c5dd9fde3ff3e2878db8ca Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 12 Aug 2020 18:40:21 -0400 Subject: [PATCH 008/116] prettified attribute_wrapper --- pilsner/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pilsner/model.py b/pilsner/model.py index 3dd51fa..8ce1dfd 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -179,7 +179,7 @@ def attribute_wrapper(self, line_number, normalizer_name, internal_id, subtrie, if not specs['fields'][k][1]: self.cursor.execute('insert into attrs (n, iid, attr_name, attr_value) select ?, ?, ?, ?;', (line_number, internal_id, k, columns[specs['fields'][k][0]])) else: - _ = [ self.cursor.execute('insert into attrs (n, iid, attr_name, attr_value) select ?, ?, ?, ?;', (line_number, internal_id, k, s)) for s in set(columns[specs['fields'][k][0]].split( specs['fields'][k][1]) ) ] + _ = [self.cursor.execute('insert into attrs (n, iid, attr_name, attr_value) select ?, ?, ?, ?;', (line_number, internal_id, k, s)) for s in set(columns[specs['fields'][k][0]].split(specs['fields'][k][1]))] def get_dictionary_line(self, specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall): columns = [x.strip(cell_wall) for x in line.split(column_separator)] From c142c655ad4007751e2ff04618ac079b6fe04407 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 12 Aug 2020 18:40:42 -0400 Subject: [PATCH 009/116] placeholders for unit tests --- test/ut_model.py | 36 ++++++++++++++++++++++++++++++++++++ test/ut_utility.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/test/ut_model.py b/test/ut_model.py index 16dd590..0127d36 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -10,5 +10,41 @@ def setUp(self): def tearDown(self): pass + def test_init(self): + pass + + def test_del(self): + pass + + def test_save(self): + pass + + def test_load(self): + pass + + def test_add_normalizer(self): + pass + + def test_create_recognizer_schema(self): + pass + + def test_pack_subtrie(self): + pass + + def test_pack_trie(self): + pass + + def test_attribute_wrapper(self): + pass + + def test_get_dictionary_line(self): + pass + + def test_get_dictionary_synonym(self): + pass + + def test_next_trie(self): + pass + if __name__ == '__main__': unittest.main() diff --git a/test/ut_utility.py b/test/ut_utility.py index 16dd590..7fe3a47 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -10,5 +10,50 @@ def setUp(self): def tearDown(self): pass + def test_init(self): + pass + + def test_del(self): + pass + + def test_push_message(self): + pass + + def test_compile_dict_specs(self): + pass + + def test_make_recognizer(self): + pass + + def test_make_keywords(self): + pass + + def test_compile_model(self): + pass + + def test_verify_keywords(self): + pass + + def test_unpack_trie(self): + pass + + def test_check_attrs(self): + pass + + def test_attribute_unpacker(self): + pass + + def test_spot_entities(self): + pass + + def test_flatten_spans(self): + pass + + def test_reduce_spans(self): + pass + + def test_parse(self): + pass + if __name__ == '__main__': unittest.main() From 3721f50007161741ba3323d21c8181dcb1e0a42c Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 12 Aug 2020 21:39:54 -0400 Subject: [PATCH 010/116] unit tests for constructors and destructors --- test/ut_model.py | 13 +++++++++++-- test/ut_utility.py | 8 ++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/test/ut_model.py b/test/ut_model.py index 0127d36..8e8d533 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -1,3 +1,4 @@ +import os import sys; sys.path.insert(0, '') import unittest import pilsner # pylint: disable=E0611,F0401 @@ -11,10 +12,18 @@ def tearDown(self): pass def test_init(self): - pass + m = pilsner.Model() + assert 'm' in locals(), 'Instance of Model class has not been created' + assert type(m) == pilsner.Model, 'Model is expected to have pilsner.Model type, but has %s instead' % (str(type(m))) + storage = m.DEFAULT_DATASOURCE + assert storage.lower() == ':memory:' or os.path.exists(storage), 'Model storage is not where it is supposed to be' def test_del(self): - pass + m = pilsner.Model() + storage = m.DEFAULT_DATASOURCE + del(m) + assert 'm' not in locals(), 'Instance of Model class has not been destroyed' + assert storage.lower() == ':memory:' or not os.path.exists(storage), 'Model storage is supposed to be removed once class has been destroyed' def test_save(self): pass diff --git a/test/ut_utility.py b/test/ut_utility.py index 7fe3a47..c2399c0 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -11,10 +11,14 @@ def tearDown(self): pass def test_init(self): - pass + r = pilsner.Recognizer() + assert 'r' in locals(), 'Instance of Recognizer class has not been created' + assert type(r) == pilsner.Recognizer, 'Utility is supposed to have pilsner.Recognizer type, but has %s instead' % (str(type(r))) def test_del(self): - pass + r = pilsner.Recognizer() + del(r) + assert 'r' not in locals(), 'Instance of Recognizer class has not been destroyed' def test_push_message(self): pass From 88882d2deb7df51de6438f387308782f70697a96 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 13 Aug 2020 13:57:50 -0400 Subject: [PATCH 011/116] test_save, test_load --- test/ut_model.py | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/test/ut_model.py b/test/ut_model.py index 8e8d533..afe78cc 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -26,10 +26,35 @@ def test_del(self): assert storage.lower() == ':memory:' or not os.path.exists(storage), 'Model storage is supposed to be removed once class has been destroyed' def test_save(self): - pass + m = pilsner.Model() + m[m.DICTIONARY_KEY].append({}) + m.save('./.test_save') + del(m) + assert os.path.exists('./.test_save.0.dictionary'), 'Dictionary file was not saved' + assert os.path.exists('./.test_save.attributes'), 'Attributes file was not saved' + assert os.path.exists('./.test_save.keywords'), 'Keywords file was not saved' + assert os.path.exists('./.test_save.normalizers'), 'Normalizers file was not saved' + os.remove('./.test_save.0.dictionary') + os.remove('./.test_save.attributes') + os.remove('./.test_save.keywords') + os.remove('./.test_save.normalizers') def test_load(self): - pass + m1 = pilsner.Model() + m1[m1.DICTIONARY_KEY].append({'a': {'b': {'c': 'def'}}}) + m1[m1.DICTIONARY_KEY].append({'g': {'h': {'i': 'jkl'}}}) + m1.save('./.test_load') + expected = m1[m1.DICTIONARY_KEY] + del(m1) + m2 = pilsner.Model() + m2.load('./.test_load') + assert m2[m2.DICTIONARY_KEY] == expected, 'Loaded model %s != saved model %s' % (str(m2[m2.DICTIONARY_KEY]), str(expected)) + del(m2) + os.remove('./.test_load.0.dictionary') + os.remove('./.test_load.1.dictionary') + os.remove('./.test_load.attributes') + os.remove('./.test_load.keywords') + os.remove('./.test_load.normalizers') def test_add_normalizer(self): pass From aed6b9b4bbd537d7e4fcea14c98fa0f4f75964a4 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 13 Aug 2020 13:59:41 -0400 Subject: [PATCH 012/116] renamed TestUtility class --- test/ut_utility.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/ut_utility.py b/test/ut_utility.py index c2399c0..4220560 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -2,7 +2,7 @@ import unittest import pilsner # pylint: disable=E0611,F0401 -class TestModel(unittest.TestCase): +class TestUtility(unittest.TestCase): def setUp(self): pass From 977220fb6c1725583f9f9eb84c66a0fdbfa71aaa Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 13 Aug 2020 16:51:27 -0400 Subject: [PATCH 013/116] unused arguments --- pilsner/model.py | 2 +- pilsner/utility.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pilsner/model.py b/pilsner/model.py index 8ce1dfd..7b4090a 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -169,7 +169,7 @@ def pack_trie(self, trie, compressed): ret[self.CONTENT_KEY][normalizer_name] = packed return ret - def attribute_wrapper(self, line_number, normalizer_name, internal_id, subtrie, trie, specs, columns): + def attribute_wrapper(self, line_number, internal_id, subtrie, specs, columns): if self.ENTITY_KEY not in subtrie: subtrie[self.ENTITY_KEY] = [] subtrie[self.ENTITY_KEY].append(line_number) diff --git a/pilsner/utility.py b/pilsner/utility.py index 037ddc9..0f4506d 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -30,6 +30,7 @@ def compile_dict_specs(self, fields): specs = {'fields': {}, 'id': None, 'tokenizer': None, 'value': None} # {'name': 'DType', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, # specs = {'DType': (0, None, False, True, False), 'MSID': (1, None, True, False, False), 'value': (2, None, False, False, True)} + # specs = {'attr_name': (column_index, delimiter, normalizer_flag, value_flag)} for i in range(0, len(fields)): field = fields[i] if not field['include']: @@ -83,7 +84,7 @@ def make_recognizer(self, model, filename, specs, word_separator, item_limit, co if character not in subtrie: subtrie[character] = {} subtrie = subtrie[character] - model.attribute_wrapper(line_number, normalizer_name, internal_id, subtrie, trie, specs, columns) + model.attribute_wrapper(line_number, internal_id, subtrie, specs, columns) line_count += 1 line_number += 1 if line_count > 0 and len(trie) > 3: From 64b8b264986397d8c96ee1df996eb9862cbd49ff Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 13 Aug 2020 16:51:52 -0400 Subject: [PATCH 014/116] updated sandbox --- test/sandbox.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/sandbox.py b/test/sandbox.py index a45960f..e8499f1 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -27,7 +27,7 @@ def save_it(): {'name': 'smth', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, ] specs = r.compile_dict_specs(fields) - r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=2, include_keywords=True) + r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=3, include_keywords=True) s = 'this is afinic cell carcinoma o carcinoma, damn it' q = r.parse(m, s) print(q) @@ -41,7 +41,7 @@ def load_it(): q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) print(q) -#save_it() +save_it() load_it() #segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] From 2eea936c9660c62b4d45dbcea3c8b02dd2ff3915 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 13 Aug 2020 17:03:41 -0400 Subject: [PATCH 015/116] functional test placeholder --- scripts/linux/unittest.sh | 2 +- scripts/win/unittest.bat | 2 +- test/functional.py | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 test/functional.py diff --git a/scripts/linux/unittest.sh b/scripts/linux/unittest.sh index ec23305..dd02fd2 100644 --- a/scripts/linux/unittest.sh +++ b/scripts/linux/unittest.sh @@ -4,7 +4,7 @@ MYDIR=`pwd` ROOT=${MYDIR}/../.. ENV=.env.36 TEST=${ROOT}/test -FILES="ut_model.py ut_utility.py performance.py" +FILES="ut_model.py ut_utility.py functional.py performance.py" cd ${ROOT} for FILE in ${FILES} do diff --git a/scripts/win/unittest.bat b/scripts/win/unittest.bat index ae32a49..4453ba7 100644 --- a/scripts/win/unittest.bat +++ b/scripts/win/unittest.bat @@ -3,7 +3,7 @@ set RUNDIR=%cd% set ROOT=%~dp0..\.. set ENV=.env.37 set TEST=%ROOT%\test -set FILES=ut_model.py ut_utility.py performance.py +set FILES=ut_model.py ut_utility.py functional.py performance.py cd %ROOT% (for %%f in (%FILES%) do ( echo Running %%f diff --git a/test/functional.py b/test/functional.py new file mode 100644 index 0000000..c4911a1 --- /dev/null +++ b/test/functional.py @@ -0,0 +1,12 @@ +import os +import sys; sys.path.insert(0, '') +import unittest +import pilsner # pylint: disable=E0611,F0401 + +class FunctionalTest(unittest.TestCase): + + def test_ad_hoc_load_model(self): + pass + +if __name__ == '__main__': + unittest.main() From 03506f74ba10240ae2fc1651dab886d1697b6d08 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 13 Aug 2020 17:03:52 -0400 Subject: [PATCH 016/116] unit tests --- test/ut_model.py | 56 +++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/test/ut_model.py b/test/ut_model.py index afe78cc..b5a7c8b 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -6,10 +6,10 @@ class TestModel(unittest.TestCase): def setUp(self): - pass + self.model = pilsner.Model() def tearDown(self): - pass + del(self.model) def test_init(self): m = pilsner.Model() @@ -26,10 +26,8 @@ def test_del(self): assert storage.lower() == ':memory:' or not os.path.exists(storage), 'Model storage is supposed to be removed once class has been destroyed' def test_save(self): - m = pilsner.Model() - m[m.DICTIONARY_KEY].append({}) - m.save('./.test_save') - del(m) + self.model[self.model.DICTIONARY_KEY].append({}) + self.model.save('./.test_save') assert os.path.exists('./.test_save.0.dictionary'), 'Dictionary file was not saved' assert os.path.exists('./.test_save.attributes'), 'Attributes file was not saved' assert os.path.exists('./.test_save.keywords'), 'Keywords file was not saved' @@ -40,16 +38,14 @@ def test_save(self): os.remove('./.test_save.normalizers') def test_load(self): - m1 = pilsner.Model() - m1[m1.DICTIONARY_KEY].append({'a': {'b': {'c': 'def'}}}) - m1[m1.DICTIONARY_KEY].append({'g': {'h': {'i': 'jkl'}}}) - m1.save('./.test_load') - expected = m1[m1.DICTIONARY_KEY] - del(m1) - m2 = pilsner.Model() - m2.load('./.test_load') - assert m2[m2.DICTIONARY_KEY] == expected, 'Loaded model %s != saved model %s' % (str(m2[m2.DICTIONARY_KEY]), str(expected)) - del(m2) + self.model[self.model.DICTIONARY_KEY].append({'a': {'b': {'c': 'def'}}}) + self.model[self.model.DICTIONARY_KEY].append({'g': {'h': {'i': 'jkl'}}}) + self.model.save('./.test_load') + expected = self.model[self.model.DICTIONARY_KEY] + another_model = pilsner.Model() + another_model.load('./.test_load') + assert another_model[another_model.DICTIONARY_KEY] == expected, 'Loaded model %s != saved model %s' % (str(another_model[another_model.DICTIONARY_KEY]), str(expected)) + del(another_model) os.remove('./.test_load.0.dictionary') os.remove('./.test_load.1.dictionary') os.remove('./.test_load.attributes') @@ -57,16 +53,36 @@ def test_load(self): os.remove('./.test_load.normalizers') def test_add_normalizer(self): - pass + self.model.add_normalizer('t1', 'test/assets/tokenizer1.xml') + normalization_units_count = len(self.model[self.model.NORMALIZER_KEY]) + assert normalization_units_count == 1, 'Model is expected to have 1 normalization unit (it has %d instead)' % (normalization_units_count) def test_create_recognizer_schema(self): - pass + self.model.create_recognizer_schema(self.model.cursor) + rows = self.model.cursor.execute('select name from sqlite_master where type = \'table\' and name = \'attrs\';') + assert len(list(rows)) == 1, 'Created schema does not contain table \'attrs\'' + rows = self.model.cursor.execute('select * from attrs;') + assert len(list(rows)) == 0, 'Table \'attrs\' in newly created schema is not empty' def test_pack_subtrie(self): - pass + # radiology, radiotelescope + subtrie = {'r': {'a': {'d': {'i': {'o': {'l': {'o': {'g': {'y': {self.model.ENTITY_KEY: [1]}}}}, 't': {'e': {'l': {'e': {'s': {'c': {'o': {'p': {'e': {self.model.ENTITY_KEY: [2]}}}}}}}}}}}}}}} + initial_path = '' + packed = self.model.pack_subtrie(subtrie, False, initial_path) + assert packed[0] == subtrie, '%s != %s' % (str(packed), str(subtrie)) + assert packed[1] == '', 'pack_subtrie() function is supposed to return \'%s\' as path (it returned \'%s\')' % (initial_path, packed[1]) + packed = self.model.pack_subtrie(subtrie, True, initial_path) + expected = {'r': {'adio': {'l': {'ogy': {self.model.ENTITY_KEY: [1]}}, 't': {'elescope': {self.model.ENTITY_KEY: [2]}}}}} + assert packed[0] == expected, '%s != %s' % (str(packed), str(expected)) def test_pack_trie(self): - pass + # radiology, radiotelescope + tries = {self.model.CONTENT_KEY: {'t1': {'r': {'a': {'d': {'i': {'o': {'l': {'o': {'g': {'y': {self.model.ENTITY_KEY: [1]}}}}, 't': {'e': {'l': {'e': {'s': {'c': {'o': {'p': {'e': {self.model.ENTITY_KEY: [2]}}}}}}}}}}}}}}}, 't2': {'r': {'a': {'d': {'i': {'o': {'l': {'o': {'g': {'y': {self.model.ENTITY_KEY: [1]}}}}, 't': {'e': {'l': {'e': {'s': {'c': {'o': {'p': {'e': {self.model.ENTITY_KEY: [2]}}}}}}}}}}}}}}}}} + packed = self.model.pack_trie(tries, False) + assert packed == tries, '%s != %s' % (str(packed), str(tries)) + packed = self.model.pack_trie(tries, True) + expected = {self.model.CONTENT_KEY: {'t1': {'r': {'adio': {'l': {'ogy': {self.model.ENTITY_KEY: [1]}}, 't': {'elescope': {self.model.ENTITY_KEY: [2]}}}}}, 't2': {'r': {'adio': {'l': {'ogy': {self.model.ENTITY_KEY: [1]}}, 't': {'elescope': {self.model.ENTITY_KEY: [2]}}}}}}} + assert packed == expected, '%s != %s' % (str(packed), str(expected)) def test_attribute_wrapper(self): pass From 6bc6265d1426d2dc31edb4e260b8ba726b546f36 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Fri, 14 Aug 2020 00:04:39 -0400 Subject: [PATCH 017/116] renamed attribute_wrapper() method --- pilsner/model.py | 2 +- pilsner/utility.py | 2 +- test/ut_model.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pilsner/model.py b/pilsner/model.py index 7b4090a..4bba275 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -169,7 +169,7 @@ def pack_trie(self, trie, compressed): ret[self.CONTENT_KEY][normalizer_name] = packed return ret - def attribute_wrapper(self, line_number, internal_id, subtrie, specs, columns): + def store_attributes(self, line_number, internal_id, subtrie, specs, columns): if self.ENTITY_KEY not in subtrie: subtrie[self.ENTITY_KEY] = [] subtrie[self.ENTITY_KEY].append(line_number) diff --git a/pilsner/utility.py b/pilsner/utility.py index 0f4506d..f80a710 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -84,7 +84,7 @@ def make_recognizer(self, model, filename, specs, word_separator, item_limit, co if character not in subtrie: subtrie[character] = {} subtrie = subtrie[character] - model.attribute_wrapper(line_number, internal_id, subtrie, specs, columns) + model.store_attributes(line_number, internal_id, subtrie, specs, columns) line_count += 1 line_number += 1 if line_count > 0 and len(trie) > 3: diff --git a/test/ut_model.py b/test/ut_model.py index b5a7c8b..00c36ae 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -84,7 +84,7 @@ def test_pack_trie(self): expected = {self.model.CONTENT_KEY: {'t1': {'r': {'adio': {'l': {'ogy': {self.model.ENTITY_KEY: [1]}}, 't': {'elescope': {self.model.ENTITY_KEY: [2]}}}}}, 't2': {'r': {'adio': {'l': {'ogy': {self.model.ENTITY_KEY: [1]}}, 't': {'elescope': {self.model.ENTITY_KEY: [2]}}}}}}} assert packed == expected, '%s != %s' % (str(packed), str(expected)) - def test_attribute_wrapper(self): + def test_store_attributes(self): pass def test_get_dictionary_line(self): From bbe1090e629563b805913b19d0733ee702afdec8 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Sun, 16 Aug 2020 01:00:02 -0400 Subject: [PATCH 018/116] test_store_attributes --- test/ut_model.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/test/ut_model.py b/test/ut_model.py index 00c36ae..aef40cc 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -85,7 +85,27 @@ def test_pack_trie(self): assert packed == expected, '%s != %s' % (str(packed), str(expected)) def test_store_attributes(self): - pass + line_number = 123 + internal_id = 456 + subtrie = {} + specs = {'fields': {'attr1': (0, None, False, False), 'attr2': (1, None, False, True), 'attr3': (2, None, True, False), 'attr4': (3, ',', False, False)}} + columns = ['attr1_value', 'attr2_value', 'attr3_value', 'attr4_value_1,attr4_value_2,attr4_value_3'] + self.model.create_recognizer_schema(self.model.cursor) + self.model.store_attributes(line_number, internal_id, subtrie, specs, columns) + rows = self.model.cursor.execute('select * from attrs;') + stored = set() + for row in rows: + stored.add(tuple(row)) + expected = { + (123, 456, 'attr1', 'attr1_value'), + (123, 456, 'attr3', 'attr3_value'), + (123, 456, 'attr4', 'attr4_value_1'), + (123, 456, 'attr4', 'attr4_value_2'), + (123, 456, 'attr4', 'attr4_value_3') + } + assert len(stored) == len(expected), 'Expected to store %d rows (got %d instead)' % (len(expected), len(stored)) + for entry in expected: + assert entry in stored, 'Entry %s was not stored' % str(entry) def test_get_dictionary_line(self): pass From 15b402c20a78f294ddeb8fcca90241ae93667621 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 16 Aug 2020 21:39:08 -0400 Subject: [PATCH 019/116] test_get_dictionary_line --- test/ut_model.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/ut_model.py b/test/ut_model.py index aef40cc..b007437 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -108,7 +108,16 @@ def test_store_attributes(self): assert entry in stored, 'Entry %s was not stored' % str(entry) def test_get_dictionary_line(self): - pass + specs = {'fields': {}, 'id': [0], 'tokenizer': None, 'value': None} + entity_ids = {} + line_numbers = {} + line_number = 1 + line = 'entity_id\tstring_value\n' + column_separator = '\t' + cell_wall = '\n' + got_line = self.model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall) + expected = (['entity_id', 'string_value'], 0) + assert got_line == expected, 'Expected %s, got %s' % (expected, got_line) def test_get_dictionary_synonym(self): pass From 1b3eeb3e01fb701db52b1c0de2aa09da38db7111 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 16 Aug 2020 21:43:20 -0400 Subject: [PATCH 020/116] make sure filenames are sorted when loading model --- pilsner/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pilsner/model.py b/pilsner/model.py index 4bba275..17e82de 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -100,7 +100,7 @@ def load(self, filename): self[self.TOKENIZER_OPTION_KEY] = normalizers[self.TOKENIZER_OPTION_KEY] self[self.DEFAULT_NORMALIZER_KEY] = normalizers[self.DEFAULT_NORMALIZER_KEY] logging.debug('Loaded "%s"' % ('%s.normalizers' % (filename))) - for _filename in os.listdir(os.path.dirname(filename)) if os.path.dirname(filename) != '' else os.listdir(): + for _filename in sorted(os.listdir(os.path.dirname(filename))) if os.path.dirname(filename) != '' else sorted(os.listdir()): if _filename.startswith(os.path.basename(filename) + '.') and _filename.endswith('.dictionary'): with open('%s/%s' % (os.path.dirname(filename), _filename) if os.path.dirname(filename) != '' else _filename, mode='rb') as f: dictionary = pickle.load(f) From 478aad721b74ea188183fd3123c9d39baa34fdd1 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 16 Aug 2020 22:08:32 -0400 Subject: [PATCH 021/116] test get_dictionary_line, get_dictionary_synonym --- pilsner/model.py | 1 + test/ut_model.py | 39 ++++++++++++++++++++++++++++++++++----- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/pilsner/model.py b/pilsner/model.py index 17e82de..cebebf6 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -119,6 +119,7 @@ def add_normalizer(self, normalizer_name, filename, default=False): logging.debug('Adding normalizer "%s" from "%s"' % (normalizer_name, filename)) normalizer = self.sic_builder.build_normalizer(filename) self[self.NORMALIZER_KEY][normalizer_name] = normalizer + self.normalizer_map[normalizer_name] = normalizer_name if len(self[self.NORMALIZER_KEY]) == 1 or default: self[self.DEFAULT_NORMALIZER_KEY] = normalizer_name logging.debug('Added normalizer "%s" from "%s"' % (normalizer_name, filename)) diff --git a/test/ut_model.py b/test/ut_model.py index b007437..112efb8 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -108,19 +108,48 @@ def test_store_attributes(self): assert entry in stored, 'Entry %s was not stored' % str(entry) def test_get_dictionary_line(self): - specs = {'fields': {}, 'id': [0], 'tokenizer': None, 'value': None} + specs = { + 'fields': { + 'normalizer': (0, None, True, False), + 'entity_id': (1, None, False, False), + 'entity_value': (2, None, False, True), + 'something_else': (3, ',', False, False) + }, + 'id': (1, None, False, False), + 'tokenizer': (0, None, True, False), + 'value': (2, None, False, True) + } entity_ids = {} line_numbers = {} line_number = 1 - line = 'entity_id\tstring_value\n' + line = 't1\tentity_id\tstring_value\tsome_attr,another_attr\n' column_separator = '\t' cell_wall = '\n' got_line = self.model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall) - expected = (['entity_id', 'string_value'], 0) - assert got_line == expected, 'Expected %s, got %s' % (expected, got_line) + expected = (['t1', 'entity_id', 'string_value', 'some_attr,another_attr'], 0) + assert got_line == expected, 'Expected %s, got %s' % (str(expected), str(got_line)) def test_get_dictionary_synonym(self): - pass + # get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_option=0) + columns = ['t1', 'entity_id', 'string_value', 'some_attr,another_attr'] + specs = { + 'fields': { + 'normalizer': (0, None, True, False), + 'entity_id': (1, None, False, False), + 'entity_value': (2, None, False, True), + 'something_else': (3, ',', False, False) + }, + 'id': (1, None, False, False), + 'tokenizer': (0, None, True, False), + 'value': (2, None, False, True) + } + word_separator = ' ' + tokenizer_option = 0 + self.model.add_normalizer('t1', 'test/assets/tokenizer1.xml') + self.model.add_normalizer('t2', 'test/assets/tokenizer2.xml') + got_synonym = self.model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) + expected = ('string _ value', 't1') + assert got_synonym == expected, 'Expected %s, got %s' % (str(expected), str(got_synonym)) def test_next_trie(self): pass From d9e3cbee657a606e4863666b3080a548cdedf46a Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 16 Aug 2020 22:08:57 -0400 Subject: [PATCH 022/116] clean up --- test/ut_model.py | 1 - 1 file changed, 1 deletion(-) diff --git a/test/ut_model.py b/test/ut_model.py index 112efb8..3852a34 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -130,7 +130,6 @@ def test_get_dictionary_line(self): assert got_line == expected, 'Expected %s, got %s' % (str(expected), str(got_line)) def test_get_dictionary_synonym(self): - # get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_option=0) columns = ['t1', 'entity_id', 'string_value', 'some_attr,another_attr'] specs = { 'fields': { From 600eba0b7c97c3893b452cef1abeeca286c755dd Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 16 Aug 2020 22:14:44 -0400 Subject: [PATCH 023/116] test_next_trie --- test/ut_model.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/test/ut_model.py b/test/ut_model.py index 3852a34..7c82e68 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -151,7 +151,21 @@ def test_get_dictionary_synonym(self): assert got_synonym == expected, 'Expected %s, got %s' % (str(expected), str(got_synonym)) def test_next_trie(self): - pass + specs = {'specs': ('are', 'here')} + compressed = True + tokenizer_option = 0 + word_separator = ' ' + self.model.add_normalizer('t1', 'test/assets/tokenizer1.xml') + self.model.add_normalizer('t2', 'test/assets/tokenizer2.xml') + got_trie = self.model.next_trie(specs, compressed, tokenizer_option, word_separator) + expected = { + self.model.CONTENT_KEY: {'t1': {}, 't2': {}}, + self.model.SPECS_KEY: specs, + self.model.COMPRESSED_KEY: int(compressed), + self.model.TOKENIZER_OPTION_KEY: tokenizer_option, + self.model.WORD_SEPARATOR_KEY: word_separator + } + assert got_trie == expected, 'Expected %s, got %s' % (str(expected), str(got_trie)) if __name__ == '__main__': unittest.main() From ae3444624725731a750210dde0dd8090ba234ed7 Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 18 Aug 2020 22:06:57 -0400 Subject: [PATCH 024/116] bypassing normalizers --- pilsner/model.py | 3 +++ pilsner/normalizer.bypass.xml | 4 ++++ 2 files changed, 7 insertions(+) create mode 100644 pilsner/normalizer.bypass.xml diff --git a/pilsner/model.py b/pilsner/model.py index cebebf6..b41bcbd 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -191,6 +191,7 @@ def get_dictionary_line(self, specs, entity_ids, line_numbers, line_number, line if entity_id not in entity_ids: entity_ids[entity_id] = len(entity_ids) internal_id = entity_ids[entity_id] + line_numbers[line_number] = internal_id return columns, internal_id def get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_option=0): @@ -206,6 +207,8 @@ def get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_optio return synonym, normalizer_name def next_trie(self, specs, compressed, tokenizer_option, word_separator): + if len(self[self.NORMALIZER_KEY]) == 0: + self.add_normalizer('bypass', '%s/normalizer.bypass.xml' % (os.path.abspath(os.path.dirname(__file__)))) new_trie = { self.CONTENT_KEY: {normalizer_name: {} for normalizer_name in self[self.NORMALIZER_KEY]}, self.SPECS_KEY: specs, diff --git a/pilsner/normalizer.bypass.xml b/pilsner/normalizer.bypass.xml new file mode 100644 index 0000000..eab2309 --- /dev/null +++ b/pilsner/normalizer.bypass.xml @@ -0,0 +1,4 @@ + + + + From 1308e0bf5f1627df88cc2b6f770788421b694f24 Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 18 Aug 2020 22:07:23 -0400 Subject: [PATCH 025/116] updated sandbox --- test/assets/sample_dictionary.txt | 10 +++++----- test/assets/tokenizer1.xml | 2 +- test/assets/tokenizer2.xml | 2 +- test/sandbox.py | 9 ++++++--- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/test/assets/sample_dictionary.txt b/test/assets/sample_dictionary.txt index ad90ce7..815e777 100644 --- a/test/assets/sample_dictionary.txt +++ b/test/assets/sample_dictionary.txt @@ -1,7 +1,7 @@ -tokenizer1 entity2 acinic cell carcinomas C,D,E -tokenizer1 entity2 acinic cell carcinomax D,E -tokenizer2 entity1 acinic cell carcinomas A,B,C -tokenizer1 entity1 acinic cell carcinoma A,B,C -tokenizer2 entity1 afinic cell carcinoma A,B,C +tokenizer1 entity2 awesome white refrigerators C,D,E +tokenizer1 entity2 awesome white refrigeratorx D,E +tokenizer2 entity1 awesome white refrigerators A,B,C +tokenizer1 entity1 awesome white refrigerator A,B,C +tokenizer2 entity1 awwsome white refrigerator A,B,C tokenizer2 entity1 it A,B,C tokenizer2 entity1 o A,B,C diff --git a/test/assets/tokenizer1.xml b/test/assets/tokenizer1.xml index 759fe98..9bb0bec 100644 --- a/test/assets/tokenizer1.xml +++ b/test/assets/tokenizer1.xml @@ -1,5 +1,5 @@ - + diff --git a/test/assets/tokenizer2.xml b/test/assets/tokenizer2.xml index 16d6b32..b784769 100644 --- a/test/assets/tokenizer2.xml +++ b/test/assets/tokenizer2.xml @@ -1,5 +1,5 @@ - + diff --git a/test/sandbox.py b/test/sandbox.py index e8499f1..6025faa 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -24,11 +24,13 @@ def save_it(): {'name': 'DType', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, {'name': 'MSID', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, {'name': 'Value', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, - {'name': 'smth', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'smth', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] specs = r.compile_dict_specs(fields) + _messages.clear() r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=3, include_keywords=True) - s = 'this is afinic cell carcinoma o carcinoma, damn it' + s = 'this is awwsome white refrigerator o refrigerator, is it not' + _messages.clear() q = r.parse(m, s) print(q) m.save('.test_model') @@ -36,8 +38,9 @@ def save_it(): def load_it(): rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) m = pilsner.Model('.test_model') - s = 'this is acinic cell carcinomas o carcinoma, damn it' + s = 'this is awesome white refrigerators o carcinoma, is it not' s *= 10 + _messages.clear() q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) print(q) From c4b80d0be8aa5ae7324c345faeb3aafde0296d1a Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 18 Aug 2020 22:39:16 -0400 Subject: [PATCH 026/116] utility uni tests (build recognizer) --- test/ut_utility.py | 150 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 143 insertions(+), 7 deletions(-) diff --git a/test/ut_utility.py b/test/ut_utility.py index 4220560..09adca1 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -5,10 +5,10 @@ class TestUtility(unittest.TestCase): def setUp(self): - pass + self.recognizer = pilsner.Recognizer() def tearDown(self): - pass + del(self.recognizer) def test_init(self): r = pilsner.Recognizer() @@ -21,19 +21,155 @@ def test_del(self): assert 'r' not in locals(), 'Instance of Recognizer class has not been destroyed' def test_push_message(self): - pass + messages = [] + def callback_function(message): + messages.append(message) + self.recognizer.push_message('message 1', callback_function) + self.recognizer.push_message('message 2', callback_function) + expected = ['message 1', 'message 2'] + assert messages == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(messages)) def test_compile_dict_specs(self): - pass + fields = [ + {'name': 'column 1', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + {'name': 'column 2', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'column 3', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'column 4', 'include': False, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'column 5', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} + ] + specs = self.recognizer.compile_dict_specs(fields) + expected = { + 'fields': { + 'column 1': (0, None, True, False), + 'column 2': (1, None, False, False), + 'column 3': (2, None, False, True), + 'column 5': (4, ',', False, False) + }, + 'id': (1, None, False, False), + 'tokenizer': (0, None, True, False), + 'value': (2, None, False, True) + } + assert specs == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(specs)) def test_make_recognizer(self): - pass + fields = [ + {'name': 'normalizer', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} + ] + specs = self.recognizer.compile_dict_specs(fields) + model = pilsner.Model() + got_recognizer, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', cell_wall='\n', tokenizer_option=0) + expected_recognizer = [ + { + '~specs': { + 'fields': { + 'normalizer': (0, None, True, False), + 'entity_id': (1, None, False, False), + 'label': (2, None, False, True), + 'some_attribute': (3, ',', False, False) + }, + 'id': (1, None, False, False), + 'tokenizer': (0, None, True, False), + 'value': (2, None, False, True) + }, + '~compressed': 1, + '~tokenizer_option': 0, + '~word_separator': ' ', + '~content': { + 'bypass': {'a': {'w': {'e': {'some white refrigerator': {'s': {'~i': [0, 2]}, 'x': {'~i': [1]}, '~i': [3]}}, 'w': {'some white refrigerator': {'~i': [4]}}}}, 'i': {'t': {'~i': [5]}}, 'o': {'~i': [6]}} + } + } + ] + expected_line_numbers = { + 0: 0, + 1: 0, + 2: 1, + 3: 1, + 4: 1, + 5: 1, + 6: 1 + } + assert got_recognizer == expected_recognizer, '\nExpected\n%s\nGot\n%s' % (str(expected_recognizer), str(got_recognizer)) + assert got_line_numbers == expected_line_numbers, '\nExpected\n%s\nGot\n%s' % (str(expected_line_numbers), str(got_line_numbers)) def test_make_keywords(self): - pass + fields = [ + {'name': 'normalizer', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} + ] + specs = self.recognizer.compile_dict_specs(fields) + model = pilsner.Model() + _, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', cell_wall='\n', tokenizer_option=0) + keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', cell_wall='\n', tokenizer_option=0) + expected = { + model.CONTENT_KEY: { + 0: {'awesome', 'white', 'refrigerators', 'refrigeratorx'}, + 1: {'awesome', 'refrigerator', 'white', 'o', 'refrigerators', 'it', 'awwsome'} + }, + model.INTERNAL_ID_KEY: { + 0: 0, + 1: 0, + 2: 1, + 3: 1, + 4: 1, + 5: 1, + 6: 1 + } + } + assert keywords == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(keywords)) def test_compile_model(self): - pass + fields = [ + {'name': 'normalizer', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} + ] + specs = self.recognizer.compile_dict_specs(fields) + model = pilsner.Model() + model.add_normalizer('t1', 'test/assets/tokenizer1.xml') + model.add_normalizer('t2', 'test/assets/tokenizer2.xml') + model.normalizer_map = { + 'tokenizer1': 't1', + 'tokenizer2': 't2' + } + compiled = self.recognizer.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', cell_wall='\n', include_keywords=True) + assert compiled == True, 'pilsner.Recognizer.compile_model() returned False which is not expected' + assert model.NORMALIZER_KEY in model, 'Model does not have model.NORMALIZER_KEY which is not expected' + assert model.DEFAULT_NORMALIZER_KEY in model, 'Model does not have model.DEFAULT_NORMALIZER_KEY which is not expected' + assert model.DICTIONARY_KEY in model, 'Model does not have model.DICTIONARY_KEY which is not expected' + assert model.KEYWORDS_KEY in model, 'Model does not have model.KEYWORDS_KEY which is not expected' + assert model.DATASOURCE_KEY in model, 'Model does not have model.DATASOURCE_KEY which is not expected' + assert model.WORD_SEPARATOR_KEY in model, 'Model does not have model.WORD_SEPARATOR_KEY which is not expected' + assert model.TOKENIZER_OPTION_KEY in model, 'Model does not have model.TOKENIZER_OPTION_KEY which is not expected' + assert 't1' in model[model.NORMALIZER_KEY], 'Normalizers do not include "t1"' + assert 't2' in model[model.NORMALIZER_KEY], 'Normalizers do not include "t2"' + expected_dictionary = [ + { + '~specs': { + 'fields': { + 'normalizer': (0, None, True, False), + 'entity_id': (1, None, False, False), + 'label': (2, None, False, True), + 'some_attribute': (3, ',', False, False) + }, + 'id': (1, None, False, False), + 'tokenizer': (0, None, True, False), + 'value': (2, None, False, True) + }, + '~compressed': 1, + '~tokenizer_option': 0, + '~word_separator': ' ', + '~content': {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {'~i': [0]}}, 't': {'or': {'x': {'~i': [1]}, '~i': [3]}}}}}, 't2': {'a': {'w': {'e': {'some refrigerators': {'~i': [2]}}, 'w': {'some refrigerator': {'~i': [4]}}}}, 'i': {'t': {'~i': [5]}}, 'o': {'~i': [6]}}} + } + ] + expected_keywords = {'~content': {}, '~iid': {0: 0, 1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}} + assert model[model.DICTIONARY_KEY] == expected_dictionary, '\nExpected\n%s\nGot\n%s' % (str(expected_dictionary), str(model[model.DICTIONARY_KEY])) + assert model[model.KEYWORDS_KEY] == expected_keywords, '\nExpected\n%s\nGot\n%s' % (str(expected_keywords), str(model[model.KEYWORDS_KEY])) def test_verify_keywords(self): pass From 9eb10deb4d1806c83086616cb3d92e3f79862191 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 19 Aug 2020 22:15:32 -0400 Subject: [PATCH 027/116] unit tests (generalize keys) --- test/assets/sample_dictionary.txt | 2 ++ test/ut_utility.py | 41 +++++++++++++++++-------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/test/assets/sample_dictionary.txt b/test/assets/sample_dictionary.txt index 815e777..62e9db3 100644 --- a/test/assets/sample_dictionary.txt +++ b/test/assets/sample_dictionary.txt @@ -1,7 +1,9 @@ tokenizer1 entity2 awesome white refrigerators C,D,E tokenizer1 entity2 awesome white refrigeratorx D,E +tokenizer2 entity2 conflicting refrigerator D,E tokenizer2 entity1 awesome white refrigerators A,B,C tokenizer1 entity1 awesome white refrigerator A,B,C tokenizer2 entity1 awwsome white refrigerator A,B,C tokenizer2 entity1 it A,B,C tokenizer2 entity1 o A,B,C +tokenizer2 entity1 conflicting refrigerator A,B,C diff --git a/test/ut_utility.py b/test/ut_utility.py index 09adca1..7afc98d 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -63,7 +63,7 @@ def test_make_recognizer(self): got_recognizer, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', cell_wall='\n', tokenizer_option=0) expected_recognizer = [ { - '~specs': { + model.SPECS_KEY: { 'fields': { 'normalizer': (0, None, True, False), 'entity_id': (1, None, False, False), @@ -74,22 +74,24 @@ def test_make_recognizer(self): 'tokenizer': (0, None, True, False), 'value': (2, None, False, True) }, - '~compressed': 1, - '~tokenizer_option': 0, - '~word_separator': ' ', - '~content': { - 'bypass': {'a': {'w': {'e': {'some white refrigerator': {'s': {'~i': [0, 2]}, 'x': {'~i': [1]}, '~i': [3]}}, 'w': {'some white refrigerator': {'~i': [4]}}}}, 'i': {'t': {'~i': [5]}}, 'o': {'~i': [6]}} + model.COMPRESSED_KEY: 1, + model.TOKENIZER_OPTION_KEY: 0, + model.WORD_SEPARATOR_KEY: ' ', + model.CONTENT_KEY: { + 'bypass': {'a': {'w': {'e': {'some white refrigerator': {'s': {model.ENTITY_KEY: [0, 3]}, 'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}, 'w': {'some white refrigerator': {model.ENTITY_KEY: [5]}}}}, 'c': {'onflicting refrigirator': {model.ENTITY_KEY: [2, 8]}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}} } } ] expected_line_numbers = { 0: 0, 1: 0, - 2: 1, + 2: 0, 3: 1, 4: 1, 5: 1, - 6: 1 + 6: 1, + 7: 1, + 8: 1 } assert got_recognizer == expected_recognizer, '\nExpected\n%s\nGot\n%s' % (str(expected_recognizer), str(got_recognizer)) assert got_line_numbers == expected_line_numbers, '\nExpected\n%s\nGot\n%s' % (str(expected_line_numbers), str(got_line_numbers)) @@ -107,17 +109,19 @@ def test_make_keywords(self): keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', cell_wall='\n', tokenizer_option=0) expected = { model.CONTENT_KEY: { - 0: {'awesome', 'white', 'refrigerators', 'refrigeratorx'}, - 1: {'awesome', 'refrigerator', 'white', 'o', 'refrigerators', 'it', 'awwsome'} + 0: {'refrigirator', 'white', 'awesome', 'conflicting', 'refrigerators', 'refrigeratorx'}, + 1: {'o', 'white', 'conflicting', 'refrigerators', 'awwsome', 'it', 'refrigerator', 'awesome', 'refrigirator'} }, model.INTERNAL_ID_KEY: { 0: 0, 1: 0, - 2: 1, + 2: 0, 3: 1, 4: 1, 5: 1, - 6: 1 + 6: 1, + 7: 1, + 8: 1 } } assert keywords == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(keywords)) @@ -150,7 +154,7 @@ def test_compile_model(self): assert 't2' in model[model.NORMALIZER_KEY], 'Normalizers do not include "t2"' expected_dictionary = [ { - '~specs': { + model.SPECS_KEY: { 'fields': { 'normalizer': (0, None, True, False), 'entity_id': (1, None, False, False), @@ -161,13 +165,14 @@ def test_compile_model(self): 'tokenizer': (0, None, True, False), 'value': (2, None, False, True) }, - '~compressed': 1, - '~tokenizer_option': 0, - '~word_separator': ' ', - '~content': {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {'~i': [0]}}, 't': {'or': {'x': {'~i': [1]}, '~i': [3]}}}}}, 't2': {'a': {'w': {'e': {'some refrigerators': {'~i': [2]}}, 'w': {'some refrigerator': {'~i': [4]}}}}, 'i': {'t': {'~i': [5]}}, 'o': {'~i': [6]}}} + model.COMPRESSED_KEY: 1, + model.TOKENIZER_OPTION_KEY: 0, + model.WORD_SEPARATOR_KEY: ' ', + model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}}}, 't2': {'c': {'onflicting refrigirator': {model.ENTITY_KEY: [2, 8]}}, 'a': {'w': {'e': {'some refrigerators': {model.ENTITY_KEY: [3]}}, 'w': {'some refrigerator': {model.ENTITY_KEY: [5]}}}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}}} } ] - expected_keywords = {'~content': {}, '~iid': {0: 0, 1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}} + + expected_keywords = {model.CONTENT_KEY: {0: {'refrigera', 'refrigeratorx', 'tors', 'refrigirator', 'white', 'awesome', 'conflicting'}, 1: {'it', 'o', 'awwsome', 'white', 'refrigerator', 'refrigirator', 'conflicting', 'refrigerators', 'awesome'}}, model.INTERNAL_ID_KEY: {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1}} assert model[model.DICTIONARY_KEY] == expected_dictionary, '\nExpected\n%s\nGot\n%s' % (str(expected_dictionary), str(model[model.DICTIONARY_KEY])) assert model[model.KEYWORDS_KEY] == expected_keywords, '\nExpected\n%s\nGot\n%s' % (str(expected_keywords), str(model[model.KEYWORDS_KEY])) From 17278fe4e57c26d18d7ab4b6675545fdca3e92f5 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 19 Aug 2020 22:15:48 -0400 Subject: [PATCH 028/116] keywords issue spotted --- pilsner/utility.py | 33 +++++++++++++++++---------------- test/sandbox.py | 9 +++++---- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index f80a710..e308760 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -320,10 +320,10 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', ret.append(shorter_alternative) elif shorter_alternative: ret.append(shorter_alternative) - if model[model.KEYWORDS_KEY] is not None: - self.verify_keywords(model, ret, source_string, word_separator) rets += ret current_trie_index += 1 + if model[model.KEYWORDS_KEY] is not None: + self.verify_keywords(model, rets, source_string, word_separator) self.push_message(progress_to, self.callback_progress) self.logger('Done.') return rets @@ -341,20 +341,21 @@ def flatten_spans(self, layers): for _attr_name in _attrs: for _attr_value in _attrs[_attr_name]: all_entries.append(tuple([_left, _right, _attr_name, _attr_value])) - all_entries = sorted(sorted(all_entries, key=lambda x: -x[1]), key=lambda x: x[0]) - filtered_entries = [all_entries[0]] - for i in range(1, len(all_entries)): - q = all_entries[i] - if (filtered_entries[-1][0] <= q[0] < filtered_entries[-1][1] and filtered_entries[-1][0] < q[1] < filtered_entries[-1][1]) or (filtered_entries[-1][0] < q[0] < filtered_entries[-1][1] and filtered_entries[-1][0] < q[1] <= filtered_entries[-1][1]): - continue - filtered_entries.append(q) - for entry in filtered_entries: - _location, _attr_name, _attr_value = tuple([int(entry[0]), int(entry[1])]), str(entry[2]), str(entry[3]) - if _location not in ret: - ret[_location] = {} - if _attr_name not in ret[_location]: - ret[_location][_attr_name] = set() - ret[_location][_attr_name].add(_attr_value) + if len(all_entries) > 0: + all_entries = sorted(sorted(all_entries, key=lambda x: -x[1]), key=lambda x: x[0]) + filtered_entries = [all_entries[0]] + for i in range(1, len(all_entries)): + q = all_entries[i] + if (filtered_entries[-1][0] <= q[0] < filtered_entries[-1][1] and filtered_entries[-1][0] < q[1] < filtered_entries[-1][1]) or (filtered_entries[-1][0] < q[0] < filtered_entries[-1][1] and filtered_entries[-1][0] < q[1] <= filtered_entries[-1][1]): + continue + filtered_entries.append(q) + for entry in filtered_entries: + _location, _attr_name, _attr_value = tuple([int(entry[0]), int(entry[1])]), str(entry[2]), str(entry[3]) + if _location not in ret: + ret[_location] = {} + if _attr_name not in ret[_location]: + ret[_location][_attr_name] = set() + ret[_location][_attr_name].add(_attr_value) return ret def reduce_spans(self, segments): diff --git a/test/sandbox.py b/test/sandbox.py index 6025faa..54229bc 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -29,23 +29,24 @@ def save_it(): specs = r.compile_dict_specs(fields) _messages.clear() r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=3, include_keywords=True) - s = 'this is awwsome white refrigerator o refrigerator, is it not' + print(m['~keywords']) + s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' _messages.clear() q = r.parse(m, s) print(q) - m.save('.test_model') + #m.save('.test_model') def load_it(): rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) m = pilsner.Model('.test_model') - s = 'this is awesome white refrigerators o carcinoma, is it not' + s = 'this is awesome white refrigerators o refrigerator, is it not' s *= 10 _messages.clear() q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) print(q) save_it() -load_it() +#load_it() #segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] #r = Recognizer() From 1cd496b122357ea0fdafaa8b13501840f8486e69 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 19 Aug 2020 22:21:44 -0400 Subject: [PATCH 029/116] unit tests --- test/ut_utility.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/ut_utility.py b/test/ut_utility.py index 7afc98d..c316b08 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -78,7 +78,7 @@ def test_make_recognizer(self): model.TOKENIZER_OPTION_KEY: 0, model.WORD_SEPARATOR_KEY: ' ', model.CONTENT_KEY: { - 'bypass': {'a': {'w': {'e': {'some white refrigerator': {'s': {model.ENTITY_KEY: [0, 3]}, 'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}, 'w': {'some white refrigerator': {model.ENTITY_KEY: [5]}}}}, 'c': {'onflicting refrigirator': {model.ENTITY_KEY: [2, 8]}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}} + 'bypass': {'a': {'w': {'e': {'some white refrigerator': {'s': {model.ENTITY_KEY: [0, 3]}, 'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}, 'w': {'some white refrigerator': {model.ENTITY_KEY: [5]}}}}, 'c': {'onflicting refrigerator': {model.ENTITY_KEY: [2, 8]}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}} } } ] @@ -109,8 +109,8 @@ def test_make_keywords(self): keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', cell_wall='\n', tokenizer_option=0) expected = { model.CONTENT_KEY: { - 0: {'refrigirator', 'white', 'awesome', 'conflicting', 'refrigerators', 'refrigeratorx'}, - 1: {'o', 'white', 'conflicting', 'refrigerators', 'awwsome', 'it', 'refrigerator', 'awesome', 'refrigirator'} + 0: {'refrigerator', 'white', 'awesome', 'conflicting', 'refrigerators', 'refrigeratorx'}, + 1: {'o', 'white', 'conflicting', 'refrigerators', 'awwsome', 'it', 'refrigerator', 'awesome', 'refrigerator'} }, model.INTERNAL_ID_KEY: { 0: 0, @@ -168,11 +168,10 @@ def test_compile_model(self): model.COMPRESSED_KEY: 1, model.TOKENIZER_OPTION_KEY: 0, model.WORD_SEPARATOR_KEY: ' ', - model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}}}, 't2': {'c': {'onflicting refrigirator': {model.ENTITY_KEY: [2, 8]}}, 'a': {'w': {'e': {'some refrigerators': {model.ENTITY_KEY: [3]}}, 'w': {'some refrigerator': {model.ENTITY_KEY: [5]}}}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}}} + model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}}}, 't2': {'c': {'onflicting refrigerator': {model.ENTITY_KEY: [2, 8]}}, 'a': {'w': {'e': {'some refrigerators': {model.ENTITY_KEY: [3]}}, 'w': {'some refrigerator': {model.ENTITY_KEY: [5]}}}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}}} } ] - - expected_keywords = {model.CONTENT_KEY: {0: {'refrigera', 'refrigeratorx', 'tors', 'refrigirator', 'white', 'awesome', 'conflicting'}, 1: {'it', 'o', 'awwsome', 'white', 'refrigerator', 'refrigirator', 'conflicting', 'refrigerators', 'awesome'}}, model.INTERNAL_ID_KEY: {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1}} + expected_keywords = {model.CONTENT_KEY: {0: {'refrigera', 'refrigeratorx', 'tors', 'refrigerator', 'white', 'awesome', 'conflicting'}, 1: {'it', 'o', 'awwsome', 'white', 'refrigerator', 'refrigerator', 'conflicting', 'refrigerators', 'awesome'}}, model.INTERNAL_ID_KEY: {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1}} assert model[model.DICTIONARY_KEY] == expected_dictionary, '\nExpected\n%s\nGot\n%s' % (str(expected_dictionary), str(model[model.DICTIONARY_KEY])) assert model[model.KEYWORDS_KEY] == expected_keywords, '\nExpected\n%s\nGot\n%s' % (str(expected_keywords), str(model[model.KEYWORDS_KEY])) From b8c41124333038574a2e4faa6992f9ad74a3d498 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Wed, 19 Aug 2020 22:46:40 -0400 Subject: [PATCH 030/116] unit test (verify_keywords(), unpack_trie()) --- test/ut_utility.py | 68 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 17 deletions(-) diff --git a/test/ut_utility.py b/test/ut_utility.py index c316b08..2d589a4 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -10,6 +10,24 @@ def setUp(self): def tearDown(self): del(self.recognizer) + def compile_test_model(self): + fields = [ + {'name': 'normalizer', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} + ] + specs = self.recognizer.compile_dict_specs(fields) + model = pilsner.Model() + model.add_normalizer('t1', 'test/assets/tokenizer1.xml') + model.add_normalizer('t2', 'test/assets/tokenizer2.xml') + model.normalizer_map = { + 'tokenizer1': 't1', + 'tokenizer2': 't2' + } + compiled = self.recognizer.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', cell_wall='\n', include_keywords=True) + return compiled, model + def test_init(self): r = pilsner.Recognizer() assert 'r' in locals(), 'Instance of Recognizer class has not been created' @@ -127,21 +145,7 @@ def test_make_keywords(self): assert keywords == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(keywords)) def test_compile_model(self): - fields = [ - {'name': 'normalizer', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, - {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, - {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, - {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} - ] - specs = self.recognizer.compile_dict_specs(fields) - model = pilsner.Model() - model.add_normalizer('t1', 'test/assets/tokenizer1.xml') - model.add_normalizer('t2', 'test/assets/tokenizer2.xml') - model.normalizer_map = { - 'tokenizer1': 't1', - 'tokenizer2': 't2' - } - compiled = self.recognizer.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', cell_wall='\n', include_keywords=True) + compiled, model = self.compile_test_model() assert compiled == True, 'pilsner.Recognizer.compile_model() returned False which is not expected' assert model.NORMALIZER_KEY in model, 'Model does not have model.NORMALIZER_KEY which is not expected' assert model.DEFAULT_NORMALIZER_KEY in model, 'Model does not have model.DEFAULT_NORMALIZER_KEY which is not expected' @@ -176,10 +180,40 @@ def test_compile_model(self): assert model[model.KEYWORDS_KEY] == expected_keywords, '\nExpected\n%s\nGot\n%s' % (str(expected_keywords), str(model[model.KEYWORDS_KEY])) def test_verify_keywords(self): - pass + _, model = self.compile_test_model() + src = 'awwsome conflicting refrigerator' + recognized = [ + ( + [2, 8], + { + 2: {'entity_id': ['entity2'], 'normalizer': ['tokenizer2'], 'some_attribute': ['D', 'E']}, + 8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']} + }, + 'conflicting refrigerator', + 8, + 31 + ) + ] + self.recognizer.verify_keywords(model=model, recognized=recognized, src=src, word_separator=' ') + expected = [ + ( + [8], + { + 8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']} + }, + 'conflicting refrigerator', + 8, + 31 + ) + ] + assert recognized == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(recognized)) def test_unpack_trie(self): - pass + _, model = self.compile_test_model() + packed_trie = {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}} + expected = {'w': {'e': {'s': {'o': {'m': {'e': {' ': {'w': {'h': {'i': {'t': {'e': {' ': {'r': {'e': {'f': {'r': {'i': {'g': {'e': {'r': {'a': {' ': {'tors': {'~i': [0]}}, 't': {'or': {'x': {'~i': [1]}, '~i': [4]}}}}}}}}}}}}}}}}}}}}}}}}} + unpacked_trie = self.recognizer.unpack_trie(model=model, packed_trie=packed_trie, compressed=True) + assert unpacked_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(unpacked_trie)) def test_check_attrs(self): pass From 210a67d5dca4ee7c6d1b51856f6c10bceb570142 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 20 Aug 2020 15:27:12 -0400 Subject: [PATCH 031/116] flag indicating if a span was verified by kwds --- pilsner/utility.py | 13 ++++++++----- test/ut_utility.py | 6 ++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index e308760..ff55238 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -178,7 +178,7 @@ def verify_keywords(self, model, recognized, src, word_separator): winner_id.clear() if kwd_score[i] == winner_score: winner_id.add(i) - recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:]) + recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:5] + [True]) def unpack_trie(self, model, packed_trie, compressed): """TODO: add docstring here @@ -232,6 +232,8 @@ def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, proces def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query='', progress_from=0, progress_to=100): # TODO: review for refactoring + def blend_in(_ret, _rets): + _rets += _ret self.logger('Analyzing "%s"... ' % (source_string)) rets = [] this_progress_position = 0 @@ -273,7 +275,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] - shorter_alternative = (identified[0], identified[1], string_so_far, start_index + 1, end_index) + shorter_alternative = (identified[0], identified[1], string_so_far, start_index + 1, end_index, False) if character in subtrie: if character == word_separator and temporary_index == -1: temporary_index = current_index @@ -286,7 +288,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] - ret.append((identified[0], identified[1], string_so_far, start_index + 1, end_index)) + ret.append((identified[0], identified[1], string_so_far, start_index + 1, end_index, False)) shorter_alternative = None else: if shorter_alternative: @@ -315,12 +317,13 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] - ret.append((identified[0], identified[1], string_so_far, start_index + 1, current_index - 1)) + ret.append((identified[0], identified[1], string_so_far, start_index + 1, current_index - 1, False)) elif shorter_alternative: ret.append(shorter_alternative) elif shorter_alternative: ret.append(shorter_alternative) - rets += ret + #rets += ret + blend_in(ret, rets) current_trie_index += 1 if model[model.KEYWORDS_KEY] is not None: self.verify_keywords(model, rets, source_string, word_separator) diff --git a/test/ut_utility.py b/test/ut_utility.py index 2d589a4..353749d 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -191,7 +191,8 @@ def test_verify_keywords(self): }, 'conflicting refrigerator', 8, - 31 + 31, + False ) ] self.recognizer.verify_keywords(model=model, recognized=recognized, src=src, word_separator=' ') @@ -203,7 +204,8 @@ def test_verify_keywords(self): }, 'conflicting refrigerator', 8, - 31 + 31, + True ) ] assert recognized == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(recognized)) From ce4f76653842194a840c403f589f60fa6c4b14ee Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Thu, 20 Aug 2020 16:50:21 -0400 Subject: [PATCH 032/116] do not tag disambiguated spans --- pilsner/utility.py | 8 ++++---- test/sandbox.py | 2 +- test/ut_utility.py | 6 ++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index ff55238..05665bd 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -178,7 +178,7 @@ def verify_keywords(self, model, recognized, src, word_separator): winner_id.clear() if kwd_score[i] == winner_score: winner_id.add(i) - recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:5] + [True]) + recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:5]) def unpack_trie(self, model, packed_trie, compressed): """TODO: add docstring here @@ -275,7 +275,7 @@ def blend_in(_ret, _rets): found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] - shorter_alternative = (identified[0], identified[1], string_so_far, start_index + 1, end_index, False) + shorter_alternative = (identified[0], identified[1], string_so_far, start_index + 1, end_index) if character in subtrie: if character == word_separator and temporary_index == -1: temporary_index = current_index @@ -288,7 +288,7 @@ def blend_in(_ret, _rets): found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] - ret.append((identified[0], identified[1], string_so_far, start_index + 1, end_index, False)) + ret.append((identified[0], identified[1], string_so_far, start_index + 1, end_index)) shorter_alternative = None else: if shorter_alternative: @@ -317,7 +317,7 @@ def blend_in(_ret, _rets): found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] - ret.append((identified[0], identified[1], string_so_far, start_index + 1, current_index - 1, False)) + ret.append((identified[0], identified[1], string_so_far, start_index + 1, current_index - 1)) elif shorter_alternative: ret.append(shorter_alternative) elif shorter_alternative: diff --git a/test/sandbox.py b/test/sandbox.py index 54229bc..fd74c36 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -28,7 +28,7 @@ def save_it(): ] specs = r.compile_dict_specs(fields) _messages.clear() - r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=3, include_keywords=True) + r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=33, include_keywords=True) print(m['~keywords']) s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' _messages.clear() diff --git a/test/ut_utility.py b/test/ut_utility.py index 353749d..2d589a4 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -191,8 +191,7 @@ def test_verify_keywords(self): }, 'conflicting refrigerator', 8, - 31, - False + 31 ) ] self.recognizer.verify_keywords(model=model, recognized=recognized, src=src, word_separator=' ') @@ -204,8 +203,7 @@ def test_verify_keywords(self): }, 'conflicting refrigerator', 8, - 31, - True + 31 ) ] assert recognized == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(recognized)) From 5b9134d877e62742503bb2672bda685c2c4a2d27 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Fri, 21 Aug 2020 00:35:33 -0400 Subject: [PATCH 033/116] disambiguation (wip) --- pilsner/utility.py | 83 ++++++++++++++++++++++++++++--- test/assets/sample_dictionary.txt | 2 +- test/sandbox.py | 2 +- 3 files changed, 79 insertions(+), 8 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 05665bd..c99363f 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -325,12 +325,82 @@ def blend_in(_ret, _rets): #rets += ret blend_in(ret, rets) current_trie_index += 1 - if model[model.KEYWORDS_KEY] is not None: - self.verify_keywords(model, rets, source_string, word_separator) + #if model[model.KEYWORDS_KEY] is not None: + # self.verify_keywords(model, rets, source_string, word_separator) self.push_message(progress_to, self.callback_progress) self.logger('Done.') return rets + def disambiguate(self, model, recognized, srcs, word_separator): + id_list = [[model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] for x in rec[0] if x in model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]] for rec in sorted(recognized, key=lambda x: x[2])] + for k in range(len(id_list)): + ids = id_list[k] + if len(ids) < 2: + continue + si = [] + src = [] + ei = [] + tokens = [] + s_tokens = [] + for j in range(len(ids)): + #si[j] = 0 + si.append(0) + #src[j] = srcs[recognized[k][4][j]] + src.append(srcs[recognized[k][4][j]]) + #ei[j] = len(src[j]) + ei.append(len(src[j])) + if k > 0: + si[j] = recognized[k-1][3] + if k < len(id_list) - 1: + ei[j] = recognized[k+1][2] + #tokens[j] = src[j][si[j]:ei[j]] + tokens.append(src[j][si[j]:ei[j]]) + #s_tokens[j] = set(tokens[j].split(word_separator)) + s_tokens.append(set(tokens[j].split(word_separator))) + tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} + kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} + winner_score = 0 + winner_id = set() + kwd_score = {} + for i in kwd: + kwd_score[i] = len(kwd[i].intersection(s_tokens[i])) + if kwd_score[i] > winner_score: + winner_score = kwd_score[i] + winner_id.clear() + if kwd_score[i] == winner_score: + winner_id.add(i) + recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:]) + + def flatten_layers(self, model, layers): + ret = [] + spans = {} + srcs = [] + for i in range(0, len(layers)): + layer = layers[i] + _map = layer[0] + _recognized = layer[1] + _src = layer[2] + srcs.append(_src) + for span in _recognized: + location = tuple([_map[span[3]], _map[span[4]]]) + if location not in spans: + spans[location] = [] + spans[location].append(tuple([span[0], span[1], [i] * len(span[0]), span[3], span[4]])) + new_layers = [] + for location in spans: + new_left = location[0] + new_right = location[1] + new_ids = [] + new_attrs = {} + new_srcids = [] + for item in spans[location]: + new_ids += item[0] + new_attrs = {**new_attrs, **item[1]} + new_srcids += item[2] + new_layers.append(tuple([new_ids, new_attrs, new_left, new_right, new_srcids])) + self.disambiguate(model, new_layers, srcs, ' ') + return layers + def flatten_spans(self, layers): ret = {} all_entries = [] @@ -423,10 +493,11 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): progress_from = current_normalizer_index * spot_progress_share progress_to = (current_normalizer_index + 1) * spot_progress_share parsed = self.spot_entities(model, normalized_string, normalizer_name, include_query, exclude_query, process_exclude, attrs_out_query, progress_from=progress_from, progress_to=progress_to) - rets.append((character_map, parsed)) + rets.append((character_map, parsed, normalized_string)) current_normalizer_index += 1 - flattened = self.flatten_spans(rets) - locations = self.reduce_spans(flattened.keys()) - ret = {location: flattened[location] for location in locations} + layers = self.flatten_layers(model, rets) + spans = self.flatten_spans(layers) + locations = self.reduce_spans(spans.keys()) + ret = {location: spans[location] for location in locations} self.logger('Done parsing text.') return ret diff --git a/test/assets/sample_dictionary.txt b/test/assets/sample_dictionary.txt index 62e9db3..ee98b2a 100644 --- a/test/assets/sample_dictionary.txt +++ b/test/assets/sample_dictionary.txt @@ -6,4 +6,4 @@ tokenizer1 entity1 awesome white refrigerator A,B,C tokenizer2 entity1 awwsome white refrigerator A,B,C tokenizer2 entity1 it A,B,C tokenizer2 entity1 o A,B,C -tokenizer2 entity1 conflicting refrigerator A,B,C +tokenizer1 entity1 conflicting refrigerator A,B,C diff --git a/test/sandbox.py b/test/sandbox.py index fd74c36..54229bc 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -28,7 +28,7 @@ def save_it(): ] specs = r.compile_dict_specs(fields) _messages.clear() - r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=33, include_keywords=True) + r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=3, include_keywords=True) print(m['~keywords']) s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' _messages.clear() From e8853587e5044bfa6fe5aac57becb20855bf54f4 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Fri, 21 Aug 2020 02:16:08 -0400 Subject: [PATCH 034/116] disambiguation (works; wip) --- pilsner/utility.py | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index c99363f..c6e1990 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -332,7 +332,8 @@ def blend_in(_ret, _rets): return rets def disambiguate(self, model, recognized, srcs, word_separator): - id_list = [[model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] for x in rec[0] if x in model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]] for rec in sorted(recognized, key=lambda x: x[2])] + _recognized = sorted(recognized, key=lambda x: x[2]) + id_list = [[model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] for x in rec[0] if x in model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]] for rec in _recognized] for k in range(len(id_list)): ids = id_list[k] if len(ids) < 2: @@ -346,13 +347,13 @@ def disambiguate(self, model, recognized, srcs, word_separator): #si[j] = 0 si.append(0) #src[j] = srcs[recognized[k][4][j]] - src.append(srcs[recognized[k][4][j]]) + src.append(srcs[_recognized[k][4][j]]) #ei[j] = len(src[j]) ei.append(len(src[j])) if k > 0: - si[j] = recognized[k-1][3] + si[j] = _recognized[k-1][5][0][1] if k < len(id_list) - 1: - ei[j] = recognized[k+1][2] + ei[j] = _recognized[k+1][5][0][0] #tokens[j] = src[j][si[j]:ei[j]] tokens.append(src[j][si[j]:ei[j]]) #s_tokens[j] = set(tokens[j].split(word_separator)) @@ -369,10 +370,10 @@ def disambiguate(self, model, recognized, srcs, word_separator): winner_id.clear() if kwd_score[i] == winner_score: winner_id.add(i) - recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:]) + _recognized[k] = tuple([[x for x in _recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: _recognized[k][1][x] for x in _recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(_recognized[k])[2:]) + return _recognized def flatten_layers(self, model, layers): - ret = [] spans = {} srcs = [] for i in range(0, len(layers)): @@ -393,27 +394,29 @@ def flatten_layers(self, model, layers): new_ids = [] new_attrs = {} new_srcids = [] + new_locations = [] for item in spans[location]: new_ids += item[0] new_attrs = {**new_attrs, **item[1]} new_srcids += item[2] - new_layers.append(tuple([new_ids, new_attrs, new_left, new_right, new_srcids])) - self.disambiguate(model, new_layers, srcs, ' ') - return layers + new_locations.append(tuple([item[3], item[4]])) + new_layers.append(tuple([new_ids, new_attrs, new_left, new_right, new_srcids, new_locations])) + if model[model.KEYWORDS_KEY] is not None: + new_layers = self.disambiguate(model, new_layers, srcs, ' ') + pass + ret = [x[0:4] for x in new_layers] + return ret - def flatten_spans(self, layers): + def flatten_spans(self, recognized): ret = {} all_entries = [] - for layer in layers: - _map = layer[0] - _recognized = layer[1] - for span in _recognized: - _ids, _content, _left, _right = span[0], span[1], _map[span[3]], _map[span[4]] - for _id in _ids: - _attrs = _content[_id] - for _attr_name in _attrs: - for _attr_value in _attrs[_attr_name]: - all_entries.append(tuple([_left, _right, _attr_name, _attr_value])) + for span in recognized: + _ids, _content, _left, _right = span[0], span[1], span[2], span[3] + for _id in _ids: + _attrs = _content[_id] + for _attr_name in _attrs: + for _attr_value in _attrs[_attr_name]: + all_entries.append(tuple([_left, _right, _attr_name, _attr_value])) if len(all_entries) > 0: all_entries = sorted(sorted(all_entries, key=lambda x: -x[1]), key=lambda x: x[0]) filtered_entries = [all_entries[0]] From 0e9a84a43d61ed6c02f15d387daf0f3a0970dc5c Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Fri, 21 Aug 2020 02:16:25 -0400 Subject: [PATCH 035/116] adjusted UT for updated content --- test/ut_utility.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/ut_utility.py b/test/ut_utility.py index 2d589a4..481cc61 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -172,7 +172,7 @@ def test_compile_model(self): model.COMPRESSED_KEY: 1, model.TOKENIZER_OPTION_KEY: 0, model.WORD_SEPARATOR_KEY: ' ', - model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}}}, 't2': {'c': {'onflicting refrigerator': {model.ENTITY_KEY: [2, 8]}}, 'a': {'w': {'e': {'some refrigerators': {model.ENTITY_KEY: [3]}}, 'w': {'some refrigerator': {model.ENTITY_KEY: [5]}}}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}}} + model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}}, 'c': {'onflicting refrigerator': {model.ENTITY_KEY: [8]}}}, 't2': {'c': {'onflicting refrigerator': {model.ENTITY_KEY: [2]}}, 'a': {'w': {'e': {'some refrigerators': {model.ENTITY_KEY: [3]}}, 'w': {'some refrigerator': {model.ENTITY_KEY: [5]}}}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}}} } ] expected_keywords = {model.CONTENT_KEY: {0: {'refrigera', 'refrigeratorx', 'tors', 'refrigerator', 'white', 'awesome', 'conflicting'}, 1: {'it', 'o', 'awwsome', 'white', 'refrigerator', 'refrigerator', 'conflicting', 'refrigerators', 'awesome'}}, model.INTERNAL_ID_KEY: {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1}} From 5c8d96a175ae044f3e2fed89de8fbfedb65d25a0 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Fri, 21 Aug 2020 16:26:03 -0400 Subject: [PATCH 036/116] cleanup --- pilsner/utility.py | 35 +---------------------------------- test/ut_utility.py | 35 ++++++----------------------------- 2 files changed, 7 insertions(+), 63 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index c6e1990..a134ebf 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -152,34 +152,6 @@ def compile_model(self, model, filename, specs, word_separator, column_separator model[model.KEYWORDS_KEY] = keywords return True - def verify_keywords(self, model, recognized, src, word_separator): - id_list = [set([model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] for x in rec[0] if x in model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]]) for rec in recognized] - for k in range(len(id_list)): - ids = id_list[k] - if len(ids) < 2: - continue - si = 0 - ei = len(src) - if k > 0: - si = recognized[k-1][4] - if k < len(id_list) - 1: - ei = recognized[k+1][3] - tokens = src[si:ei] - s_tokens = set(tokens.split(word_separator)) - tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} - kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} - winner_score = 0 - winner_id = set() - kwd_score = {} - for i in kwd: - kwd_score[i] = len(kwd[i].intersection(s_tokens)) - if kwd_score[i] > winner_score: - winner_score = kwd_score[i] - winner_id.clear() - if kwd_score[i] == winner_score: - winner_id.add(i) - recognized[k] = tuple([[x for x in recognized[k][0] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id]] + [{x: recognized[k][1][x] for x in recognized[k][1] if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] in winner_id}] + list(recognized[k])[2:5]) - def unpack_trie(self, model, packed_trie, compressed): """TODO: add docstring here """ @@ -232,8 +204,6 @@ def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, proces def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query='', progress_from=0, progress_to=100): # TODO: review for refactoring - def blend_in(_ret, _rets): - _rets += _ret self.logger('Analyzing "%s"... ' % (source_string)) rets = [] this_progress_position = 0 @@ -322,11 +292,8 @@ def blend_in(_ret, _rets): ret.append(shorter_alternative) elif shorter_alternative: ret.append(shorter_alternative) - #rets += ret - blend_in(ret, rets) + rets += ret current_trie_index += 1 - #if model[model.KEYWORDS_KEY] is not None: - # self.verify_keywords(model, rets, source_string, word_separator) self.push_message(progress_to, self.callback_progress) self.logger('Done.') return rets diff --git a/test/ut_utility.py b/test/ut_utility.py index 481cc61..5f9b85e 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -179,35 +179,6 @@ def test_compile_model(self): assert model[model.DICTIONARY_KEY] == expected_dictionary, '\nExpected\n%s\nGot\n%s' % (str(expected_dictionary), str(model[model.DICTIONARY_KEY])) assert model[model.KEYWORDS_KEY] == expected_keywords, '\nExpected\n%s\nGot\n%s' % (str(expected_keywords), str(model[model.KEYWORDS_KEY])) - def test_verify_keywords(self): - _, model = self.compile_test_model() - src = 'awwsome conflicting refrigerator' - recognized = [ - ( - [2, 8], - { - 2: {'entity_id': ['entity2'], 'normalizer': ['tokenizer2'], 'some_attribute': ['D', 'E']}, - 8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']} - }, - 'conflicting refrigerator', - 8, - 31 - ) - ] - self.recognizer.verify_keywords(model=model, recognized=recognized, src=src, word_separator=' ') - expected = [ - ( - [8], - { - 8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']} - }, - 'conflicting refrigerator', - 8, - 31 - ) - ] - assert recognized == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(recognized)) - def test_unpack_trie(self): _, model = self.compile_test_model() packed_trie = {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}} @@ -224,6 +195,12 @@ def test_attribute_unpacker(self): def test_spot_entities(self): pass + def test_disambiguate(self): + pass + + def test_flatten_layers(self): + pass + def test_flatten_spans(self): pass From d559ab7470f9276ee03649db4ed1c07c4f16c684 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 21 Aug 2020 22:25:44 -0400 Subject: [PATCH 037/116] utility adjustments --- pilsner/utility.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index a134ebf..f9822c5 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -171,13 +171,7 @@ def unpack_trie(self, model, packed_trie, compressed): unpacked_trie_pointer[radix[-1:]] = packed_trie[radix] return unpacked_trie - def check_attrs(self, model, trie_leaf, cur, specs, include_query, exclude_query, process_exclude, attrs_out_query): - trie_leaf[model.ATTRS_KEY] = self.attribute_unpacker(cur, trie_leaf[model.ENTITY_KEY], include_query, exclude_query, process_exclude, attrs_out_query) - if len(trie_leaf[model.ATTRS_KEY]) == 0: - return {} - return trie_leaf - - def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query): + def unpack_attributes(self, cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query): attributes = {} include = set() exclude = set() @@ -202,6 +196,12 @@ def attribute_unpacker(self, cur, leaf_ids, include_query, exclude_query, proces attributes[n][attr_name].append(attr_value) return attributes + def check_attrs(self, model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query): + trie_leaf[model.ATTRS_KEY] = self.unpack_attributes(cur, trie_leaf[model.ENTITY_KEY], include_query, exclude_query, process_exclude, attrs_out_query) + if len(trie_leaf[model.ATTRS_KEY]) == 0: + return {} + return trie_leaf + def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query='', progress_from=0, progress_to=100): # TODO: review for refactoring self.logger('Analyzing "%s"... ' % (source_string)) @@ -224,7 +224,6 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', temporary_index = -1 total_length = len(source_string) increment_chars = int(total_length / progress_share) if total_length > progress_share else total_length - 1 - dictionary_specs = trie[model.SPECS_KEY]['fields'].keys() while current_index < total_length: this_progress_position = int(current_index / increment_chars / total_tries) if this_progress_position != last_progress_position: @@ -242,7 +241,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', end_index = current_index character = source_string[current_index] if character == word_separator and model.ENTITY_KEY in subtrie: - found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) + found_object = self.check_attrs(model, subtrie, model.cursor, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] shorter_alternative = (identified[0], identified[1], string_so_far, start_index + 1, end_index) @@ -255,7 +254,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', #if everything_or_nothing and current_index == total_length: return [] if character == word_separator or current_index == total_length: # - 1: if model.ENTITY_KEY in subtrie: - found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) + found_object = self.check_attrs(model, subtrie, model.cursor, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] ret.append((identified[0], identified[1], string_so_far, start_index + 1, end_index)) @@ -284,7 +283,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', subtrie = trie[model.CONTENT_KEY][normalizer_name] current_index += 1 if model.ENTITY_KEY in subtrie: - found_object = self.check_attrs(model, subtrie, model.cursor, dictionary_specs, include_query, exclude_query, process_exclude, attrs_out_query) + found_object = self.check_attrs(model, subtrie, model.cursor, include_query, exclude_query, process_exclude, attrs_out_query) if found_object: identified = found_object[model.ENTITY_KEY], found_object[model.ATTRS_KEY] ret.append((identified[0], identified[1], string_so_far, start_index + 1, current_index - 1)) @@ -374,10 +373,10 @@ def flatten_layers(self, model, layers): ret = [x[0:4] for x in new_layers] return ret - def flatten_spans(self, recognized): + def flatten_spans(self, spans): ret = {} all_entries = [] - for span in recognized: + for span in spans: _ids, _content, _left, _right = span[0], span[1], span[2], span[3] for _id in _ids: _attrs = _content[_id] From 92513120bcf0e61c4ce96f2979a15458913b638c Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 21 Aug 2020 22:25:53 -0400 Subject: [PATCH 038/116] unit tests (utility) --- test/ut_utility.py | 171 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 161 insertions(+), 10 deletions(-) diff --git a/test/ut_utility.py b/test/ut_utility.py index 5f9b85e..6d1493f 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -186,29 +186,180 @@ def test_unpack_trie(self): unpacked_trie = self.recognizer.unpack_trie(model=model, packed_trie=packed_trie, compressed=True) assert unpacked_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(unpacked_trie)) - def test_check_attrs(self): - pass + def test_unpack_attributes(self): + _, model = self.compile_test_model() + cur = model.cursor + leaf_ids = [8] + include_query = '' + exclude_query = '' + process_exclude = False + attrs_out_query = '' + expected = {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer1'], 'some_attribute': ['A', 'B', 'C']}} + attributes = self.recognizer.unpack_attributes(cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query) + assert attributes == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(attributes)) - def test_attribute_unpacker(self): - pass + def test_check_attrs(self): + _, model = self.compile_test_model() + trie_leaf = {model.ENTITY_KEY: [8]} + cur = model.cursor + include_query = '' + exclude_query = '' + process_exclude = False + attrs_out_query = '' + expected = {model.ENTITY_KEY: [8], model.ATTRS_KEY: {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer1'], 'some_attribute': ['A', 'B', 'C']}}} + got_leaf = self.recognizer.check_attrs(model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query) + assert got_leaf == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(got_leaf)) def test_spot_entities(self): - pass + _, model = self.compile_test_model() + source_string = 'this is awesome white refrigerator , and this is not' + normalizer_name = 't1' + expected = [([4], {4: {'entity_id': ['entity1'], 'normalizer': ['tokenizer1'], 'some_attribute': ['A', 'B', 'C']}}, 'awesome white refrigerator', 8, 34)] + spotted = self.recognizer.spot_entities(model, source_string, normalizer_name) + assert spotted == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(spotted)) def test_disambiguate(self): - pass + _, model = self.compile_test_model() + # source string: this is awwsome and conflicting refrigerator, hey + # spotted span + spotted = [ + ( + [8, 2], # internal IDs + { + 8: {'DType': ['tokenizer1'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}, # attrs for each internal ID + 2: {'DType': ['tokenizer2'], 'MSID': ['entity2'], 'smth': ['D', 'E']} # attrs for each internal ID + }, + 20, 44, # location (mapped) + [0, 1], # indexes of items in srcs (normalized source strings) + [ + (20, 44), # location[0] (unmapped) + (20, 44) # location[1] (unmapped) + ] + ) + ] + # normalized source strings + srcs = [ + 'this is awwsome and conflicting refrigerator , hey', + 'this is awwsome and conflicting refrigerator , hey' + ] + word_separator = ' ' + # given a sample model, we expect internal ID == 2 to be removed + expected = [ + ( + [8], + { + 8: {'DType': ['tokenizer1'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']} + }, + 20, 44, + [0, 1], + [ + (20, 44), + (20, 44) + ] + ) + ] + disambiguated = self.recognizer.disambiguate(model, spotted, srcs, word_separator) + assert disambiguated == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(disambiguated)) def test_flatten_layers(self): - pass + _, model = self.compile_test_model() + # two normalization layers; first has one span; second has two spans + layers = [ + ( + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], + [ + ( + [4], + {4: {'DType': ['tokenizer1'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 'awesome white refrigerator', + 47, 72 + ) + ], + 'this is awwsome white refrigerator , and it is awesome white refrigerator' + ), + ( + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], + [ + ( + [5], + {5: {'DType': ['tokenizer2'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 'awwsome refrigerator', + 8, 28 + ), + ( + [6], + {6: {'DType': ['tokenizer2'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 'it', + 35, 37 + ) + ], + 'this is awwsome refrigerator , and it is awesome refrigerator' + ) + ] + # we expect all three spans to get stacked in one list (without strings themselves, and with mapped locations) + expected = [ + ( + [5], + {5: {'DType': ['tokenizer2'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 8, 34 + ), + ( + [6], + {6: {'DType': ['tokenizer2'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 40, 42 + ), + ( + [4], + {4: {'DType': ['tokenizer1'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 46, 71 + ) + ] + flattened = self.recognizer.flatten_layers(model, layers) + assert flattened == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(flattened)) def test_flatten_spans(self): - pass + spans = [ + ( + [5], + {5: {'DType': ['tokenizer2'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 8, 34 + ), + ( + [6], + {6: {'DType': ['tokenizer2'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 40, 42 + ), + ( + [4], + {4: {'DType': ['tokenizer1'], 'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, + 46, 71 + ) + ] + expected = { + (8, 34): {'DType': {'tokenizer2'}, 'MSID': {'entity1'}, 'smth': {'C', 'B', 'A'}}, + (40, 42): {'DType': {'tokenizer2'}, 'MSID': {'entity1'}, 'smth': {'C', 'B', 'A'}}, + (46, 71): {'DType': {'tokenizer1'}, 'MSID': {'entity1'}, 'smth': {'C', 'B', 'A'}} + } + flattened = self.recognizer.flatten_spans(spans) + assert flattened == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(flattened)) def test_reduce_spans(self): - pass + segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] + expected = [tuple([1, 6])] + reduced = self.recognizer.reduce_spans(segments) + assert reduced == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(reduced)) def test_parse(self): - pass + _, model = self.compile_test_model() + source_string = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' + expected = { + (8, 34): {'entity_id': {'entity1'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, + (35, 36): {'entity_id': {'entity1'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, + (54, 56): {'entity_id': {'entity1'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, + (66, 90): {'entity_id': {'entity2'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'D', 'E'}} + } + output = self.recognizer.parse(model, source_string) + assert output == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(output)) if __name__ == '__main__': unittest.main() From 7d7cee3090dc6f2771e4de6f9495caefada0e9de Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 21 Aug 2020 22:26:05 -0400 Subject: [PATCH 039/116] chmod --- scripts/linux/unittest.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/linux/unittest.sh diff --git a/scripts/linux/unittest.sh b/scripts/linux/unittest.sh old mode 100644 new mode 100755 From 963721e962b56d540f2998ffda32f51c027600c7 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Sat, 22 Aug 2020 01:54:31 -0400 Subject: [PATCH 040/116] model to use default normalizer --- pilsner/model.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pilsner/model.py b/pilsner/model.py index b41bcbd..c1acd8f 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -202,6 +202,8 @@ def get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_optio normalizer_name = self[self.DEFAULT_NORMALIZER_KEY] elif columns[specs['tokenizer'][0]] in self.normalizer_map and self.normalizer_map[columns[specs['tokenizer'][0]]] in self[self.NORMALIZER_KEY]: normalizer_name = self.normalizer_map[columns[specs['tokenizer'][0]]] + else: + normalizer_name = self[self.DEFAULT_NORMALIZER_KEY] if normalizer_name is not None: synonym = self[self.NORMALIZER_KEY][normalizer_name].normalize(synonym, word_separator, tokenizer_option) return synonym, normalizer_name From 9bed17a1a86426034f0ffbf8845f2758dd8369fe Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Sat, 22 Aug 2020 01:54:54 -0400 Subject: [PATCH 041/116] generate content for performance testing --- test/performance.py | 77 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/test/performance.py b/test/performance.py index e69de29..2f888c8 100644 --- a/test/performance.py +++ b/test/performance.py @@ -0,0 +1,77 @@ +import sys; sys.path.insert(0, '') +import random +import string +import timeit +import pilsner # pylint: disable=E0611,F0401 + +def random_label(min_words, max_words, min_word_length, max_word_length): + number_of_words = random.randint(min_words, max_words) + words = [] + greek = ['qalphaz', 'qbetaz', 'qgammaz'] + for _ in range(number_of_words): + words.append(''.join(random.choice(string.ascii_letters) for i in range(random.randint(min_word_length, max_word_length)))) + words[0] += greek[random.randint(0, 2)] + label = ' '.join(words) + return label + +def random_label_list(min_labels, max_labels, min_words, max_words, min_word_length, max_word_length): + number_of_labels = random.randint(min_labels, max_labels) + labels = [random_label(min_words, max_words, min_word_length, max_word_length) for _ in range(number_of_labels)] + label_attrs = [','.join([random_label(1, 1, 3, 5) for _ in range(random.randint(1,3))]) for _ in range(number_of_labels)] + return labels, label_attrs + +def create_labels(dictionary_size, min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length): + labels = {} + label_attrs = {} + for i in range(dictionary_size): + labels[i+1], label_attrs[i+1] = random_label_list(min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length) + return labels, label_attrs + +def create_entity_attrs(dictionary_size): + attrs = {} + for i in range(dictionary_size): + attrs[i+1] = random_label(1, 1, 3, 5) + return attrs + +def create_test_dictionary(dictionary_size, min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length): + labels, label_attrs = create_labels(dictionary_size, min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length) + entity_attrs = create_entity_attrs(dictionary_size) + with open('.test-dict.txt', mode='w', encoding='utf8') as f: + for entity_id in entity_attrs: + for i in range(len(labels[entity_id])): + f.write('%d\t%s\t%s\t%s\n' % (entity_id, labels[entity_id][i], label_attrs[entity_id][i], entity_attrs[entity_id])) + selected_entities = [random.randint(1, dictionary_size) for _ in range(10)] + with open('.test-labels.txt', mode='w', encoding='utf8') as f: + for entity_id in selected_entities: + f.write('%s\n' % (labels[entity_id][random.randint(1, len(labels[entity_id]))-1])) + +def create_test_text(number_of_words): + labels = [] + with open('.test-labels.txt', mode='r', encoding='utf8') as f: + for line in f: + labels.append(line.strip()) + t = [] + for _ in range(number_of_words): + t.append(random_label(1, 1, 3, 10)) + for label in labels: + t.insert(random.randint(1, len(t))-1, label) + text = ' '.join(t) + with open('.test-text.txt', mode='w', encoding='utf8') as f: + f.write(text) + +create_test_dictionary(100000, 1, 5, 1, 4, 3, 10) +create_test_text(100000) + +model = pilsner.Model() +model.add_normalizer('standard', None) +recognizer = pilsner.Recognizer() +fields = [ + {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'label_attr', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'entity_attr', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} +] +specs = recognizer.compile_dict_specs(fields) +recognizer.compile_model(model, '.test-dict.txt', specs, ' ', '\t', '\n', include_keywords=True) + +#print(model) From 228e9dcdba02d818d37d3c7beb8e06bea1d90ce7 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Sun, 23 Aug 2020 01:30:33 -0400 Subject: [PATCH 042/116] fixed bug (invalid indexing of token sets) --- pilsner/utility.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index f9822c5..226e526 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -308,7 +308,7 @@ def disambiguate(self, model, recognized, srcs, word_separator): src = [] ei = [] tokens = [] - s_tokens = [] + s_tokens = {} for j in range(len(ids)): #si[j] = 0 si.append(0) @@ -323,7 +323,8 @@ def disambiguate(self, model, recognized, srcs, word_separator): #tokens[j] = src[j][si[j]:ei[j]] tokens.append(src[j][si[j]:ei[j]]) #s_tokens[j] = set(tokens[j].split(word_separator)) - s_tokens.append(set(tokens[j].split(word_separator))) + #s_tokens.append(set(tokens[j].split(word_separator))) + s_tokens[ids[j]] = set(tokens[j].split(word_separator)) tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} winner_score = 0 From 4d8507f739a8ff701fce625f73a7b422d83a6f06 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Sun, 23 Aug 2020 01:49:05 -0400 Subject: [PATCH 043/116] performance testing --- test/performance.py | 189 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 177 insertions(+), 12 deletions(-) diff --git a/test/performance.py b/test/performance.py index 2f888c8..4ed8368 100644 --- a/test/performance.py +++ b/test/performance.py @@ -1,10 +1,25 @@ +import os import sys; sys.path.insert(0, '') import random import string import timeit -import pilsner # pylint: disable=E0611,F0401 -def random_label(min_words, max_words, min_word_length, max_word_length): +ENTITIES_IN_DICTIONARY = 50000 +WORDS_IN_TEXT = 100000 + +MIN_LABELS_PER_ENTITY = 1 +MAX_LABELS_PER_ENTITY = 5 +MIN_WORDS_PER_LABEL = 1 +MAX_WORDS_PER_LABEL = 4 +MIN_WORD_LENGTH = 3 +MAX_WORD_LENGTH = 10 + +def random_label( + min_words, + max_words, + min_word_length, + max_word_length +): number_of_words = random.randint(min_words, max_words) words = [] greek = ['qalphaz', 'qbetaz', 'qgammaz'] @@ -14,27 +29,67 @@ def random_label(min_words, max_words, min_word_length, max_word_length): label = ' '.join(words) return label -def random_label_list(min_labels, max_labels, min_words, max_words, min_word_length, max_word_length): +def random_label_list( + min_labels, + max_labels, + min_words, + max_words, + min_word_length, + max_word_length +): number_of_labels = random.randint(min_labels, max_labels) labels = [random_label(min_words, max_words, min_word_length, max_word_length) for _ in range(number_of_labels)] label_attrs = [','.join([random_label(1, 1, 3, 5) for _ in range(random.randint(1,3))]) for _ in range(number_of_labels)] return labels, label_attrs -def create_labels(dictionary_size, min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length): +def create_labels( + dictionary_size, + min_labels_per_entity, + max_labels_per_entity, + min_words_per_label, + max_words_per_label, + min_word_length, + max_word_length +): labels = {} label_attrs = {} for i in range(dictionary_size): - labels[i+1], label_attrs[i+1] = random_label_list(min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length) + labels[i+1], label_attrs[i+1] = random_label_list( + min_labels=min_labels_per_entity, + max_labels=max_labels_per_entity, + min_words=min_words_per_label, + max_words=max_words_per_label, + min_word_length=min_word_length, + max_word_length=max_word_length + ) return labels, label_attrs -def create_entity_attrs(dictionary_size): +def create_entity_attrs( + dictionary_size +): attrs = {} for i in range(dictionary_size): attrs[i+1] = random_label(1, 1, 3, 5) return attrs -def create_test_dictionary(dictionary_size, min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length): - labels, label_attrs = create_labels(dictionary_size, min_labels_per_entity, max_labels_per_entity, min_words_per_label, max_words_per_label, min_word_length, max_word_length) +def create_test_dictionary( + dictionary_size, + min_labels_per_entity, + max_labels_per_entity, + min_words_per_label, + max_words_per_label, + min_word_length, + max_word_length +): + labels, label_attrs = create_labels( + dictionary_size=dictionary_size, + min_labels_per_entity=min_labels_per_entity, + max_labels_per_entity=max_labels_per_entity, + min_words_per_label=min_words_per_label, + max_words_per_label=max_words_per_label, + min_word_length=min_word_length, + max_word_length=max_word_length + ) entity_attrs = create_entity_attrs(dictionary_size) with open('.test-dict.txt', mode='w', encoding='utf8') as f: for entity_id in entity_attrs: @@ -59,9 +114,55 @@ def create_test_text(number_of_words): with open('.test-text.txt', mode='w', encoding='utf8') as f: f.write(text) -create_test_dictionary(100000, 1, 5, 1, 4, 3, 10) -create_test_text(100000) +def create_test_dataset(): + create_test_dictionary( + dictionary_size=ENTITIES_IN_DICTIONARY, + min_labels_per_entity=MIN_LABELS_PER_ENTITY, + max_labels_per_entity=MAX_LABELS_PER_ENTITY, + min_words_per_label=MIN_WORDS_PER_LABEL, + max_words_per_label=MAX_WORDS_PER_LABEL, + min_word_length=MIN_WORD_LENGTH, + max_word_length=MAX_WORD_LENGTH + ) + create_test_text( + number_of_words=WORDS_IN_TEXT + ) +def perf_compile_model_save_model(modules_to_test): + n = 1 + for x in modules_to_test: + print( + '%s: compiled model with %d entities from .test-dict.txt in %f seconds' % ( + x, + ENTITIES_IN_DICTIONARY, + timeit.timeit( + setup = """ +import %s as pilsner +model = pilsner.Model() +model.add_normalizer('standard', None) +recognizer = pilsner.Recognizer() +fields = [ + {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'label_attr', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'entity_attr', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} +] +specs = recognizer.compile_dict_specs(fields) +""" % (x), + stmt=""" +recognizer.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) +""", + number=n + ) + ) + ) + print( + '%s: saved model with %d entities in %f seconds' % ( + x, + ENTITIES_IN_DICTIONARY, + timeit.timeit( + setup = """ +import %s as pilsner model = pilsner.Model() model.add_normalizer('standard', None) recognizer = pilsner.Recognizer() @@ -72,6 +173,70 @@ def create_test_text(number_of_words): {'name': 'entity_attr', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] specs = recognizer.compile_dict_specs(fields) -recognizer.compile_model(model, '.test-dict.txt', specs, ' ', '\t', '\n', include_keywords=True) +recognizer.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) +""" % (x), + stmt=""" +model.save('.test-model') +""", + number=n + ) + ) + ) +def perf_load_model_parse_test(modules_to_test): + n = 1 + for x in modules_to_test: + print( + '%s: loaded model with %d entities from .test-model in %f seconds' % ( + x, + ENTITIES_IN_DICTIONARY, + timeit.timeit( + setup = """ +import %s as pilsner +model = pilsner.Model() +""" % (x), + stmt=""" +model.load('.test-model') +""", + number=n + ) + ) + ) + print( + '%s: parsed text with %d words in .test-text.txt using model with %d entities in %f seconds' % ( + x, + WORDS_IN_TEXT, + ENTITIES_IN_DICTIONARY, + timeit.timeit( + setup = """ +import %s as pilsner +model = pilsner.Model() +model.load('.test-model') +recognizer = pilsner.Recognizer() +with open('.test-text.txt', mode='r', encoding='utf8') as f: + test_text = f.read() +""" % (x), + stmt=""" +found = recognizer.parse(model, test_text) +""", + number=n + ) + ) + ) + +def cleanup(): + for filename in [ + '.test-dict.txt', + '.test-labels.txt', + '.test-text.txt', + '.test-model.0.dictionary', + '.test-model.attributes', + '.test-model.keywords', + '.test-model.normalizers' + ]: + os.remove(filename) -#print(model) +if __name__ == '__main__': + create_test_dataset() + perf_compile_model_save_model(['pilsner']) + perf_load_model_parse_test(['pilsner']) + cleanup() From b8aea02cded66f0edd2416cd940dc690137deee3 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Mon, 24 Aug 2020 00:45:15 -0400 Subject: [PATCH 044/116] cell_wall -> column_enclosure --- pilsner/model.py | 4 ++-- test/ut_model.py | 4 ++-- test/ut_utility.py | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pilsner/model.py b/pilsner/model.py index c1acd8f..c626dc7 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -182,8 +182,8 @@ def store_attributes(self, line_number, internal_id, subtrie, specs, columns): else: _ = [self.cursor.execute('insert into attrs (n, iid, attr_name, attr_value) select ?, ?, ?, ?;', (line_number, internal_id, k, s)) for s in set(columns[specs['fields'][k][0]].split(specs['fields'][k][1]))] - def get_dictionary_line(self, specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall): - columns = [x.strip(cell_wall) for x in line.split(column_separator)] + def get_dictionary_line(self, specs, entity_ids, line_numbers, line_number, line, column_separator, column_enclosure): + columns = [x.strip(column_enclosure) for x in line.strip('\n').split(column_separator)] if line_number in line_numbers: internal_id = line_numbers[line_number] else: diff --git a/test/ut_model.py b/test/ut_model.py index 7c82e68..7a4fcaf 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -124,8 +124,8 @@ def test_get_dictionary_line(self): line_number = 1 line = 't1\tentity_id\tstring_value\tsome_attr,another_attr\n' column_separator = '\t' - cell_wall = '\n' - got_line = self.model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall) + column_enclosure = '' + got_line = self.model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, column_enclosure) expected = (['t1', 'entity_id', 'string_value', 'some_attr,another_attr'], 0) assert got_line == expected, 'Expected %s, got %s' % (str(expected), str(got_line)) diff --git a/test/ut_utility.py b/test/ut_utility.py index 6d1493f..8ca28e8 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -25,7 +25,7 @@ def compile_test_model(self): 'tokenizer1': 't1', 'tokenizer2': 't2' } - compiled = self.recognizer.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', cell_wall='\n', include_keywords=True) + compiled = self.recognizer.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', column_enclosure='', include_keywords=True) return compiled, model def test_init(self): @@ -78,7 +78,7 @@ def test_make_recognizer(self): ] specs = self.recognizer.compile_dict_specs(fields) model = pilsner.Model() - got_recognizer, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', cell_wall='\n', tokenizer_option=0) + got_recognizer, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) expected_recognizer = [ { model.SPECS_KEY: { @@ -123,8 +123,8 @@ def test_make_keywords(self): ] specs = self.recognizer.compile_dict_specs(fields) model = pilsner.Model() - _, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', cell_wall='\n', tokenizer_option=0) - keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', cell_wall='\n', tokenizer_option=0) + _, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) + keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', column_enclosure='', tokenizer_option=0) expected = { model.CONTENT_KEY: { 0: {'refrigerator', 'white', 'awesome', 'conflicting', 'refrigerators', 'refrigeratorx'}, From b030e37b2605264a6d40f696c82d7a21000fbcef Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Mon, 24 Aug 2020 00:46:01 -0400 Subject: [PATCH 045/116] spotted bug in disambiguate() -> TODO --- pilsner/utility.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 226e526..7a8a824 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -45,7 +45,7 @@ def compile_dict_specs(self, fields): logging.debug('Done compiling specs') return specs - def make_recognizer(self, model, filename, specs, word_separator, item_limit, compressed, column_separator, cell_wall, tokenizer_option): + def make_recognizer(self, model, filename, specs, word_separator, item_limit, compressed, column_separator, column_enclosure, tokenizer_option): # TODO: review for refactoring self.logger('Making recognizer using %s' % (filename)) self.push_message('Making recognizer using %s' % (filename), self.callback_status) @@ -77,7 +77,7 @@ def make_recognizer(self, model, filename, specs, word_separator, item_limit, co trie = model.next_trie(specs, compressed, tokenizer_option, word_separator) self.logger('Lines read: %d' % (line_count)) line_count = 0 - columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, cell_wall) + columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, column_enclosure) synonym, normalizer_name = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) subtrie = trie[model.CONTENT_KEY][normalizer_name] for character in synonym: @@ -96,7 +96,7 @@ def make_recognizer(self, model, filename, specs, word_separator, item_limit, co self.logger('Recognizer completed.') return ret, line_numbers - def make_keywords(self, model, filename, specs, line_numbers, word_separator, disambiguate_all, column_separator, cell_wall, tokenizer_option): + def make_keywords(self, model, filename, specs, line_numbers, word_separator, disambiguate_all, column_separator, column_enclosure, tokenizer_option): self.logger('Making keywords using %s... ' % (filename)) self.push_message('Making keywords from {0}'.format(filename), self.callback_status) total_bytes = os.path.getsize(filename) + 1 @@ -115,7 +115,7 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di if this_progress_position != last_progress_position: last_progress_position = this_progress_position self.push_message(int(100 * chars_read / total_bytes), self.callback_progress) - columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, cell_wall) + columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, column_enclosure) internal_id_map[line_count] = internal_id synonym, _ = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) if synonym not in synonyms: @@ -132,7 +132,7 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di with open(filename, mode='r', encoding='utf8') as f: line_count = 0 for line in f: - columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, cell_wall) + columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, column_enclosure) if internal_id in overlapping_ids: synonym, _ = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) tokens = synonym.split(word_separator) @@ -143,11 +143,11 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di self.logger('Done compiling keywords.') return keywords - def compile_model(self, model, filename, specs, word_separator, column_separator, cell_wall, compressed=True, item_limit=0, tokenizer_option=0, include_keywords=False, disambiguate_all=False): - tries, line_numbers = self.make_recognizer(model, filename, specs, word_separator, item_limit, compressed, column_separator, cell_wall, tokenizer_option) + def compile_model(self, model, filename, specs, word_separator, column_separator, column_enclosure, compressed=True, item_limit=0, tokenizer_option=0, include_keywords=False, disambiguate_all=False): + tries, line_numbers = self.make_recognizer(model, filename, specs, word_separator, item_limit, compressed, column_separator, column_enclosure, tokenizer_option) keywords = {model.CONTENT_KEY: {}, model.INTERNAL_ID_KEY: {}} if include_keywords: - keywords = self.make_keywords(model, filename, specs, line_numbers, word_separator, disambiguate_all, column_separator, cell_wall, tokenizer_option) + keywords = self.make_keywords(model, filename, specs, line_numbers, word_separator, disambiguate_all, column_separator, column_enclosure, tokenizer_option) model[model.DICTIONARY_KEY] = tries model[model.KEYWORDS_KEY] = keywords return True @@ -317,9 +317,20 @@ def disambiguate(self, model, recognized, srcs, word_separator): #ei[j] = len(src[j]) ei.append(len(src[j])) if k > 0: + # !!! TODO: rather than this, take map of normalizer [k-1] and remap location on map of normalizer[k] as a boundary si[j] = _recognized[k-1][5][0][1] + # m = k - 1 + # while m > 0 and _recognized[k][4][j] not in _recognized[m][4]: + # m -= 1 + # if _recognized[k][4][j] in _recognized[k-1][4]: + # si[j] = _recognized[m][5][0][1] if k < len(id_list) - 1: ei[j] = _recognized[k+1][5][0][0] + # m = k + 1 + # while m < len(id_list) - 1 and _recognized[k][4][j] not in _recognized[m][4]: + # m += 1 + # if _recognized[k][4][j] in _recognized[m][4]: + # ei[j] = _recognized[m][5][0][0] #tokens[j] = src[j][si[j]:ei[j]] tokens.append(src[j][si[j]:ei[j]]) #s_tokens[j] = set(tokens[j].split(word_separator)) From 4403c706e56b785a6ad982e4b1d18d7a6c42c6e7 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Tue, 25 Aug 2020 01:40:03 -0400 Subject: [PATCH 046/116] think --- pilsner/utility.py | 19 ++++++++++++------- test/ut_utility.py | 6 +++++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 7a8a824..ddee46d 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -307,7 +307,7 @@ def disambiguate(self, model, recognized, srcs, word_separator): si = [] src = [] ei = [] - tokens = [] + tokens = {} s_tokens = {} for j in range(len(ids)): #si[j] = 0 @@ -318,24 +318,27 @@ def disambiguate(self, model, recognized, srcs, word_separator): ei.append(len(src[j])) if k > 0: # !!! TODO: rather than this, take map of normalizer [k-1] and remap location on map of normalizer[k] as a boundary - si[j] = _recognized[k-1][5][0][1] + #si[j] = _recognized[k-1][5][0][1] + si[j] = _recognized[k][6][j][_recognized[k-1][3]] # m = k - 1 # while m > 0 and _recognized[k][4][j] not in _recognized[m][4]: # m -= 1 # if _recognized[k][4][j] in _recognized[k-1][4]: # si[j] = _recognized[m][5][0][1] if k < len(id_list) - 1: - ei[j] = _recognized[k+1][5][0][0] + #ei[j] = _recognized[k+1][5][0][0] + ei[j] = _recognized[k][6][j][_recognized[k+1][2]] # m = k + 1 # while m < len(id_list) - 1 and _recognized[k][4][j] not in _recognized[m][4]: # m += 1 # if _recognized[k][4][j] in _recognized[m][4]: # ei[j] = _recognized[m][5][0][0] #tokens[j] = src[j][si[j]:ei[j]] - tokens.append(src[j][si[j]:ei[j]]) + #tokens.append(src[j][si[j]:ei[j]]) + tokens[ids[j]] = src[j][si[j]:ei[j]] #s_tokens[j] = set(tokens[j].split(word_separator)) #s_tokens.append(set(tokens[j].split(word_separator))) - s_tokens[ids[j]] = set(tokens[j].split(word_separator)) + s_tokens[ids[j]] = set(tokens[ids[j]].split(word_separator)) tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} winner_score = 0 @@ -364,7 +367,7 @@ def flatten_layers(self, model, layers): location = tuple([_map[span[3]], _map[span[4]]]) if location not in spans: spans[location] = [] - spans[location].append(tuple([span[0], span[1], [i] * len(span[0]), span[3], span[4]])) + spans[location].append(tuple([span[0], span[1], [i] * len(span[0]), span[3], span[4], _map])) new_layers = [] for location in spans: new_left = location[0] @@ -373,12 +376,14 @@ def flatten_layers(self, model, layers): new_attrs = {} new_srcids = [] new_locations = [] + new_map = [] for item in spans[location]: new_ids += item[0] new_attrs = {**new_attrs, **item[1]} new_srcids += item[2] new_locations.append(tuple([item[3], item[4]])) - new_layers.append(tuple([new_ids, new_attrs, new_left, new_right, new_srcids, new_locations])) + new_map.append(item[5]) + new_layers.append(tuple([new_ids, new_attrs, new_left, new_right, new_srcids, new_locations, new_map])) if model[model.KEYWORDS_KEY] is not None: new_layers = self.disambiguate(model, new_layers, srcs, ' ') pass diff --git a/test/ut_utility.py b/test/ut_utility.py index 8ca28e8..a808497 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -362,4 +362,8 @@ def test_parse(self): assert output == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(output)) if __name__ == '__main__': - unittest.main() + #unittest.main() + x = TestUtility() + x.setUp() + x.compile_test_model() + x.test_parse() From 6c716a00cbe983147ae79029d0fb891532e29338 Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Tue, 25 Aug 2020 02:41:25 -0400 Subject: [PATCH 047/116] think again --- pilsner/utility.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index ddee46d..d30d7bb 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -319,7 +319,7 @@ def disambiguate(self, model, recognized, srcs, word_separator): if k > 0: # !!! TODO: rather than this, take map of normalizer [k-1] and remap location on map of normalizer[k] as a boundary #si[j] = _recognized[k-1][5][0][1] - si[j] = _recognized[k][6][j][_recognized[k-1][3]] + si[j] = _recognized[k][6][j][_recognized[k-1][5][0][1]] # m = k - 1 # while m > 0 and _recognized[k][4][j] not in _recognized[m][4]: # m -= 1 @@ -327,7 +327,7 @@ def disambiguate(self, model, recognized, srcs, word_separator): # si[j] = _recognized[m][5][0][1] if k < len(id_list) - 1: #ei[j] = _recognized[k+1][5][0][0] - ei[j] = _recognized[k][6][j][_recognized[k+1][2]] + ei[j] = _recognized[k][6][j][_recognized[k+1][4][0][1]] # m = k + 1 # while m < len(id_list) - 1 and _recognized[k][4][j] not in _recognized[m][4]: # m += 1 From eb939cd0908dbb5e69cb82ab46c32e19b376bdea Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Mon, 31 Aug 2020 01:24:17 -0400 Subject: [PATCH 048/116] unit tests, disambiguation (wip) --- pilsner/utility.py | 37 +++++++++++++++++++++++-------- test/assets/sample_dictionary.txt | 2 +- test/ut_utility.py | 22 +++++++++--------- 3 files changed, 40 insertions(+), 21 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index d30d7bb..34aacd5 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -304,22 +304,32 @@ def disambiguate(self, model, recognized, srcs, word_separator): ids = id_list[k] if len(ids) < 2: continue - si = [] - src = [] - ei = [] + si = {} + src = {} + ei = {} tokens = {} s_tokens = {} for j in range(len(ids)): #si[j] = 0 - si.append(0) + #si.append(0) + si[ids[j]] = 0 #src[j] = srcs[recognized[k][4][j]] - src.append(srcs[_recognized[k][4][j]]) + #src.append(srcs[_recognized[k][4][j]]) + src[ids[j]] = srcs[_recognized[k][4][j]] #ei[j] = len(src[j]) - ei.append(len(src[j])) + #ei.append(len(src[j])) + ei[ids[j]] = len(src[ids[j]]) + if k > 0: # !!! TODO: rather than this, take map of normalizer [k-1] and remap location on map of normalizer[k] as a boundary #si[j] = _recognized[k-1][5][0][1] - si[j] = _recognized[k][6][j][_recognized[k-1][5][0][1]] + + #si[ids[j]] = _recognized[k][6][ _recognized[k][4][j] ][_recognized[k-1][5][0][1]] + + # See above, think + if _recognized[k-1][5][0][1] > si[ids[j]]: + si[ids[j]] = _recognized[k-1][5][0][1] + # m = k - 1 # while m > 0 and _recognized[k][4][j] not in _recognized[m][4]: # m -= 1 @@ -327,7 +337,11 @@ def disambiguate(self, model, recognized, srcs, word_separator): # si[j] = _recognized[m][5][0][1] if k < len(id_list) - 1: #ei[j] = _recognized[k+1][5][0][0] - ei[j] = _recognized[k][6][j][_recognized[k+1][4][0][1]] + + #ei[ids[j]] = _recognized[k][6][ _recognized[k][4][j] ][_recognized[k+1][5][0][0]] + + if _recognized[k+1][5][0][0] < ei[ids[j]]: + ei[ids[j]] = _recognized[k+1][5][0][0] # m = k + 1 # while m < len(id_list) - 1 and _recognized[k][4][j] not in _recognized[m][4]: # m += 1 @@ -335,10 +349,15 @@ def disambiguate(self, model, recognized, srcs, word_separator): # ei[j] = _recognized[m][5][0][0] #tokens[j] = src[j][si[j]:ei[j]] #tokens.append(src[j][si[j]:ei[j]]) - tokens[ids[j]] = src[j][si[j]:ei[j]] + + #tokens[ids[j]] = src[j][si[j]:ei[j]] + tokens[ids[j]] = src[ids[j]][si[ids[j]]:ei[ids[j]]] + #s_tokens[j] = set(tokens[j].split(word_separator)) #s_tokens.append(set(tokens[j].split(word_separator))) s_tokens[ids[j]] = set(tokens[ids[j]].split(word_separator)) + # tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} + # kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} winner_score = 0 diff --git a/test/assets/sample_dictionary.txt b/test/assets/sample_dictionary.txt index ee98b2a..4de7ac6 100644 --- a/test/assets/sample_dictionary.txt +++ b/test/assets/sample_dictionary.txt @@ -4,6 +4,6 @@ tokenizer2 entity2 conflicting refrigerator D,E tokenizer2 entity1 awesome white refrigerators A,B,C tokenizer1 entity1 awesome white refrigerator A,B,C tokenizer2 entity1 awwsome white refrigerator A,B,C -tokenizer2 entity1 it A,B,C +tokenizer2 entity2 it A,B,C tokenizer2 entity1 o A,B,C tokenizer1 entity1 conflicting refrigerator A,B,C diff --git a/test/ut_utility.py b/test/ut_utility.py index a808497..851d93b 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -107,7 +107,7 @@ def test_make_recognizer(self): 3: 1, 4: 1, 5: 1, - 6: 1, + 6: 0, 7: 1, 8: 1 } @@ -127,8 +127,8 @@ def test_make_keywords(self): keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', column_enclosure='', tokenizer_option=0) expected = { model.CONTENT_KEY: { - 0: {'refrigerator', 'white', 'awesome', 'conflicting', 'refrigerators', 'refrigeratorx'}, - 1: {'o', 'white', 'conflicting', 'refrigerators', 'awwsome', 'it', 'refrigerator', 'awesome', 'refrigerator'} + 0: {'it', 'refrigeratorx', 'white', 'awesome', 'refrigerator', 'conflicting', 'refrigerators'}, + 1: {'conflicting', 'white', 'awesome', 'refrigerator', 'o', 'refrigerators', 'awwsome'} }, model.INTERNAL_ID_KEY: { 0: 0, @@ -137,7 +137,7 @@ def test_make_keywords(self): 3: 1, 4: 1, 5: 1, - 6: 1, + 6: 0, 7: 1, 8: 1 } @@ -175,7 +175,7 @@ def test_compile_model(self): model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}}, 'c': {'onflicting refrigerator': {model.ENTITY_KEY: [8]}}}, 't2': {'c': {'onflicting refrigerator': {model.ENTITY_KEY: [2]}}, 'a': {'w': {'e': {'some refrigerators': {model.ENTITY_KEY: [3]}}, 'w': {'some refrigerator': {model.ENTITY_KEY: [5]}}}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}}} } ] - expected_keywords = {model.CONTENT_KEY: {0: {'refrigera', 'refrigeratorx', 'tors', 'refrigerator', 'white', 'awesome', 'conflicting'}, 1: {'it', 'o', 'awwsome', 'white', 'refrigerator', 'refrigerator', 'conflicting', 'refrigerators', 'awesome'}}, model.INTERNAL_ID_KEY: {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1}} + expected_keywords = {model.CONTENT_KEY: {0: {'refrigerator', 'tors', 'it', 'refrigera', 'white', 'conflicting', 'awesome', 'refrigeratorx'}, 1: {'refrigerator', 'refrigerators', 'white', 'o', 'conflicting', 'awwsome', 'awesome'}}, model.INTERNAL_ID_KEY: {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 0, 7: 1, 8: 1}} assert model[model.DICTIONARY_KEY] == expected_dictionary, '\nExpected\n%s\nGot\n%s' % (str(expected_dictionary), str(model[model.DICTIONARY_KEY])) assert model[model.KEYWORDS_KEY] == expected_keywords, '\nExpected\n%s\nGot\n%s' % (str(expected_keywords), str(model[model.KEYWORDS_KEY])) @@ -355,15 +355,15 @@ def test_parse(self): expected = { (8, 34): {'entity_id': {'entity1'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, (35, 36): {'entity_id': {'entity1'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, - (54, 56): {'entity_id': {'entity1'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, + (54, 56): {'entity_id': {'entity2'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, (66, 90): {'entity_id': {'entity2'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'D', 'E'}} } output = self.recognizer.parse(model, source_string) assert output == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(output)) if __name__ == '__main__': - #unittest.main() - x = TestUtility() - x.setUp() - x.compile_test_model() - x.test_parse() + unittest.main() + #x = TestUtility() + #x.setUp() + #x.compile_test_model() + #x.test_parse() From dbd926e5d1e3fdef6b4f77a5ce5de03165b1afbc Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 4 Sep 2020 00:57:50 -0400 Subject: [PATCH 049/116] removed unneccesary module --- test/functional.py | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 test/functional.py diff --git a/test/functional.py b/test/functional.py deleted file mode 100644 index c4911a1..0000000 --- a/test/functional.py +++ /dev/null @@ -1,12 +0,0 @@ -import os -import sys; sys.path.insert(0, '') -import unittest -import pilsner # pylint: disable=E0611,F0401 - -class FunctionalTest(unittest.TestCase): - - def test_ad_hoc_load_model(self): - pass - -if __name__ == '__main__': - unittest.main() From 9cd0be1f5b57870114a86d37f5d2a46987fe6114 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 4 Sep 2020 00:58:50 -0400 Subject: [PATCH 050/116] sandbox --- test/sandbox.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/sandbox.py b/test/sandbox.py index 54229bc..ec6845c 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -30,7 +30,8 @@ def save_it(): _messages.clear() r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=3, include_keywords=True) print(m['~keywords']) - s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' + #s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' + s = 'this is awwsome white refrigerator , and it is awesome white refrigerator' _messages.clear() q = r.parse(m, s) print(q) From 680e74fed72a0b13b2b8ecc5d859d708f0684955 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 4 Sep 2020 02:39:09 -0400 Subject: [PATCH 051/116] disambiguation --- pilsner/utility.py | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 34aacd5..2f5ad96 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -327,8 +327,10 @@ def disambiguate(self, model, recognized, srcs, word_separator): #si[ids[j]] = _recognized[k][6][ _recognized[k][4][j] ][_recognized[k-1][5][0][1]] # See above, think - if _recognized[k-1][5][0][1] > si[ids[j]]: - si[ids[j]] = _recognized[k-1][5][0][1] + #if _recognized[k-1][5][0][1] > si[ids[j]]: + if _recognized[k][7][ids[j]][_recognized[k-1][3]][1] > si[ids[j]]: + #si[ids[j]] = _recognized[k-1][5][0][1] + si[ids[j]] = _recognized[k][7][ids[j]][_recognized[k-1][3]][1] # m = k - 1 # while m > 0 and _recognized[k][4][j] not in _recognized[m][4]: @@ -340,8 +342,10 @@ def disambiguate(self, model, recognized, srcs, word_separator): #ei[ids[j]] = _recognized[k][6][ _recognized[k][4][j] ][_recognized[k+1][5][0][0]] - if _recognized[k+1][5][0][0] < ei[ids[j]]: - ei[ids[j]] = _recognized[k+1][5][0][0] + #if _recognized[k+1][5][0][0] < ei[ids[j]]: + if _recognized[k][7][ids[j]][_recognized[k+1][2]][0] < ei[ids[j]]: + #ei[ids[j]] = _recognized[k+1][5][0][0] + ei[ids[j]] = _recognized[k][7][ids[j]][_recognized[k+1][2]][0] # m = k + 1 # while m < len(id_list) - 1 and _recognized[k][4][j] not in _recognized[m][4]: # m += 1 @@ -378,7 +382,8 @@ def flatten_layers(self, model, layers): srcs = [] for i in range(0, len(layers)): layer = layers[i] - _map = layer[0] + _map = layer[0][0] + _r_map = layer[0][1] _recognized = layer[1] _src = layer[2] srcs.append(_src) @@ -386,7 +391,7 @@ def flatten_layers(self, model, layers): location = tuple([_map[span[3]], _map[span[4]]]) if location not in spans: spans[location] = [] - spans[location].append(tuple([span[0], span[1], [i] * len(span[0]), span[3], span[4], _map])) + spans[location].append(tuple([span[0], span[1], [i] * len(span[0]), span[3], span[4], _map, _r_map])) new_layers = [] for location in spans: new_left = location[0] @@ -395,15 +400,18 @@ def flatten_layers(self, model, layers): new_attrs = {} new_srcids = [] new_locations = [] - new_map = [] + new_map = {} + new_r_map = {} for item in spans[location]: new_ids += item[0] new_attrs = {**new_attrs, **item[1]} - new_srcids += item[2] - new_locations.append(tuple([item[3], item[4]])) - new_map.append(item[5]) - new_layers.append(tuple([new_ids, new_attrs, new_left, new_right, new_srcids, new_locations, new_map])) - if model[model.KEYWORDS_KEY] is not None: + if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]: + new_srcids += item[2] + new_locations.append(tuple([item[3], item[4]])) + new_map.update({model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][k]: item[5] for k in item[0]}) + new_r_map.update({model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][k]: item[6] for k in item[0]}) + new_layers.append(tuple([new_ids, new_attrs, new_left, new_right, new_srcids, new_locations, new_map, new_r_map])) + if model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]: new_layers = self.disambiguate(model, new_layers, srcs, ' ') pass ret = [x[0:4] for x in new_layers] @@ -495,10 +503,11 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): for normalizer_name in model[model.NORMALIZER_KEY]: normalized_string = model[model.NORMALIZER_KEY][normalizer_name].normalize(source_string, model[model.WORD_SEPARATOR_KEY], model[model.TOKENIZER_OPTION_KEY]) character_map = model[model.NORMALIZER_KEY][normalizer_name].result['map'] + r_character_map = model[model.NORMALIZER_KEY][normalizer_name].result['r_map'] progress_from = current_normalizer_index * spot_progress_share progress_to = (current_normalizer_index + 1) * spot_progress_share parsed = self.spot_entities(model, normalized_string, normalizer_name, include_query, exclude_query, process_exclude, attrs_out_query, progress_from=progress_from, progress_to=progress_to) - rets.append((character_map, parsed, normalized_string)) + rets.append(((character_map, r_character_map), parsed, normalized_string)) current_normalizer_index += 1 layers = self.flatten_layers(model, rets) spans = self.flatten_spans(layers) From f378cd8c0a8036d280404da498a91c6383a0668c Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 4 Sep 2020 02:39:37 -0400 Subject: [PATCH 052/116] updated unit tests --- scripts/linux/unittest.sh | 2 +- scripts/win/unittest.bat | 2 +- test/assets/sample_dictionary.txt | 2 +- test/sandbox.py | 12 ++++++------ test/ut_utility.py | 20 +++++++++++--------- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/scripts/linux/unittest.sh b/scripts/linux/unittest.sh index dd02fd2..ec23305 100755 --- a/scripts/linux/unittest.sh +++ b/scripts/linux/unittest.sh @@ -4,7 +4,7 @@ MYDIR=`pwd` ROOT=${MYDIR}/../.. ENV=.env.36 TEST=${ROOT}/test -FILES="ut_model.py ut_utility.py functional.py performance.py" +FILES="ut_model.py ut_utility.py performance.py" cd ${ROOT} for FILE in ${FILES} do diff --git a/scripts/win/unittest.bat b/scripts/win/unittest.bat index 4453ba7..ae32a49 100644 --- a/scripts/win/unittest.bat +++ b/scripts/win/unittest.bat @@ -3,7 +3,7 @@ set RUNDIR=%cd% set ROOT=%~dp0..\.. set ENV=.env.37 set TEST=%ROOT%\test -set FILES=ut_model.py ut_utility.py functional.py performance.py +set FILES=ut_model.py ut_utility.py performance.py cd %ROOT% (for %%f in (%FILES%) do ( echo Running %%f diff --git a/test/assets/sample_dictionary.txt b/test/assets/sample_dictionary.txt index 4de7ac6..7eae706 100644 --- a/test/assets/sample_dictionary.txt +++ b/test/assets/sample_dictionary.txt @@ -6,4 +6,4 @@ tokenizer1 entity1 awesome white refrigerator A,B,C tokenizer2 entity1 awwsome white refrigerator A,B,C tokenizer2 entity2 it A,B,C tokenizer2 entity1 o A,B,C -tokenizer1 entity1 conflicting refrigerator A,B,C +tokenizer2 entity1 conflicting refrigerator A,B,C diff --git a/test/sandbox.py b/test/sandbox.py index ec6845c..4d4a633 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -33,9 +33,9 @@ def save_it(): #s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' s = 'this is awwsome white refrigerator , and it is awesome white refrigerator' _messages.clear() - q = r.parse(m, s) - print(q) - #m.save('.test_model') + #q = r.parse(m, s) + #print(q) + m.save('.test_model') def load_it(): rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) @@ -43,11 +43,11 @@ def load_it(): s = 'this is awesome white refrigerators o refrigerator, is it not' s *= 10 _messages.clear() - q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) - print(q) + #q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) + #print(q) save_it() -#load_it() +load_it() #segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] #r = Recognizer() diff --git a/test/ut_utility.py b/test/ut_utility.py index 851d93b..e4b1455 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -172,7 +172,7 @@ def test_compile_model(self): model.COMPRESSED_KEY: 1, model.TOKENIZER_OPTION_KEY: 0, model.WORD_SEPARATOR_KEY: ' ', - model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}}, 'c': {'onflicting refrigerator': {model.ENTITY_KEY: [8]}}}, 't2': {'c': {'onflicting refrigerator': {model.ENTITY_KEY: [2]}}, 'a': {'w': {'e': {'some refrigerators': {model.ENTITY_KEY: [3]}}, 'w': {'some refrigerator': {model.ENTITY_KEY: [5]}}}}, 'i': {'t': {model.ENTITY_KEY: [6]}}, 'o': {model.ENTITY_KEY: [7]}}} + model.CONTENT_KEY: {'t1': {'a': {'wesome white refrigera': {' ': {'tors': {'~i': [0]}}, 't': {'or': {'x': {'~i': [1]}, '~i': [4]}}}}}, 't2': {'c': {'onflicting refrigerator': {'~i': [2, 8]}}, 'a': {'w': {'e': {'some refrigerators': {'~i': [3]}}, 'w': {'some refrigerator': {'~i': [5]}}}}, 'i': {'t': {'~i': [6]}}, 'o': {'~i': [7]}}} } ] expected_keywords = {model.CONTENT_KEY: {0: {'refrigerator', 'tors', 'it', 'refrigera', 'white', 'conflicting', 'awesome', 'refrigeratorx'}, 1: {'refrigerator', 'refrigerators', 'white', 'o', 'conflicting', 'awwsome', 'awesome'}}, model.INTERNAL_ID_KEY: {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 0, 7: 1, 8: 1}} @@ -194,7 +194,7 @@ def test_unpack_attributes(self): exclude_query = '' process_exclude = False attrs_out_query = '' - expected = {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer1'], 'some_attribute': ['A', 'B', 'C']}} + expected = {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']}} attributes = self.recognizer.unpack_attributes(cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query) assert attributes == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(attributes)) @@ -206,7 +206,7 @@ def test_check_attrs(self): exclude_query = '' process_exclude = False attrs_out_query = '' - expected = {model.ENTITY_KEY: [8], model.ATTRS_KEY: {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer1'], 'some_attribute': ['A', 'B', 'C']}}} + expected = {model.ENTITY_KEY: [8], model.ATTRS_KEY: {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']}}} got_leaf = self.recognizer.check_attrs(model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query) assert got_leaf == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(got_leaf)) @@ -266,7 +266,10 @@ def test_flatten_layers(self): # two normalization layers; first has one span; second has two spans layers = [ ( - [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], + ( + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], + [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60], [61, 61], [62, 62], [63, 63], [64, 64], [65, 65], [66, 66], [67, 67], [68, 68], [69, 69], [70, 70], [71, 71], [72, 72]] + ), [ ( [4], @@ -278,7 +281,10 @@ def test_flatten_layers(self): 'this is awwsome white refrigerator , and it is awesome white refrigerator' ), ( - [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], + ( + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], + [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [14, 14], [14, 14], [14, 14], [14, 14], [14, 14], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [47, 47], [47, 47], [47, 47], [47, 47], [47, 47], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60]] + ), [ ( [5], @@ -363,7 +369,3 @@ def test_parse(self): if __name__ == '__main__': unittest.main() - #x = TestUtility() - #x.setUp() - #x.compile_test_model() - #x.test_parse() From e3a08d0a44f30d867a056a3b5f7b8fb5ba70f964 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 5 Sep 2020 23:13:28 -0400 Subject: [PATCH 053/116] added requirements --- requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c8c5d07 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +sic>=1.0.4 --no-binary sic From ea3058c0079f28e93deb0ab25ee98399153b6e72 Mon Sep 17 00:00:00 2001 From: pgolo Date: Mon, 7 Sep 2020 01:07:45 -0400 Subject: [PATCH 054/116] renamed scripts --- scripts/linux/{unittest.sh => testing.sh} | 0 scripts/win/{unittest.bat => testing.bat} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename scripts/linux/{unittest.sh => testing.sh} (100%) mode change 100755 => 100644 rename scripts/win/{unittest.bat => testing.bat} (100%) diff --git a/scripts/linux/unittest.sh b/scripts/linux/testing.sh old mode 100755 new mode 100644 similarity index 100% rename from scripts/linux/unittest.sh rename to scripts/linux/testing.sh diff --git a/scripts/win/unittest.bat b/scripts/win/testing.bat similarity index 100% rename from scripts/win/unittest.bat rename to scripts/win/testing.bat From df38633d1d2a966c1aa05de6174f773af66de6b3 Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 9 Sep 2020 20:31:31 -0400 Subject: [PATCH 055/116] chmod --- scripts/linux/testing.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/linux/testing.sh diff --git a/scripts/linux/testing.sh b/scripts/linux/testing.sh old mode 100644 new mode 100755 From f357bbf722a20699fee4bde7e396d27fcb4b2a0b Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 10 Sep 2020 22:57:27 -0400 Subject: [PATCH 056/116] clean up --- pilsner/utility.py | 45 +++------------------------------------------ 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 2f5ad96..3858cc0 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -138,7 +138,7 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di tokens = synonym.split(word_separator) overlapping_ids[internal_id] = overlapping_ids[internal_id].union(set(tokens)) line_count += 1 - # TODO: only leave tokens unique for a given internal_id + # TODO: only leave tokens unique for a given internal_id (?) keywords = {model.CONTENT_KEY: overlapping_ids, model.INTERNAL_ID_KEY: internal_id_map} self.logger('Done compiling keywords.') return keywords @@ -310,58 +310,19 @@ def disambiguate(self, model, recognized, srcs, word_separator): tokens = {} s_tokens = {} for j in range(len(ids)): - #si[j] = 0 - #si.append(0) si[ids[j]] = 0 - #src[j] = srcs[recognized[k][4][j]] - #src.append(srcs[_recognized[k][4][j]]) src[ids[j]] = srcs[_recognized[k][4][j]] - #ei[j] = len(src[j]) - #ei.append(len(src[j])) ei[ids[j]] = len(src[ids[j]]) - if k > 0: - # !!! TODO: rather than this, take map of normalizer [k-1] and remap location on map of normalizer[k] as a boundary - #si[j] = _recognized[k-1][5][0][1] - - #si[ids[j]] = _recognized[k][6][ _recognized[k][4][j] ][_recognized[k-1][5][0][1]] - - # See above, think - #if _recognized[k-1][5][0][1] > si[ids[j]]: + # take map from normalizer [k-1] and remap location on map of normalizer[k] as a boundary if _recognized[k][7][ids[j]][_recognized[k-1][3]][1] > si[ids[j]]: - #si[ids[j]] = _recognized[k-1][5][0][1] si[ids[j]] = _recognized[k][7][ids[j]][_recognized[k-1][3]][1] - - # m = k - 1 - # while m > 0 and _recognized[k][4][j] not in _recognized[m][4]: - # m -= 1 - # if _recognized[k][4][j] in _recognized[k-1][4]: - # si[j] = _recognized[m][5][0][1] if k < len(id_list) - 1: - #ei[j] = _recognized[k+1][5][0][0] - - #ei[ids[j]] = _recognized[k][6][ _recognized[k][4][j] ][_recognized[k+1][5][0][0]] - - #if _recognized[k+1][5][0][0] < ei[ids[j]]: + # take map from normalizer [k+1] and remap location on map of normalizer[k] as a boundary if _recognized[k][7][ids[j]][_recognized[k+1][2]][0] < ei[ids[j]]: - #ei[ids[j]] = _recognized[k+1][5][0][0] ei[ids[j]] = _recognized[k][7][ids[j]][_recognized[k+1][2]][0] - # m = k + 1 - # while m < len(id_list) - 1 and _recognized[k][4][j] not in _recognized[m][4]: - # m += 1 - # if _recognized[k][4][j] in _recognized[m][4]: - # ei[j] = _recognized[m][5][0][0] - #tokens[j] = src[j][si[j]:ei[j]] - #tokens.append(src[j][si[j]:ei[j]]) - - #tokens[ids[j]] = src[j][si[j]:ei[j]] tokens[ids[j]] = src[ids[j]][si[ids[j]]:ei[ids[j]]] - - #s_tokens[j] = set(tokens[j].split(word_separator)) - #s_tokens.append(set(tokens[j].split(word_separator))) s_tokens[ids[j]] = set(tokens[ids[j]].split(word_separator)) - # tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} - # kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} tmp = {i: model[model.KEYWORDS_KEY][model.CONTENT_KEY][i] if i in model[model.KEYWORDS_KEY][model.CONTENT_KEY] else set() for i in ids} kwd = {i: tmp[i] - tmp[j] for i in tmp for j in tmp if j != i} winner_score = 0 From ed91278f5dd640e57478cb3bae9bd6d89be76bc1 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 12 Sep 2020 00:19:45 -0400 Subject: [PATCH 057/116] think --- pilsner/model.pxd | 17 +++++++++++++++++ scripts/win/makepyd.bat | 14 ++++++++++++++ test/compile.py | 8 ++++++++ 3 files changed, 39 insertions(+) create mode 100644 pilsner/model.pxd create mode 100644 scripts/win/makepyd.bat create mode 100644 test/compile.py diff --git a/pilsner/model.pxd b/pilsner/model.pxd new file mode 100644 index 0000000..f1052f5 --- /dev/null +++ b/pilsner/model.pxd @@ -0,0 +1,17 @@ +import cython + +cdef class Model(dict): + + @cython.locals( + normalizers=cython.dict, + dictionary_number=cython.int + ) + cpdef bint save(self, str filename) + + @cython.locals( + normalizers=cython.dict, + _filename=cython.str, + dictionary=cython.dict, + keywords=cython.dict + ) + cpdef load(self, str filename) diff --git a/scripts/win/makepyd.bat b/scripts/win/makepyd.bat new file mode 100644 index 0000000..375365f --- /dev/null +++ b/scripts/win/makepyd.bat @@ -0,0 +1,14 @@ +@echo off +set RUNDIR=%cd% +set ROOT=%~dp0..\.. +set ENV=.env.37 +set SRC=%ROOT%\pilsner +set DIST=%ROOT%\pyd +set TEST=%ROOT%\test +cd %ROOT% +rmdir /S /Q %ROOT%\build +rmdir /S /Q %ROOT%\cythonized +if not exist %DIST%\nul mkdir %DIST% +call %ROOT%\%ENV%\Scripts\python %TEST%\compile.py build_ext --inplace +move /Y %SRC%\*.pyd %DIST%\ +cd %RUNDIR% diff --git a/test/compile.py b/test/compile.py new file mode 100644 index 0000000..874dc19 --- /dev/null +++ b/test/compile.py @@ -0,0 +1,8 @@ +from distutils.core import setup +from Cython.Build import cythonize + +src = [ + 'pilsner/model.py' +] + +setup(ext_modules=cythonize(src, compiler_directives={'language_level': '3'}, build_dir='cythonized')) From 4f0f8f8b2dd71275c63a6d5714dd915f5ddcca59 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 12 Sep 2020 01:25:40 -0400 Subject: [PATCH 058/116] model (pxd) --- pilsner/model.pxd | 71 ++++++++++++++++++++++++++++++++++++++++++++++- pilsner/model.py | 46 +++++++++++++++--------------- 2 files changed, 94 insertions(+), 23 deletions(-) diff --git a/pilsner/model.pxd b/pilsner/model.pxd index f1052f5..8f2e45c 100644 --- a/pilsner/model.pxd +++ b/pilsner/model.pxd @@ -2,6 +2,29 @@ import cython cdef class Model(dict): + cdef public str CONTENT_KEY + cdef public str SPECS_KEY + cdef public str COMPRESSED_KEY + cdef public str TOKENIZER_OPTION_KEY + cdef public str WORD_SEPARATOR_KEY + cdef public str ENTITY_KEY + cdef public str ATTRS_KEY + cdef public str INTERNAL_ID_KEY + cdef public str DICTIONARY_KEY + cdef public str KEYWORDS_KEY + cdef public str NORMALIZER_KEY + cdef public str DEFAULT_NORMALIZER_KEY + cdef public str DATASOURCE_KEY + cdef public str DEFAULT_DATASOURCE_PATH + cdef public str DEFAULT_DATASOURCE_FILENAME + cdef public str DEFAULT_DATASOURCE + cdef public str DEFAULT_WORD_SEPARATOR + cdef public int DEFAULT_TOKENIZER_OPTION + cdef public connection + cdef public cursor + cdef public normalizer_map + cdef public sic_builder + @cython.locals( normalizers=cython.dict, dictionary_number=cython.int @@ -14,4 +37,50 @@ cdef class Model(dict): dictionary=cython.dict, keywords=cython.dict ) - cpdef load(self, str filename) + cpdef bint load(self, str filename) + + cpdef bint add_normalizer(self, str normalizer_name, str filename, bint default=*) + + cpdef bint create_recognizer_schema(self, cursor) + + @cython.locals( + children=cython.dict, + child_count=cython.int, + key=cython.str, + child=cython.dict, + next_prefix=cython.str, + comp_child=cython.dict, + comp_key=cython.str, + comp_children=cython.dict + ) + cpdef tuple pack_subtrie(self, dict trie, bint compressed, str prefix) + + @cython.locals( + ret=cython.dict, + normalizer_name=cython.str, + packed=cython.dict + ) + cpdef dict pack_trie(self, dict trie, bint compressed) + + @cython.locals( + k=cython.str + ) + cpdef store_attributes(self, int line_number, int internal_id, dict subtrie, dict specs, list columns) + + @cython.locals( + columns=cython.list, + internal_id=cython.int, + entity_id=cython.str + ) + cpdef tuple get_dictionary_line(self, dict specs, dict entity_ids, dict line_numbers, int line_number, str line, str column_separator, str column_enclosure) + + @cython.locals( + synonym=cython.str, + normalizer_name=cython.str + ) + cpdef tuple get_dictionary_synonym(self, list columns, dict specs, str word_separator, int tokenizer_option=*) + + @cython.locals( + new_trie=cython.dict + ) + cpdef dict next_trie(self, dict specs, bint compressed, int tokenizer_option, str word_separator) diff --git a/pilsner/model.py b/pilsner/model.py index c626dc7..4ae5f5a 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -9,28 +9,29 @@ class Model(dict): - CONTENT_KEY = '~content' - SPECS_KEY = '~specs' - COMPRESSED_KEY = '~compressed' - TOKENIZER_OPTION_KEY = '~tokenizer_option' - WORD_SEPARATOR_KEY = '~word_separator' - ENTITY_KEY = '~i' - ATTRS_KEY = '~p' - INTERNAL_ID_KEY = '~iid' - DICTIONARY_KEY = '~dictionary' - KEYWORDS_KEY = '~keywords' - NORMALIZER_KEY = '~normalization' - DEFAULT_NORMALIZER_KEY = '~default_normalizer' - DATASOURCE_KEY = '~datasource' - - DEFAULT_DATASOURCE_PATH = '.' - DEFAULT_DATASOURCE_FILENAME = '' - DEFAULT_DATASOURCE = '' - - DEFAULT_WORD_SEPARATOR = ' ' - DEFAULT_TOKENIZER_OPTION = 0 - def __init__(self, filename='', storage_location='', debug_mode=False, verbose_mode=False): + + self.CONTENT_KEY = '~content' + self.SPECS_KEY = '~specs' + self.COMPRESSED_KEY = '~compressed' + self.TOKENIZER_OPTION_KEY = '~tokenizer_option' + self.WORD_SEPARATOR_KEY = '~word_separator' + self.ENTITY_KEY = '~i' + self.ATTRS_KEY = '~p' + self.INTERNAL_ID_KEY = '~iid' + self.DICTIONARY_KEY = '~dictionary' + self.KEYWORDS_KEY = '~keywords' + self.NORMALIZER_KEY = '~normalization' + self.DEFAULT_NORMALIZER_KEY = '~default_normalizer' + self.DATASOURCE_KEY = '~datasource' + + self.DEFAULT_DATASOURCE_PATH = '.' + self.DEFAULT_DATASOURCE_FILENAME = '' + self.DEFAULT_DATASOURCE = '' + + self.DEFAULT_WORD_SEPARATOR = ' ' + self.DEFAULT_TOKENIZER_OPTION = 0 + self.DEFAULT_DATASOURCE_FILENAME = storage_location if self.DEFAULT_DATASOURCE_FILENAME.lower() != ':memory:': while self.DEFAULT_DATASOURCE_FILENAME == '' or os.path.exists(self.DEFAULT_DATASOURCE): @@ -129,6 +130,7 @@ def create_recognizer_schema(self, cursor): logging.debug('Creating schema for permanent storage') cursor.execute('create table attrs (n integer, iid integer, attr_name text, attr_value text);') logging.debug('Created schema for permanent storage') + return True def pack_subtrie(self, trie, compressed, prefix): if not compressed: @@ -138,7 +140,7 @@ def pack_subtrie(self, trie, compressed, prefix): if prefix == self.ENTITY_KEY: return trie, prefix children = trie - child_count = len(children) + child_count = int(len(children)) if child_count == 1: for key, child in children.items(): if key == self.ENTITY_KEY: From d65fce0e9e0167e8fb8fb88fa8c338a10cf3613c Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 15 Sep 2020 23:52:04 -0400 Subject: [PATCH 059/116] implemented insert_node, remove_node methods --- pilsner/utility.py | 38 +++++++++++++++++++++++++++++++++----- test/ut_utility.py | 23 +++++++++++++++++++++++ 2 files changed, 56 insertions(+), 5 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 3858cc0..6fb150b 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -45,6 +45,38 @@ def compile_dict_specs(self, fields): logging.debug('Done compiling specs') return specs + def insert_node(self, label, label_id, entity_id, subtrie, specs, columns, model): + for character in label: + if character not in subtrie: + subtrie[character] = {} + subtrie = subtrie[character] + model.store_attributes(label_id, entity_id, subtrie, specs, columns) + + def remove_node(self, model, label, subtrie, prev=0): + # checks that we haven't hit the end of the word + if label: + first, rest = label[0], label[1:] + current_length = len(subtrie) + next_length, boo = self.remove_node(model, rest, subtrie=subtrie[first], prev=current_length) + + # this statement avoids trimming excessively if the input is a prefix because + # if the word is a prefix, the first returned value will be greater than 1 + if boo and next_length > 1: + boo = False + + # this statement checks for the first occurrence of the current dict having more than one child + # or it checks that we've hit the bottom without trimming anything + elif boo and (current_length > 1 or not prev): + del subtrie[first] + boo = False + + return current_length, boo + + # when we do hit the end of the word, delete _end + else: + del subtrie[model.ENTITY_KEY] + return len(subtrie) + 1, True + def make_recognizer(self, model, filename, specs, word_separator, item_limit, compressed, column_separator, column_enclosure, tokenizer_option): # TODO: review for refactoring self.logger('Making recognizer using %s' % (filename)) @@ -80,11 +112,7 @@ def make_recognizer(self, model, filename, specs, word_separator, item_limit, co columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_number, line, column_separator, column_enclosure) synonym, normalizer_name = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) subtrie = trie[model.CONTENT_KEY][normalizer_name] - for character in synonym: - if character not in subtrie: - subtrie[character] = {} - subtrie = subtrie[character] - model.store_attributes(line_number, internal_id, subtrie, specs, columns) + self.insert_node(synonym, line_number, internal_id, subtrie, specs, columns, model) line_count += 1 line_number += 1 if line_count > 0 and len(trie) > 3: diff --git a/test/ut_utility.py b/test/ut_utility.py index e4b1455..45feb6e 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -69,6 +69,29 @@ def test_compile_dict_specs(self): } assert specs == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(specs)) + def test_insert_node(self): + fields = [ + {'name': 'normalizer', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, + {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, + {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, + {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} + ] + specs = self.recognizer.compile_dict_specs(fields) + model = pilsner.Model() + model.create_recognizer_schema(model.cursor) + test_trie = {} + self.recognizer.insert_node(label='the synonym', label_id=1, entity_id='10', subtrie=test_trie, specs=specs, columns=['', '', '', ''], model=model) + self.recognizer.insert_node('the synthesis', 2, '20', test_trie, specs, ['', '', '', ''], model) + expected = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'o': {'n': {'y': {'m': {'~i': [1]}}}}, 't': {'h': {'e': {'s': {'i': {'s': {'~i': [2]}}}}}}}}}}}}}} + assert test_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(test_trie)) + + def test_remove_node(self): + test_trie = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'o': {'n': {'y': {'m': {'~i': [1]}}}}, 't': {'h': {'e': {'s': {'i': {'s': {'~i': [1]}}}}}}}}}}}}}} + model = pilsner.Model() + self.recognizer.remove_node(model=model, label='the synonym', subtrie=test_trie) + expected = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'t': {'h': {'e': {'s': {'i': {'s': {'~i': [1]}}}}}}}}}}}}}} + assert test_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(test_trie)) + def test_make_recognizer(self): fields = [ {'name': 'normalizer', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, From b58f83123224684e1e2f1ef3daad8c3cbd47d3f2 Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 16 Sep 2020 00:08:31 -0400 Subject: [PATCH 060/116] remove_node() adjustments --- pilsner/utility.py | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index 6fb150b..56ef6b2 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -52,27 +52,17 @@ def insert_node(self, label, label_id, entity_id, subtrie, specs, columns, model subtrie = subtrie[character] model.store_attributes(label_id, entity_id, subtrie, specs, columns) - def remove_node(self, model, label, subtrie, prev=0): - # checks that we haven't hit the end of the word + def remove_node(self, model, label, subtrie, prev_length=0): if label: - first, rest = label[0], label[1:] + head, tail = label[0], label[1:] current_length = len(subtrie) - next_length, boo = self.remove_node(model, rest, subtrie=subtrie[first], prev=current_length) - - # this statement avoids trimming excessively if the input is a prefix because - # if the word is a prefix, the first returned value will be greater than 1 - if boo and next_length > 1: - boo = False - - # this statement checks for the first occurrence of the current dict having more than one child - # or it checks that we've hit the bottom without trimming anything - elif boo and (current_length > 1 or not prev): - del subtrie[first] - boo = False - - return current_length, boo - - # when we do hit the end of the word, delete _end + next_length, bottom = self.remove_node(model, tail, subtrie=subtrie[head], prev_length=current_length) + if bottom and next_length > 1: + bottom = False + elif bottom and (current_length > 1 or not prev_length): + del subtrie[head] + bottom = False + return current_length, bottom else: del subtrie[model.ENTITY_KEY] return len(subtrie) + 1, True From 3b43a3bcb1af4011a20d98e9c6840718066122d6 Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 16 Sep 2020 22:50:16 -0400 Subject: [PATCH 061/116] notes for insert_node(), remove_node() --- pilsner/utility.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pilsner/utility.py b/pilsner/utility.py index 56ef6b2..eb2bdbc 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -46,6 +46,7 @@ def compile_dict_specs(self, fields): return specs def insert_node(self, label, label_id, entity_id, subtrie, specs, columns, model): + # NB: only works with uncompressed trie for character in label: if character not in subtrie: subtrie[character] = {} @@ -53,6 +54,7 @@ def insert_node(self, label, label_id, entity_id, subtrie, specs, columns, model model.store_attributes(label_id, entity_id, subtrie, specs, columns) def remove_node(self, model, label, subtrie, prev_length=0): + # NB: only works with uncompressed trie if label: head, tail = label[0], label[1:] current_length = len(subtrie) From b8f0cbc29622ffe89e8d9e74be310e522bd649f8 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 18 Sep 2020 21:32:48 -0400 Subject: [PATCH 062/116] updated gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ab5d8ba..cb8f20e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ build/* cythonized/* dist/* +bin/* *.spec !**/.gitkeep -!**/.gitignore \ No newline at end of file +!**/.gitignore From 65180c1032919856e838b3a3f02771d1b1820820 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 18 Sep 2020 21:32:58 -0400 Subject: [PATCH 063/116] building scripts --- scripts/linux/buildso.sh | 15 +++++++++++++++ scripts/win/makepyd.bat | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100755 scripts/linux/buildso.sh diff --git a/scripts/linux/buildso.sh b/scripts/linux/buildso.sh new file mode 100755 index 0000000..d6d3bd9 --- /dev/null +++ b/scripts/linux/buildso.sh @@ -0,0 +1,15 @@ +RUNDIR=`pwd` +cd `dirname $0` +MYDIR=`pwd` +ROOT=${MYDIR}/../.. +ENV=.env.36 +SRC=${ROOT}/pilsner +DIST=${ROOT}/bin +TEST=${ROOT}/test +cd ${ROOT} +rm -r ${ROOT}/build +rm -r ${ROOT}/cythonized +mkdir -p ${DIST} +${ROOT}/${ENV}/bin/python3 ${TEST}/compile.py build_ext --inplace +mv ${SRC}/*.so ${DIST} +cd ${RUNDIR} diff --git a/scripts/win/makepyd.bat b/scripts/win/makepyd.bat index 375365f..32fa6fe 100644 --- a/scripts/win/makepyd.bat +++ b/scripts/win/makepyd.bat @@ -3,7 +3,7 @@ set RUNDIR=%cd% set ROOT=%~dp0..\.. set ENV=.env.37 set SRC=%ROOT%\pilsner -set DIST=%ROOT%\pyd +set DIST=%ROOT%\bin set TEST=%ROOT%\test cd %ROOT% rmdir /S /Q %ROOT%\build From fa5f6b052254f41de962b20665afd145cfbacb34 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 19 Sep 2020 00:55:34 -0400 Subject: [PATCH 064/116] pxd headers --- pilsner/model.pxd | 71 +++++++-- pilsner/utility.pxd | 346 ++++++++++++++++++++++++++++++++++++++++++++ pilsner/utility.py | 14 +- 3 files changed, 414 insertions(+), 17 deletions(-) create mode 100644 pilsner/utility.pxd diff --git a/pilsner/model.pxd b/pilsner/model.pxd index 8f2e45c..8a6f686 100644 --- a/pilsner/model.pxd +++ b/pilsner/model.pxd @@ -29,7 +29,10 @@ cdef class Model(dict): normalizers=cython.dict, dictionary_number=cython.int ) - cpdef bint save(self, str filename) + cpdef bint save( + self, + str filename + ) @cython.locals( normalizers=cython.dict, @@ -37,11 +40,22 @@ cdef class Model(dict): dictionary=cython.dict, keywords=cython.dict ) - cpdef bint load(self, str filename) + cpdef bint load( + self, + str filename + ) - cpdef bint add_normalizer(self, str normalizer_name, str filename, bint default=*) + cpdef bint add_normalizer( + self, + str normalizer_name, + str filename, + bint default=* + ) - cpdef bint create_recognizer_schema(self, cursor) + cpdef bint create_recognizer_schema( + self, + cursor + ) @cython.locals( children=cython.dict, @@ -53,34 +67,71 @@ cdef class Model(dict): comp_key=cython.str, comp_children=cython.dict ) - cpdef tuple pack_subtrie(self, dict trie, bint compressed, str prefix) + cpdef tuple pack_subtrie( + self, + dict trie, + bint compressed, + str prefix + ) @cython.locals( ret=cython.dict, normalizer_name=cython.str, packed=cython.dict ) - cpdef dict pack_trie(self, dict trie, bint compressed) + cpdef dict pack_trie( + self, + dict trie, + bint compressed + ) @cython.locals( k=cython.str ) - cpdef store_attributes(self, int line_number, int internal_id, dict subtrie, dict specs, list columns) + cpdef store_attributes( + self, + int line_number, + int internal_id, + dict subtrie, + dict specs, + list columns + ) @cython.locals( columns=cython.list, internal_id=cython.int, entity_id=cython.str ) - cpdef tuple get_dictionary_line(self, dict specs, dict entity_ids, dict line_numbers, int line_number, str line, str column_separator, str column_enclosure) + cpdef tuple get_dictionary_line( + self, + dict specs, + dict entity_ids, + dict line_numbers, + int line_number, + str line, + str column_separator, + str column_enclosure + ) @cython.locals( synonym=cython.str, normalizer_name=cython.str ) - cpdef tuple get_dictionary_synonym(self, list columns, dict specs, str word_separator, int tokenizer_option=*) + cpdef tuple get_dictionary_synonym( + self, + list columns, + dict specs, + str word_separator, + int tokenizer_option=* + ) @cython.locals( new_trie=cython.dict ) - cpdef dict next_trie(self, dict specs, bint compressed, int tokenizer_option, str word_separator) + cpdef dict next_trie( + self, + dict specs, + bint compressed, + int tokenizer_option, + str word_separator + ) diff --git a/pilsner/utility.pxd b/pilsner/utility.pxd new file mode 100644 index 0000000..4d37194 --- /dev/null +++ b/pilsner/utility.pxd @@ -0,0 +1,346 @@ +import cython + +cdef class Recognizer(): + + cdef public bint debug + cdef public bint verbose + cdef public logger + cdef public callback_status + cdef public callback_progress + + cpdef push_message( + self, + str message, + callback_function + ) + + @cython.locals( + specs=cython.dict, + i=cython.int, + field=cython.dict + ) + cpdef dict compile_dict_specs( + self, + list fields + ) + + @cython.locals( + character=cython.str + ) + cpdef insert_node( + self, + str label, + int label_id, + str entity_id, + dict subtrie, + dict specs, + list columns, + model + ) + + @cython.locals( + head=cython.str, + tail=cython.str, + current_length=cython.int, + next_length=cython.int, + bottom=cython.bint + ) + cpdef tuple remove_node( + self, + model, + str label, + dict subtrie, + int prev_length=* + ) + + @cython.locals( + entity_ids=cython.dict, + line_numbers=cython.dict, + total_bytes=cython.int, + increment_bytes=cython.int, + this_progress_position=cython.int, + last_progress_position=cython.int, + ret=cython.list, + line_count=cython.int, + line_number=cython.int, + chars_read=cython.int, + trie=cython.dict, + line=cython.str, + packed=cython.dict, + columns=cython.list, + internal_id=cython.int, + synonym=cython.str, + subtrie=cython.dict + ) + cpdef tuple make_recognizer( + self, + model, + str filename, + dict specs, + str word_separator, + int item_limit, + bint compressed, + str column_separator, + str column_enclosure, + int tokenizer_option + ) + + @cython.locals( + total_bytes=cython.int, + increment_bytes=cython.int, + this_progress_position=cython.int, + last_progress_position=cython.int, + entity_ids=cython.dict, + internal_id_map=cython.dict, + synonyms=cython.dict, + line_count=cython.int, + chars_read=cython.int, + line=cython.str, + columns=cython.list, + internal_id=cython.int, + synonym=cython.str, + overlapping_ids=cython.dict, + s=cython.str, + tokens=cython.list, + keywords=cython.dict + ) + cpdef dict make_keywords( + self, + model, + str filename, + dict specs, + dict line_numbers, + str word_separator, + bint disambiguate_all, + str column_separator, + str column_enclosure, + int tokenizer_option + ) + + @cython.locals( + tries=cython.list, + line_numbers=cython.dict, + keywords=cython.dict + ) + cpdef bint compile_model( + self, + model, + str filename, + dict specs, + str word_separator, + str column_separator, + str column_enclosure, + bint compressed=*, + int item_limit=*, + int tokenizer_option=*, + bint include_keywords=*, + bint disambiguate_all=* + ) + + @cython.locals( + branches=cython.list, + radix=cython.str, + unpacked_trie=cython.dict, + character=cython.str, + unpacked_trie_pointer=cython.dict + ) + cpdef dict unpack_trie( + self, + model, + dict packed_trie, + bint compressed + ) + + @cython.locals( + attributes=cython.dict, + include_attrs=cython.set, + exclude_attrs=cython.set, + n=cython.int, + ns=cython.set, + attr_name=cython.str, + attr_value=cython.str + ) + cpdef dict unpack_attributes( + self, + cur, + list lead_ids, + str include_query, + str exclude_query, + bint process_exclude, + str attrs_out_query + ) + + cpdef dict check_attrs( + self, + model, + dict trie_leaf, + cur, + str include_query, + str exclude_query, + bint process_exclude, + str attrs_out_query + ) + + @cython.locals( + rets=cython.list, + this_progress_position=cython.int, + last_progress_position=cython.int, + total_tries=cython.int, + progress_share=cython.int, + trie_increment=cython.int, + current_trie_index=cython.int, + trie=cython.dict, + ret=cython.list, + word_separator=cython.str, + start_index=cython.int, + end_index=cython.int, + string_so_far=cython.str, + reading_entity=cython.bint, + trie_is_compressed=cython.bint, + subtrie=cython.dict, + shorter_alternative=cython.tuple, + current_index=cython.int, + temporary_index=cython.int, + total_length=cython.int, + increment_chars=cython.int, + character=cython.str, + found_object=cython.dict, + identified=cython.tuple + ) + cpdef list spot_entities( + self, + model, + str source_string, + str normalizer_name, + str include_query=*, + str exclude_query=*, + bint process_exclude=*, + str attrs_out_query=*, + int progress_from=*, + int progress_to=* + ) + + @cython.locals( + _recognized=cython.list, + id_list=cython.list, + k=cython.int, + ids=cython.list, + si=cython.dict, + src=cython.dict, + ei=cython.dict, + tokens=cython.dict, + s_tokens=cython.dict, + j=cython.int, + tmp=cython.dict, + kwd=cython.dict, + winner_score=cython.int, + winner_id=cython.set, + kwd_score=cython.dict, + i=cython.int + ) + cpdef list disambiguate( + self, + model, + list recognized, + list srcs, + str word_separator + ) + + @cython.locals( + spans=cython.dict, + srcs=cython.list, + i=cython.int, + layer=cython.tuple, + _map=cython.dict, + _r_map=cython.dict, + _recognized=cython.list, + _src=cython.str, + span=cython.tuple, + location=cython.tuple, + new_layers=cython.list, + new_left=cython.int, + new_right=cython.int, + new_ids=cython.list, + new_attrs=cython.dict, + new_srcids=cython.list, + new_locations=cython.list, + new_map=cython.dict, + new_r_map=cython.dict, + item=cython.tuple, + ret=cython.list + ) + cpdef list flatten_layers( + self, + model, + list layers + ) + + @cython.locals( + ret=cython.dict, + all_entries=cython.list, + span=cython.tuple, + _ids=cython.list, + _content=cython.dict, + _left=cython.int, + _right=cython.int, + _id=cython.int, + _attrs=cython.dict, + _attr_name=cython.str, + _attr_value=cython.str, + filtered_entries=cython.list, + i=cython.int, + q=cython.tuple, + entry=cython.tuple, + _location=cython.tuple + ) + cpdef dict flatten_spans( + self, + list spans + ) + + @cython.locals( + sorted_segments=cython.list, + i=cython.int, + j=cython.int, + recovered=cython.bint, + ret=cython.list + ) + cpdef list reduce_spans( + self, + set segments + ) + + @cython.locals( + attributes=cython.dict, + action=cython.str, + process_exclude=cython.bint, + include_set=cython.set, + include_query=cython.str, + attr_name=cython.str, + attr_value=cython.str, + exclude_set=cython.set, + exclude_query=cython.str, + attrs_out_query=cython.str, + rets=cython.list, + total_normalizers=cython.int, + spot_progress_share=cython.int, + current_normalizer_index=cython.int, + normalizer_name=cython.str, + normalized_string=cython.str, + character_map=cython.list, + r_character_map=cython.list, + progress_from=cython.int, + progress_to=cython.int, + parsed=cython.list, + layers=cython.list, + spans=cython.dict, + locations=cython.list, + ret=cython.dict + ) + cpdef dict parse( + self, + model, + str source_string, + dict attrs_where=*, + list attrs_out=* + ) diff --git a/pilsner/utility.py b/pilsner/utility.py index eb2bdbc..0e8aebc 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -137,7 +137,7 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di self.push_message(int(100 * chars_read / total_bytes), self.callback_progress) columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, column_enclosure) internal_id_map[line_count] = internal_id - synonym, _ = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) + synonym = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option)[0] if synonym not in synonyms: synonyms[synonym] = set() synonyms[synonym].add(internal_id) @@ -154,7 +154,7 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di for line in f: columns, internal_id = model.get_dictionary_line(specs, entity_ids, line_numbers, line_count, line, column_separator, column_enclosure) if internal_id in overlapping_ids: - synonym, _ = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option) + synonym = model.get_dictionary_synonym(columns, specs, word_separator, tokenizer_option)[0] tokens = synonym.split(word_separator) overlapping_ids[internal_id] = overlapping_ids[internal_id].union(set(tokens)) line_count += 1 @@ -193,18 +193,18 @@ def unpack_trie(self, model, packed_trie, compressed): def unpack_attributes(self, cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query): attributes = {} - include = set() - exclude = set() + include_attrs = set() + exclude_attrs = set() for n in leaf_ids: rows = cur.execute('select distinct n from attrs where n = %d %s;' % (n, include_query)) for row in rows: - include.add(int(row[0])) + include_attrs.add(int(row[0])) if process_exclude: for n in leaf_ids: rows = cur.execute('select distinct n from attrs where n = %d %s;' % (n, exclude_query)) for row in rows: - exclude.add(int(row[0])) - ns = include - exclude + exclude_attrs.add(int(row[0])) + ns = include_attrs - exclude_attrs for n in ns: rows = cur.execute('select attr_name, attr_value from attrs where n = %d%s;' % (n, attrs_out_query)) if n not in attributes: From 670b20034e50d6b5653470fc79d828df4a6205da Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 19 Sep 2020 00:56:54 -0400 Subject: [PATCH 065/116] building and testiing scripts --- scripts/linux/buildso.sh | 3 +++ scripts/linux/testing.sh | 1 + scripts/win/makepyd.bat | 3 +++ scripts/win/testing.bat | 1 + test/compile.py | 3 ++- 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/linux/buildso.sh b/scripts/linux/buildso.sh index d6d3bd9..6e1342d 100755 --- a/scripts/linux/buildso.sh +++ b/scripts/linux/buildso.sh @@ -9,7 +9,10 @@ TEST=${ROOT}/test cd ${ROOT} rm -r ${ROOT}/build rm -r ${ROOT}/cythonized +rm -r ${DIST} mkdir -p ${DIST} ${ROOT}/${ENV}/bin/python3 ${TEST}/compile.py build_ext --inplace mv ${SRC}/*.so ${DIST} +cp ${SRC}/__init__.py ${DIST} +cp ${SRC}/*.xml ${DIST} cd ${RUNDIR} diff --git a/scripts/linux/testing.sh b/scripts/linux/testing.sh index ec23305..9c825ce 100755 --- a/scripts/linux/testing.sh +++ b/scripts/linux/testing.sh @@ -1,6 +1,7 @@ RUNDIR=`pwd` cd `dirname $0` MYDIR=`pwd` +${MYDIR}/buildso.sh ROOT=${MYDIR}/../.. ENV=.env.36 TEST=${ROOT}/test diff --git a/scripts/win/makepyd.bat b/scripts/win/makepyd.bat index 32fa6fe..40c8a31 100644 --- a/scripts/win/makepyd.bat +++ b/scripts/win/makepyd.bat @@ -8,7 +8,10 @@ set TEST=%ROOT%\test cd %ROOT% rmdir /S /Q %ROOT%\build rmdir /S /Q %ROOT%\cythonized +rmdir /S /Q %DIST% if not exist %DIST%\nul mkdir %DIST% call %ROOT%\%ENV%\Scripts\python %TEST%\compile.py build_ext --inplace move /Y %SRC%\*.pyd %DIST%\ +copy /Y %SRC%\__init__.py %DIST%\ +copy /Y %SRC%\*.xml %DIST%\ cd %RUNDIR% diff --git a/scripts/win/testing.bat b/scripts/win/testing.bat index ae32a49..6b09633 100644 --- a/scripts/win/testing.bat +++ b/scripts/win/testing.bat @@ -1,4 +1,5 @@ @echo off +call %~dp0\buildpyd.bat set RUNDIR=%cd% set ROOT=%~dp0..\.. set ENV=.env.37 diff --git a/test/compile.py b/test/compile.py index 874dc19..6eace6c 100644 --- a/test/compile.py +++ b/test/compile.py @@ -2,7 +2,8 @@ from Cython.Build import cythonize src = [ - 'pilsner/model.py' + 'pilsner/model.py', + 'pilsner/utility.py' ] setup(ext_modules=cythonize(src, compiler_directives={'language_level': '3'}, build_dir='cythonized')) From a1b717c8184eafacecdb53996fa53f1674bb015b Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 19 Sep 2020 00:57:13 -0400 Subject: [PATCH 066/116] testing for source code and compiled libs --- test/performance.py | 4 ++-- test/sandbox.py | 2 +- test/ut_model.py | 12 +++++++++--- test/ut_utility.py | 12 +++++++++--- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/test/performance.py b/test/performance.py index 4ed8368..edf8059 100644 --- a/test/performance.py +++ b/test/performance.py @@ -237,6 +237,6 @@ def cleanup(): if __name__ == '__main__': create_test_dataset() - perf_compile_model_save_model(['pilsner']) - perf_load_model_parse_test(['pilsner']) + perf_compile_model_save_model(['pilsner', 'bin']) + perf_load_model_parse_test(['pilsner', 'bin']) cleanup() diff --git a/test/sandbox.py b/test/sandbox.py index 4d4a633..534d6f3 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -43,7 +43,7 @@ def load_it(): s = 'this is awesome white refrigerators o refrigerator, is it not' s *= 10 _messages.clear() - #q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) + q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) #print(q) save_it() diff --git a/test/ut_model.py b/test/ut_model.py index 7a4fcaf..a7b9c19 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -1,7 +1,6 @@ import os -import sys; sys.path.insert(0, '') +import sys import unittest -import pilsner # pylint: disable=E0611,F0401 class TestModel(unittest.TestCase): @@ -168,4 +167,11 @@ def test_next_trie(self): assert got_trie == expected, 'Expected %s, got %s' % (str(expected), str(got_trie)) if __name__ == '__main__': - unittest.main() + sys.path.insert(0, '') + import pilsner # pylint: disable=E0611,F0401 + unittest.main(exit=False) + try: + import bin as pilsner # pylint: disable=E0611,F0401 + unittest.main() + except ModuleNotFoundError: + print('Could not import module from /bin, test skipped.') diff --git a/test/ut_utility.py b/test/ut_utility.py index 45feb6e..ae3b028 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -1,6 +1,5 @@ -import sys; sys.path.insert(0, '') +import sys import unittest -import pilsner # pylint: disable=E0611,F0401 class TestUtility(unittest.TestCase): @@ -391,4 +390,11 @@ def test_parse(self): assert output == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(output)) if __name__ == '__main__': - unittest.main() + sys.path.insert(0, '') + import pilsner # pylint: disable=E0611,F0401 + unittest.main(exit=False) + try: + import bin as pilsner # pylint: disable=E0611,F0401 + unittest.main() + except ModuleNotFoundError: + print('Could not import module from /bin, test skipped.') From c151f3fb748317b02adaa6346a62f93221a20bf9 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 19 Sep 2020 01:04:50 -0400 Subject: [PATCH 067/116] renamed makepyd -> buildpyd --- scripts/win/{makepyd.bat => buildpyd.bat} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scripts/win/{makepyd.bat => buildpyd.bat} (100%) diff --git a/scripts/win/makepyd.bat b/scripts/win/buildpyd.bat similarity index 100% rename from scripts/win/makepyd.bat rename to scripts/win/buildpyd.bat From 39d43831b146a9842c1ceb2079e18418d9127c3e Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 19 Sep 2020 19:34:35 -0400 Subject: [PATCH 068/116] types --- pilsner/model.pxd | 1 - pilsner/model.py | 8 ++++---- test/ut_model.py | 6 +++++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/pilsner/model.pxd b/pilsner/model.pxd index 8a6f686..08dcf8c 100644 --- a/pilsner/model.pxd +++ b/pilsner/model.pxd @@ -61,7 +61,6 @@ cdef class Model(dict): children=cython.dict, child_count=cython.int, key=cython.str, - child=cython.dict, next_prefix=cython.str, comp_child=cython.dict, comp_key=cython.str, diff --git a/pilsner/model.py b/pilsner/model.py index 4ae5f5a..7c0cfa6 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -135,20 +135,20 @@ def create_recognizer_schema(self, cursor): def pack_subtrie(self, trie, compressed, prefix): if not compressed: return trie, prefix - if type(trie) != dict: - return trie, prefix + # if type(trie) != dict: + # return trie, prefix if prefix == self.ENTITY_KEY: return trie, prefix children = trie child_count = int(len(children)) if child_count == 1: - for key, child in children.items(): + for key in children: if key == self.ENTITY_KEY: if len(prefix) > 1: return {prefix[1:]: trie}, prefix[0] return trie, prefix next_prefix = prefix + key - comp_child, comp_key = self.pack_subtrie(child, compressed, next_prefix) + comp_child, comp_key = self.pack_subtrie(children[key], compressed, next_prefix) if prefix == '': comp_children = {comp_key: comp_child} else: diff --git a/test/ut_model.py b/test/ut_model.py index a7b9c19..c096620 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -172,6 +172,10 @@ def test_next_trie(self): unittest.main(exit=False) try: import bin as pilsner # pylint: disable=E0611,F0401 - unittest.main() + #unittest.main() + ut = TestModel() + ut.setUp() + ut.test_del() + ut.tearDown() except ModuleNotFoundError: print('Could not import module from /bin, test skipped.') From ffe44e6284e7aa6b5d7ec0749a46e345d6739390 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 19 Sep 2020 21:20:13 -0400 Subject: [PATCH 069/116] model destroyer --- pilsner/model.py | 8 +++++++- test/ut_model.py | 10 +++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pilsner/model.py b/pilsner/model.py index 7c0cfa6..34fea63 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -53,12 +53,18 @@ def __init__(self, filename='', storage_location='', debug_mode=False, verbose_m if filename != '': self.load(filename) - def __del__(self): + def destroy(self): # remove all temporary resources self.connection.close() if os.path.exists(self.DEFAULT_DATASOURCE): os.remove(self.DEFAULT_DATASOURCE) + def __del__(self): + try: + self.destroy() + except: + pass + def save(self, filename): assert os.path.exists(self[self.DATASOURCE_KEY]), 'Cannot find temporary database on disk' logging.debug('Saving model "%s"' % (filename)) diff --git a/test/ut_model.py b/test/ut_model.py index c096620..01b2153 100644 --- a/test/ut_model.py +++ b/test/ut_model.py @@ -8,6 +8,7 @@ def setUp(self): self.model = pilsner.Model() def tearDown(self): + self.model.destroy() del(self.model) def test_init(self): @@ -16,10 +17,12 @@ def test_init(self): assert type(m) == pilsner.Model, 'Model is expected to have pilsner.Model type, but has %s instead' % (str(type(m))) storage = m.DEFAULT_DATASOURCE assert storage.lower() == ':memory:' or os.path.exists(storage), 'Model storage is not where it is supposed to be' + m.destroy() def test_del(self): m = pilsner.Model() storage = m.DEFAULT_DATASOURCE + m.destroy() del(m) assert 'm' not in locals(), 'Instance of Model class has not been destroyed' assert storage.lower() == ':memory:' or not os.path.exists(storage), 'Model storage is supposed to be removed once class has been destroyed' @@ -44,6 +47,7 @@ def test_load(self): another_model = pilsner.Model() another_model.load('./.test_load') assert another_model[another_model.DICTIONARY_KEY] == expected, 'Loaded model %s != saved model %s' % (str(another_model[another_model.DICTIONARY_KEY]), str(expected)) + another_model.destroy() del(another_model) os.remove('./.test_load.0.dictionary') os.remove('./.test_load.1.dictionary') @@ -172,10 +176,6 @@ def test_next_trie(self): unittest.main(exit=False) try: import bin as pilsner # pylint: disable=E0611,F0401 - #unittest.main() - ut = TestModel() - ut.setUp() - ut.test_del() - ut.tearDown() + unittest.main() except ModuleNotFoundError: print('Could not import module from /bin, test skipped.') From 3fddd44b83a21682544dddf104032bef46eff1f0 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 19 Sep 2020 22:17:47 -0400 Subject: [PATCH 070/116] pxd headers (wip) --- pilsner/model.pxd | 3 +-- pilsner/model.py | 6 ++++-- pilsner/utility.pxd | 8 ++++---- pilsner/utility.py | 2 +- test/ut_utility.py | 23 +++++++++++++++-------- 5 files changed, 25 insertions(+), 17 deletions(-) diff --git a/pilsner/model.pxd b/pilsner/model.pxd index 08dcf8c..d3655ec 100644 --- a/pilsner/model.pxd +++ b/pilsner/model.pxd @@ -62,13 +62,12 @@ cdef class Model(dict): child_count=cython.int, key=cython.str, next_prefix=cython.str, - comp_child=cython.dict, comp_key=cython.str, comp_children=cython.dict ) cpdef tuple pack_subtrie( self, - dict trie, + trie, bint compressed, str prefix ) diff --git a/pilsner/model.py b/pilsner/model.py index 34fea63..49d8761 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -154,6 +154,8 @@ def pack_subtrie(self, trie, compressed, prefix): return {prefix[1:]: trie}, prefix[0] return trie, prefix next_prefix = prefix + key + if not isinstance(children[key], dict): + return children[key], next_prefix comp_child, comp_key = self.pack_subtrie(children[key], compressed, next_prefix) if prefix == '': comp_children = {comp_key: comp_child} @@ -162,8 +164,8 @@ def pack_subtrie(self, trie, compressed, prefix): return comp_children, comp_key else: comp_children = {} - for key, child in children.items(): - comp_child, comp_key = self.pack_subtrie(child, compressed, key) + for key in children: + comp_child, comp_key = self.pack_subtrie(children[key], compressed, key) comp_children[comp_key] = comp_child if len(prefix) > 1: comp_children = {prefix[0]: {prefix[1:]: comp_children}} diff --git a/pilsner/utility.pxd b/pilsner/utility.pxd index 4d37194..320b3fc 100644 --- a/pilsner/utility.pxd +++ b/pilsner/utility.pxd @@ -10,7 +10,7 @@ cdef class Recognizer(): cpdef push_message( self, - str message, + message, callback_function ) @@ -31,7 +31,7 @@ cdef class Recognizer(): self, str label, int label_id, - str entity_id, + int entity_id, dict subtrie, dict specs, list columns, @@ -251,8 +251,8 @@ cdef class Recognizer(): srcs=cython.list, i=cython.int, layer=cython.tuple, - _map=cython.dict, - _r_map=cython.dict, + _map=cython.list, + _r_map=cython.list, _recognized=cython.list, _src=cython.str, span=cython.tuple, diff --git a/pilsner/utility.py b/pilsner/utility.py index 0e8aebc..cb8fdf7 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -492,7 +492,7 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): current_normalizer_index += 1 layers = self.flatten_layers(model, rets) spans = self.flatten_spans(layers) - locations = self.reduce_spans(spans.keys()) + locations = self.reduce_spans(set(spans.keys())) ret = {location: spans[location] for location in locations} self.logger('Done parsing text.') return ret diff --git a/test/ut_utility.py b/test/ut_utility.py index ae3b028..ff63988 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -5,9 +5,12 @@ class TestUtility(unittest.TestCase): def setUp(self): self.recognizer = pilsner.Recognizer() + self.model = pilsner.Model() def tearDown(self): del(self.recognizer) + self.model.destroy() + del(self.model) def compile_test_model(self): fields = [ @@ -17,7 +20,7 @@ def compile_test_model(self): {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] specs = self.recognizer.compile_dict_specs(fields) - model = pilsner.Model() + model = self.model model.add_normalizer('t1', 'test/assets/tokenizer1.xml') model.add_normalizer('t2', 'test/assets/tokenizer2.xml') model.normalizer_map = { @@ -76,17 +79,17 @@ def test_insert_node(self): {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] specs = self.recognizer.compile_dict_specs(fields) - model = pilsner.Model() + model = self.model model.create_recognizer_schema(model.cursor) test_trie = {} - self.recognizer.insert_node(label='the synonym', label_id=1, entity_id='10', subtrie=test_trie, specs=specs, columns=['', '', '', ''], model=model) - self.recognizer.insert_node('the synthesis', 2, '20', test_trie, specs, ['', '', '', ''], model) + self.recognizer.insert_node(label='the synonym', label_id=1, entity_id=10, subtrie=test_trie, specs=specs, columns=['', '', '', ''], model=model) + self.recognizer.insert_node('the synthesis', 2, 20, test_trie, specs, ['', '', '', ''], model) expected = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'o': {'n': {'y': {'m': {'~i': [1]}}}}, 't': {'h': {'e': {'s': {'i': {'s': {'~i': [2]}}}}}}}}}}}}}} assert test_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(test_trie)) def test_remove_node(self): test_trie = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'o': {'n': {'y': {'m': {'~i': [1]}}}}, 't': {'h': {'e': {'s': {'i': {'s': {'~i': [1]}}}}}}}}}}}}}} - model = pilsner.Model() + model = self.model self.recognizer.remove_node(model=model, label='the synonym', subtrie=test_trie) expected = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'t': {'h': {'e': {'s': {'i': {'s': {'~i': [1]}}}}}}}}}}}}}} assert test_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(test_trie)) @@ -99,7 +102,7 @@ def test_make_recognizer(self): {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] specs = self.recognizer.compile_dict_specs(fields) - model = pilsner.Model() + model = self.model got_recognizer, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) expected_recognizer = [ { @@ -144,7 +147,7 @@ def test_make_keywords(self): {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] specs = self.recognizer.compile_dict_specs(fields) - model = pilsner.Model() + model = self.model _, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', column_enclosure='', tokenizer_option=0) expected = { @@ -372,7 +375,7 @@ def test_flatten_spans(self): assert flattened == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(flattened)) def test_reduce_spans(self): - segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] + segments = set([tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])]) expected = [tuple([1, 6])] reduced = self.recognizer.reduce_spans(segments) assert reduced == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(reduced)) @@ -396,5 +399,9 @@ def test_parse(self): try: import bin as pilsner # pylint: disable=E0611,F0401 unittest.main() + # x = TestUtility() + # x.setUp() + # x.compile_test_model() + # x.tearDown() except ModuleNotFoundError: print('Could not import module from /bin, test skipped.') From d89bed1e4c7dbd0aa1a567fc12a8198cd6e9aacc Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 20 Sep 2020 00:33:58 -0400 Subject: [PATCH 071/116] destroy model after performance testing --- test/performance.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/performance.py b/test/performance.py index edf8059..35640e0 100644 --- a/test/performance.py +++ b/test/performance.py @@ -151,6 +151,7 @@ def perf_compile_model_save_model(modules_to_test): """ % (x), stmt=""" recognizer.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) +model.destroy() """, number=n ) @@ -177,6 +178,7 @@ def perf_compile_model_save_model(modules_to_test): """ % (x), stmt=""" model.save('.test-model') +model.destroy() """, number=n ) @@ -196,6 +198,7 @@ def perf_load_model_parse_test(modules_to_test): """ % (x), stmt=""" model.load('.test-model') +model.destroy() """, number=n ) @@ -217,6 +220,7 @@ def perf_load_model_parse_test(modules_to_test): """ % (x), stmt=""" found = recognizer.parse(model, test_text) +model.destroy() """, number=n ) From 42fadf71f6ab812dd99b142965b9f9260e609b69 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 20 Sep 2020 00:34:17 -0400 Subject: [PATCH 072/116] explicit type conversion --- pilsner/utility.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index cb8fdf7..c3af781 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -57,7 +57,7 @@ def remove_node(self, model, label, subtrie, prev_length=0): # NB: only works with uncompressed trie if label: head, tail = label[0], label[1:] - current_length = len(subtrie) + current_length = int(len(subtrie)) next_length, bottom = self.remove_node(model, tail, subtrie=subtrie[head], prev_length=current_length) if bottom and next_length > 1: bottom = False @@ -90,7 +90,7 @@ def make_recognizer(self, model, filename, specs, word_separator, item_limit, co chars_read = 0 trie = model.next_trie(specs, compressed, tokenizer_option, word_separator) for line in f: - chars_read += len(line) + chars_read += int(len(line)) this_progress_position = int(chars_read / increment_bytes) if this_progress_position != last_progress_position: last_progress_position = this_progress_position @@ -130,7 +130,7 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di line_count = 0 chars_read = 0 for line in f: - chars_read += len(line) + chars_read += int(len(line)) this_progress_position = int(chars_read / increment_bytes) if this_progress_position != last_progress_position: last_progress_position = this_progress_position @@ -218,7 +218,7 @@ def unpack_attributes(self, cur, leaf_ids, include_query, exclude_query, process def check_attrs(self, model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query): trie_leaf[model.ATTRS_KEY] = self.unpack_attributes(cur, trie_leaf[model.ENTITY_KEY], include_query, exclude_query, process_exclude, attrs_out_query) - if len(trie_leaf[model.ATTRS_KEY]) == 0: + if int(len(trie_leaf[model.ATTRS_KEY])) == 0: return {} return trie_leaf @@ -242,7 +242,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', shorter_alternative = None current_index = 0 temporary_index = -1 - total_length = len(source_string) + total_length = int(len(source_string)) increment_chars = int(total_length / progress_share) if total_length > progress_share else total_length - 1 while current_index < total_length: this_progress_position = int(current_index / increment_chars / total_tries) @@ -478,7 +478,7 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): self.logger('Parsing text...') self.push_message('Parsing text', self.callback_status) rets = [] - total_normalizers = len(model[model.NORMALIZER_KEY]) + total_normalizers = int(len(model[model.NORMALIZER_KEY])) spot_progress_share = int(100 / total_normalizers) current_normalizer_index = 0 for normalizer_name in model[model.NORMALIZER_KEY]: From 170cbb200bba8400b8efb10b0db5e7b80f0c662f Mon Sep 17 00:00:00 2001 From: Pavel Golovatenko-Abramov Date: Mon, 21 Sep 2020 00:49:02 -0400 Subject: [PATCH 073/116] docstrings for model.py (wip) --- pilsner/model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pilsner/model.py b/pilsner/model.py index 49d8761..7885d2e 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -8,6 +8,7 @@ import shutil class Model(dict): + """This class is a dict that stores tries and metadata, and provides functions and methods associated with the storage.""" def __init__(self, filename='', storage_location='', debug_mode=False, verbose_mode=False): @@ -54,7 +55,7 @@ def __init__(self, filename='', storage_location='', debug_mode=False, verbose_m self.load(filename) def destroy(self): - # remove all temporary resources + """Close connection, remove temporary database""" self.connection.close() if os.path.exists(self.DEFAULT_DATASOURCE): os.remove(self.DEFAULT_DATASOURCE) From 6ec889873094ebeca32464c580decfbc785a5c45 Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 22 Sep 2020 22:54:39 -0400 Subject: [PATCH 074/116] docstrings for model.py --- pilsner/model.py | 96 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/pilsner/model.py b/pilsner/model.py index 7885d2e..82e0e11 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -11,7 +11,12 @@ class Model(dict): """This class is a dict that stores tries and metadata, and provides functions and methods associated with the storage.""" def __init__(self, filename='', storage_location='', debug_mode=False, verbose_mode=False): + """Creates Model instance. + Args: + str *filename*: if provided, loads model from disk, see load() method + str *storage_location*: + """ self.CONTENT_KEY = '~content' self.SPECS_KEY = '~specs' self.COMPRESSED_KEY = '~compressed' @@ -55,18 +60,31 @@ def __init__(self, filename='', storage_location='', debug_mode=False, verbose_m self.load(filename) def destroy(self): - """Close connection, remove temporary database""" + """Closes connection, removes temporary database.""" self.connection.close() if os.path.exists(self.DEFAULT_DATASOURCE): os.remove(self.DEFAULT_DATASOURCE) def __del__(self): + """Desctructor""" try: self.destroy() except: pass def save(self, filename): + """Saves model to disk. + Note: this will throw exception if temporary database is stored in memory. + + Args: + str *filename*: path and filename prefix for names of files that will be written. + + Example: model.save('filename') will write the following files: + filename.normalizers + filename.*.dictionary (can be multiple files, depends on model settings) + filename.keywords + filename.attributes + """ assert os.path.exists(self[self.DATASOURCE_KEY]), 'Cannot find temporary database on disk' logging.debug('Saving model "%s"' % (filename)) self.cursor.close() @@ -95,6 +113,17 @@ def save(self, filename): return True def load(self, filename): + """Loads model from disk. + + Args: + str *filename*: path and filename prefix for names of files that represent the model on disk. + + Example: model.load('filename') will attempt reading following files: + filename.normalizers + filename.*.dictionary + filename.keywords + filename.attributes + """ logging.debug('Loading model "%s"' % (filename)) self[self.DATASOURCE_KEY] = '%s.attributes' % (filename) self.cursor.close() @@ -124,6 +153,13 @@ def load(self, filename): return True def add_normalizer(self, normalizer_name, filename, default=False): + """Adds normalization unit to the model. + + Args: + str *normalizer_name*: name of normalization unit + str *filename*: path and name of configuration file + bool *default*: if True, model will use this normalization unit by default + """ logging.debug('Adding normalizer "%s" from "%s"' % (normalizer_name, filename)) normalizer = self.sic_builder.build_normalizer(filename) self[self.NORMALIZER_KEY][normalizer_name] = normalizer @@ -134,12 +170,25 @@ def add_normalizer(self, normalizer_name, filename, default=False): return True def create_recognizer_schema(self, cursor): + """Creates tables in the database that stores attributes of entities. + + Args: + sqlite3.connect.cursor *cursor*: cursor to use for throwing queries + """ logging.debug('Creating schema for permanent storage') cursor.execute('create table attrs (n integer, iid integer, attr_name text, attr_value text);') logging.debug('Created schema for permanent storage') return True def pack_subtrie(self, trie, compressed, prefix): + """Recursively compresses a trie. + Returns tuple (dict compressed_trie, str prefix). + + Args: + dict *trie*: object representing a trie + bool *compressed*: whether a given trie must be compressed + str *prefix*: compressed prefix of a branch + """ if not compressed: return trie, prefix # if type(trie) != dict: @@ -174,6 +223,13 @@ def pack_subtrie(self, trie, compressed, prefix): return comp_children, prefix def pack_trie(self, trie, compressed): + """Compresses all tries in a model. + Returns dict that contains all compressed tries. + + Args: + dict *trie*: part of model that contains tries + bool *compressed*: whether tries in a given structure must be compressed + """ ret = {k: trie[k] for k in trie if k != self.CONTENT_KEY} ret[self.CONTENT_KEY] = {} for normalizer_name in trie[self.CONTENT_KEY]: @@ -182,6 +238,15 @@ def pack_trie(self, trie, compressed): return ret def store_attributes(self, line_number, internal_id, subtrie, specs, columns): + """Flags terminus of a trie and writes attributes of an entry to the temporary database. + + Args: + int *line_number*: number of line in a file that is supposed to be being read + int *internal_id*: internally assigned ID of an entity + dict *subtrie*: subtrie that is being constructed + dict *specs*: specs for columns in a file that is supposed to be being read + list *columns*: values in columns (attributes) in a file that is supposed to be being read + """ if self.ENTITY_KEY not in subtrie: subtrie[self.ENTITY_KEY] = [] subtrie[self.ENTITY_KEY].append(line_number) @@ -194,6 +259,18 @@ def store_attributes(self, line_number, internal_id, subtrie, specs, columns): _ = [self.cursor.execute('insert into attrs (n, iid, attr_name, attr_value) select ?, ?, ?, ?;', (line_number, internal_id, k, s)) for s in set(columns[specs['fields'][k][0]].split(specs['fields'][k][1]))] def get_dictionary_line(self, specs, entity_ids, line_numbers, line_number, line, column_separator, column_enclosure): + """Extracts values of columns in a file and associates them with internal entity ID. + Returns tuple (list *column_values*, int *internal_id*). + + Args: + dict *specs*: specs for columns in a file that is supposed to be being read + dict *entity_ids*: map between real entity IDs and internally generated entity IDs + dict *line_numbers*: map between line numbers and internally generated entity IDs + int *line_number*: number of line that is being parsed + str *line*: line that is being parsed + str *column_separator*: delimiter to split columns + str *column_enclosure*: any string that columns are supposed to be trimmed of + """ columns = [x.strip(column_enclosure) for x in line.strip('\n').split(column_separator)] if line_number in line_numbers: internal_id = line_numbers[line_number] @@ -206,6 +283,15 @@ def get_dictionary_line(self, specs, entity_ids, line_numbers, line_number, line return columns, internal_id def get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_option=0): + """Extracts normalized synonym from list of column values. + Returns tuple (str *normalized_synonym*, str *normalization_unit_name*). + + Args: + list *columns*: list of columns in a file that is supposed to be being read + dict *specs*: specs for columns in a file that is supposed to be being read + str *word_separator*: word separator to use for tokenization + int *tokenizer_option*: tokenizer mode (see documentation for normalization for details) + """ synonym, normalizer_name = columns[specs['value'][0]], None if self[self.NORMALIZER_KEY]: if specs['tokenizer']: @@ -220,6 +306,14 @@ def get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_optio return synonym, normalizer_name def next_trie(self, specs, compressed, tokenizer_option, word_separator): + """Creates and returns dict that contains empty trie and metadata. + + Args: + dict *specs*: specs for columns in a file that is supposed to be being read for trie construction + bool *compressed*: whether constructed trie(s) must be compressed + int *tokenizer_option*: tokenizer mode (see documentation for normalization for details) + str *word_separator*: word separator to use for tokenization + """ if len(self[self.NORMALIZER_KEY]) == 0: self.add_normalizer('bypass', '%s/normalizer.bypass.xml' % (os.path.abspath(os.path.dirname(__file__)))) new_trie = { From 6cfdf7a7dd44fec0cd7e4be6d824d8b91ea9b8cc Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 24 Sep 2020 00:50:42 -0400 Subject: [PATCH 075/116] docstring for utility (wip) --- pilsner/model.py | 2 +- pilsner/utility.py | 60 +++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/pilsner/model.py b/pilsner/model.py index 82e0e11..ca2d94d 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -66,7 +66,7 @@ def destroy(self): os.remove(self.DEFAULT_DATASOURCE) def __del__(self): - """Desctructor""" + """Desctructor.""" try: self.destroy() except: diff --git a/pilsner/utility.py b/pilsner/utility.py index c3af781..e03611a 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -2,8 +2,17 @@ import os class Recognizer(): + """This class is the utility for named entity recognition.""" def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, callback_progress=None): + """Creates Recognizer instance. + + Args: + bool *debug_mode*: toggle logger level to INFO + bool *verbose_mode*: toggle logger level to DEBUG + function *callback_status*: callback function that message about status can be passed to + function *callback_progress*: callback function that message about progress can be passed to + """ logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s') self.debug = debug_mode self.verbose = verbose_mode @@ -18,19 +27,37 @@ def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, c logging.debug('Recognizer class has been initialized') def __del__(self): - # remove all temporary resources + """Destructor.""" pass def push_message(self, message, callback_function): + """Passes message to callback_function. + + Args: + str *message*: message to pass + function *callback_function*: function to take *message* as an argument + """ if callback_function is not None: callback_function(message) def compile_dict_specs(self, fields): + """Reshapes list of fields' specifications into dict used by other members of Recognizer class. + Returns new dict with specifications. + + Args: + list *fields*: list of fields (columns) + + Each member of *fields* list must be a dict as follows: { + 'name': 'str name of attribute', + 'include': bool True for including this column else False, + 'delimiter': 'str delimiter in case column stores concatenated lists', + 'id_flag': bool True if column stores entity ID else False, + 'normalizer_flag': bool True if column stores string normalizer tag else False, + 'value_flag': bool True if column stores string label to recognize else False + } + """ logging.debug('Compiling specs') specs = {'fields': {}, 'id': None, 'tokenizer': None, 'value': None} - # {'name': 'DType', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, - # specs = {'DType': (0, None, False, True, False), 'MSID': (1, None, True, False, False), 'value': (2, None, False, False, True)} - # specs = {'attr_name': (column_index, delimiter, normalizer_flag, value_flag)} for i in range(0, len(fields)): field = fields[i] if not field['include']: @@ -46,7 +73,19 @@ def compile_dict_specs(self, fields): return specs def insert_node(self, label, label_id, entity_id, subtrie, specs, columns, model): - # NB: only works with uncompressed trie + """Inserts string into trie structure represented by dict object. + + Args: + str *label*: string to insert + int *label_id*: ID of the label + int *entity_id*: ID of the entity given label belongs to + dict *subtrie*: object representing the trie + dict *specs*: dictionary specifications + list *columns*: list of values associated with the entity + *model*: instance of Model class handling the trie and metadata + + NB: only works with uncompressed trie! + """ for character in label: if character not in subtrie: subtrie[character] = {} @@ -54,7 +93,16 @@ def insert_node(self, label, label_id, entity_id, subtrie, specs, columns, model model.store_attributes(label_id, entity_id, subtrie, specs, columns) def remove_node(self, model, label, subtrie, prev_length=0): - # NB: only works with uncompressed trie + """Removes string from trie structure represented by dict object. + + Args: + *model*: instance of Model class handling the trie and metadata + str *label*: string to remove + dict *subtrie*: object representing the trie + int *pref_length*: length of substring found in the trie (used with recursion) + + NB: only works with uncompressed trie! + """ if label: head, tail = label[0], label[1:] current_length = int(len(subtrie)) From e52a36f767b30250209d21eedf5e3ac53201dc5a Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 25 Sep 2020 01:04:32 -0400 Subject: [PATCH 076/116] docstrings for utility --- pilsner/utility.py | 78 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/pilsner/utility.py b/pilsner/utility.py index e03611a..a1d52c2 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -96,7 +96,7 @@ def remove_node(self, model, label, subtrie, prev_length=0): """Removes string from trie structure represented by dict object. Args: - *model*: instance of Model class handling the trie and metadata + Model *model*: instance of Model class handling the trie and metadata str *label*: string to remove dict *subtrie*: object representing the trie int *pref_length*: length of substring found in the trie (used with recursion) @@ -118,6 +118,20 @@ def remove_node(self, model, label, subtrie, prev_length=0): return len(subtrie) + 1, True def make_recognizer(self, model, filename, specs, word_separator, item_limit, compressed, column_separator, column_enclosure, tokenizer_option): + """Reads tab-delimited text file, populates dict objects representing tries, and fills database associated with a given Model instance according to provided specs. + Returns tuple(list *tries*, dict *line_numbers*) where *tries* are populated dicts representing tries, *line_numbers* is dict that maps line numbers from the text file to internally generated entity IDs. + + Args: + Model *model*: Model instance to populate + str *filename*: path and name of tab-delimited text file with the content + dict *specs*: specifications for columns in the text file + str *word_separator*: string considered to be the word delimiter + int *item_limit*: maximum number of rows to stuff in a single trie of a model + bool *compressed*: whether given tries must be compressed + str *column_separator*: delimiter to split columns + str *column_enclosure*: any string that columns are supposed to be trimmed of + int *tokenizer_option*: tokenizer mode (see documentation for normalization for details) + """ # TODO: review for refactoring self.logger('Making recognizer using %s' % (filename)) self.push_message('Making recognizer using %s' % (filename), self.callback_status) @@ -165,6 +179,20 @@ def make_recognizer(self, model, filename, specs, word_separator, item_limit, co return ret, line_numbers def make_keywords(self, model, filename, specs, line_numbers, word_separator, disambiguate_all, column_separator, column_enclosure, tokenizer_option): + """Generates dictionary of keywords for a given model using tab-delimited text file that contains entity IDs and synonyms. Typically, for a given model it is the same file `make_recognizer()` function is processing. + Returns dict object can be plugged into model. + + Args: + Model *model*: Model instance to use + str *filename*: path and name of tab-delimited text file with the content + dict *specs*: specifications for columns in the text file + dict *line_numbers*: dict that maps line numbers from the text file to internally generated entity IDs + str *word_separator*: string considered to be the word delimiter + bool *disambiguate_all*: whether generate keywords for all entities or only for those having conflicting synonyms + str *column_separator*: delimiter to split columns + str *column_enclosure*: any string that columns are supposed to be trimmed of + int *tokenizer_option*: tokenizer mode (see documentation for normalization for details) + """ self.logger('Making keywords using %s... ' % (filename)) self.push_message('Making keywords from {0}'.format(filename), self.callback_status) total_bytes = os.path.getsize(filename) + 1 @@ -212,6 +240,21 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di return keywords def compile_model(self, model, filename, specs, word_separator, column_separator, column_enclosure, compressed=True, item_limit=0, tokenizer_option=0, include_keywords=False, disambiguate_all=False): + """Populates given Model instance with tries and keywords. + + Args: + Model *model*: Model instance to populate + str *filename*: path and name of tab-delimited text file with the content + dict *specs*: specifications for columns in the text file + str *word_separator*: string considered to be the word delimiter + str *column_separator*: delimiter to split columns + str *column_enclosure*: any string that columns are supposed to be trimmed of + bool *compressed*: whether given tries must be compressed + int *item_limit*: maximum number of rows to stuff in a single trie of a model + int *tokenizer_option*: tokenizer mode (see documentation for normalization for details) + bool *include_keywords*: whether generate keywords at all or not + bool *disambiguate_all*: whether generate keywords for all entities or only for those having conflicting synonyms + """ tries, line_numbers = self.make_recognizer(model, filename, specs, word_separator, item_limit, compressed, column_separator, column_enclosure, tokenizer_option) keywords = {model.CONTENT_KEY: {}, model.INTERNAL_ID_KEY: {}} if include_keywords: @@ -221,7 +264,13 @@ def compile_model(self, model, filename, specs, word_separator, column_separator return True def unpack_trie(self, model, packed_trie, compressed): - """TODO: add docstring here + """Unpacks compressed trie. + Returns dict object representing unpacked trie. + + Args: + Model *model*: Model instance to use + dict *packed_trie*: trie to process + bool *compressed*: whether given trie is already compressed """ if not compressed or len(packed_trie) != 1: return packed_trie @@ -240,6 +289,17 @@ def unpack_trie(self, model, packed_trie, compressed): return unpacked_trie def unpack_attributes(self, cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query): + """Loads attributes for internal IDs found in a leaf of a trie from a model's database using associated sqlite3.connect.cursor object. + Returns dict object that maps internal IDs with attributes. + + Args: + sqlite3.connect.cursor *cur*: cursor to use for throwing queries + list *leaf_ids*: internal IDs found in a trie leaf + str *include_query*: part of SQL query to filter something in + str *exclude_query*: part of SQL query to filter something out + bint *process_exclude*: whether use *exclude_query* at all + str *attrs_out_query*: part of SQL query that specifies which attributes to eventually return + """ attributes = {} include_attrs = set() exclude_attrs = set() @@ -265,12 +325,16 @@ def unpack_attributes(self, cur, leaf_ids, include_query, exclude_query, process return attributes def check_attrs(self, model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query): + """ + """ trie_leaf[model.ATTRS_KEY] = self.unpack_attributes(cur, trie_leaf[model.ENTITY_KEY], include_query, exclude_query, process_exclude, attrs_out_query) if int(len(trie_leaf[model.ATTRS_KEY])) == 0: return {} return trie_leaf def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query='', progress_from=0, progress_to=100): + """ + """ # TODO: review for refactoring self.logger('Analyzing "%s"... ' % (source_string)) rets = [] @@ -366,6 +430,8 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', return rets def disambiguate(self, model, recognized, srcs, word_separator): + """ + """ _recognized = sorted(recognized, key=lambda x: x[2]) id_list = [[model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] for x in rec[0] if x in model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]] for rec in _recognized] for k in range(len(id_list)): @@ -407,6 +473,8 @@ def disambiguate(self, model, recognized, srcs, word_separator): return _recognized def flatten_layers(self, model, layers): + """ + """ spans = {} srcs = [] for i in range(0, len(layers)): @@ -447,6 +515,8 @@ def flatten_layers(self, model, layers): return ret def flatten_spans(self, spans): + """ + """ ret = {} all_entries = [] for span in spans: @@ -474,6 +544,8 @@ def flatten_spans(self, spans): return ret def reduce_spans(self, segments): + """ + """ def intersects(segment1, segment2): return segment2[0] >= segment1[0] and segment2[0] <= segment1[1] def length(segment): @@ -500,6 +572,8 @@ def length(segment): return ret def parse(self, model, source_string, attrs_where=None, attrs_out=None): + """ + """ attributes = attrs_where if attributes is None: attributes = {} From d3a874bdea249cc9ffa5e0957c5c216a5dab77f1 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 26 Sep 2020 01:31:31 -0400 Subject: [PATCH 077/116] docstrings --- pilsner/model.py | 6 +- pilsner/utility.py | 135 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 127 insertions(+), 14 deletions(-) diff --git a/pilsner/model.py b/pilsner/model.py index ca2d94d..8f7ab1d 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -78,7 +78,7 @@ def save(self, filename): Args: str *filename*: path and filename prefix for names of files that will be written. - + Example: model.save('filename') will write the following files: filename.normalizers filename.*.dictionary (can be multiple files, depends on model settings) @@ -117,7 +117,7 @@ def load(self, filename): Args: str *filename*: path and filename prefix for names of files that represent the model on disk. - + Example: model.load('filename') will attempt reading following files: filename.normalizers filename.*.dictionary @@ -307,7 +307,7 @@ def get_dictionary_synonym(self, columns, specs, word_separator, tokenizer_optio def next_trie(self, specs, compressed, tokenizer_option, word_separator): """Creates and returns dict that contains empty trie and metadata. - + Args: dict *specs*: specs for columns in a file that is supposed to be being read for trie construction bool *compressed*: whether constructed trie(s) must be compressed diff --git a/pilsner/utility.py b/pilsner/utility.py index a1d52c2..401aa01 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -46,7 +46,7 @@ def compile_dict_specs(self, fields): Args: list *fields*: list of fields (columns) - + Each member of *fields* list must be a dict as follows: { 'name': 'str name of attribute', 'include': bool True for including this column else False, @@ -83,8 +83,8 @@ def insert_node(self, label, label_id, entity_id, subtrie, specs, columns, model dict *specs*: dictionary specifications list *columns*: list of values associated with the entity *model*: instance of Model class handling the trie and metadata - - NB: only works with uncompressed trie! + + NB: only works with uncompressed trie. """ for character in label: if character not in subtrie: @@ -101,7 +101,7 @@ def remove_node(self, model, label, subtrie, prev_length=0): dict *subtrie*: object representing the trie int *pref_length*: length of substring found in the trie (used with recursion) - NB: only works with uncompressed trie! + NB: only works with uncompressed trie. """ if label: head, tail = label[0], label[1:] @@ -325,7 +325,16 @@ def unpack_attributes(self, cur, leaf_ids, include_query, exclude_query, process return attributes def check_attrs(self, model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query): - """ + """Attaches attributes to a given trie leaf and returns it. + + Args: + Model *model*: Model instance to use + dict *trie_leaf*: terminal node of a trie to attach attributes to + sqlite3.connect.cursor *cur*: cursor to use for throwing queries + str *include_query*: part of SQL query to filter something in + str *exclude_query*: part of SQL query to filter something out + bint *process_exclude*: whether use *exclude_query* at all + str *attrs_out_query*: part of SQL query that specifies which attributes to eventually return """ trie_leaf[model.ATTRS_KEY] = self.unpack_attributes(cur, trie_leaf[model.ENTITY_KEY], include_query, exclude_query, process_exclude, attrs_out_query) if int(len(trie_leaf[model.ATTRS_KEY])) == 0: @@ -333,7 +342,32 @@ def check_attrs(self, model, trie_leaf, cur, include_query, exclude_query, proce return trie_leaf def spot_entities(self, model, source_string, normalizer_name, include_query='', exclude_query='', process_exclude=False, attrs_out_query='', progress_from=0, progress_to=100): - """ + """Zooms through a string, finds boundaries of synonyms stored in model's trie, and pulls associated attributes from the storage. + Returns list(list(tuple *datapoint*)) where datapoint is tuple(list *ids*, dict *attributes*, str *found_synonym*, int *begin*, int *end*) where *ids* are internal IDs of entities, *attributes* is dict {id_entity: {attribute: [value]}}, *found_synonym* is identified substring, *begin* and *end* are indexes of first and last character of recognized substring. + + Args: + Model *model*: Model instance to use + str *source_string*: string to parse + str *normalizer_name*: name of normalization unit (used to pick the right trie from the model; supposed to match normalization unit applied to *source_string*) + str *include_query*: part of SQL query to filter something in + str *exclude_query*: part of SQL query to filter something out + bint *process_exclude*: whether use *exclude_query* at all + str *attrs_out_query*: part of SQL query that specifies which attributes to eventually return + int *progress_from*: initial progress value to report + int *progress_to*: maximum progress value to report + + Data structure for returbed value: + [ + ( + [int internal_ids], + { + int internal_id: {str attribute_name: [str attribute_value]} + }, + str identified_label, + int unmapped_begin, + int unmapped_end + ) + ] """ # TODO: review for refactoring self.logger('Analyzing "%s"... ' % (source_string)) @@ -430,7 +464,30 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', return rets def disambiguate(self, model, recognized, srcs, word_separator): - """ + """For a list of identified datapoints, weighs context of identified labels that belong to more than 1 entity and keeps heaviest ones. + Returns filtered list of identified datapoints. + + Args: + Model *model*: Model instance to use + list *recognized*: identified datapoints + list *srcs*: list of all normalized values of original string (using all normalization units applied) + str *word_separator*: string to be considered a word separator + + Data structure for *recognized* (input) and for returned value: + [ + ( + [int internal_ids], + { + int intenal_id: {str attribute_name: [str attribute_value]} + }, + int mapped_begin, + int mapped_end, + [int indexes_in_srcs], + [ + (int unmapped_begin, int unmapped_end) + ] + ) + ] """ _recognized = sorted(recognized, key=lambda x: x[2]) id_list = [[model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY][x] for x in rec[0] if x in model[model.KEYWORDS_KEY][model.INTERNAL_ID_KEY]] for rec in _recognized] @@ -473,7 +530,42 @@ def disambiguate(self, model, recognized, srcs, word_separator): return _recognized def flatten_layers(self, model, layers): - """ + """Flattens list of lists of identified datapoints, invokes disambiguation, remaps label locations to the original string, reshapes the output. + Returns list(tuple *datapoint*) where *datapoint* is tuple(list *ids*, dict *attributes*, int *begin*, int *end*). + + Args: + Model *model*: Model instance to use + list *layers*: list of identified datapoints + + Data structure for *layers* (input): + [ + ( + ( + [int normalized_positions], # indexes are original positions + [[int min_original_position, int max_original_position]], # indexes are normalized positions + ), + [ + ( + [int internal_ids], + {int internal_id: {str attribute_name: [str attribute_value]}}, + str identified_label, + int unmapped_begin, + int unmapped_end + ) + ], + str parsed_normalized_string + ) + ] + + Returned data structure: + [ + ( + [int internal_ids], + {int internal_id: {str attribute_name: [str attribute_value]}}, + int mapped_begin, + int mapped_end + ) + ] """ spans = {} srcs = [] @@ -515,7 +607,11 @@ def flatten_layers(self, model, layers): return ret def flatten_spans(self, spans): - """ + """Transforms list of normalized tuples into one dict. + Returns dict {(int *begin*, int *end*): {str *attribute_name*: {str *attribute_value*}}}. + + Args: + list *spans*: list of identified datapoints, as returned by flatten_layers() function """ ret = {} all_entries = [] @@ -544,7 +640,11 @@ def flatten_spans(self, spans): return ret def reduce_spans(self, segments): - """ + """Reduces overlapping segments by keeping longer ones or leftmost ones in case of equal length. + Returnes reduced list of tuples [(int *begin*, int *end*)]. + + Args: + set *segments*: set of tuples(int *begin*, int *end*) """ def intersects(segment1, segment2): return segment2[0] >= segment1[0] and segment2[0] <= segment1[1] @@ -572,7 +672,20 @@ def length(segment): return ret def parse(self, model, source_string, attrs_where=None, attrs_out=None): - """ + """Wraps around all functions that normalize string, spot entities, disambiguate, and post-process the output. + Returns dict {(int *begin*, int *end*): {str *attribute_name*: {str attribute_value}}}. + + Args: + Model *model*: Model instance to use + str *source_string*: source string to parse + dict *attrs_where*: specifications for filtering model's data used for recognition + list *attrs_out*: list of attribute names to output + + Data structure for *attrs_where*: + { + '+': {str attribute_name: {str attribute_value}}, # if indicated, only entities that have these attributes will be considered + '-': {str attribute_name: {str attribute_value}} # if indicated, entities that have these attributes will not be considered + } """ attributes = attrs_where if attributes is None: From df0967529342e52bc4e28e9c1f0e75490d5ced23 Mon Sep 17 00:00:00 2001 From: pgolo Date: Mon, 28 Sep 2020 11:12:48 -0400 Subject: [PATCH 078/116] plan for readme --- README.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cc5e429..b59b0c4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,20 @@ # pilsner -Utility for dictionary-based named entity recognition + +Python implemented library servicing named entity recognition + +[![pypi][pypi-img]][pypi-url] + +[pypi-img]: https://img.shields.io/pypi/v/pilsner?style=plastic +[pypi-url]: https://pypi.org/project/pilsner/ + +## Purpose + +Blah + +## Installation and dependencies + +Blah + +## Usage + +Blah From 6f7d80d6e4d00025fa2eb738ab31e55439573cb1 Mon Sep 17 00:00:00 2001 From: pgolo Date: Mon, 28 Sep 2020 23:38:49 -0400 Subject: [PATCH 079/116] readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b59b0c4..707406d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Python implemented library servicing named entity recognition ## Purpose -Blah +This library is intended to store any thesaurus in a trie-like structure and identify any of stored synonyms in a string. ## Installation and dependencies From 58368ad28de5707bdfd3be6aee577d598d5002cb Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 29 Sep 2020 00:07:37 -0400 Subject: [PATCH 080/116] readme - installation and dependencies --- README.md | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 707406d..c41a5ab 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,32 @@ Python implemented library servicing named entity recognition ## Purpose -This library is intended to store any thesaurus in a trie-like structure and identify any of stored synonyms in a string. +This library is Python implementation of toolkit for dictionary based named entity recognition. It is intended to store any thesaurus in a trie-like structure and identify any of stored synonyms in a string. ## Installation and dependencies -Blah +```bash +pip install pilsner +``` + +`pilsner` is tested in Python 3.6, 3.7, and 3.8. + +The only dependency is `sic` package. While it can be automatically installed at the time of `pilsner` installation, manual installation of `sic` beforehand might also be considered (see benchmark of cythonized vs pure Python implementation in `sic` docimentation, [https://pypi.org/project/sic/](https://pypi.org/project/sic/)). ## Usage +### Compile model + +Blah + +### Save model + +Blah + +### Load model + +Blah + +### Parse string + Blah From bd9b78d11066ee5c001ac1599eb32893ac5c7cec Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 29 Sep 2020 23:34:26 -0400 Subject: [PATCH 081/116] readme --- README.md | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c41a5ab..2ac8382 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,11 @@ Python implemented library servicing named entity recognition [pypi-img]: https://img.shields.io/pypi/v/pilsner?style=plastic [pypi-url]: https://pypi.org/project/pilsner/ -## Purpose +## 1. Purpose This library is Python implementation of toolkit for dictionary based named entity recognition. It is intended to store any thesaurus in a trie-like structure and identify any of stored synonyms in a string. -## Installation and dependencies +## 2. Installation and dependencies ```bash pip install pilsner @@ -21,20 +21,52 @@ pip install pilsner The only dependency is `sic` package. While it can be automatically installed at the time of `pilsner` installation, manual installation of `sic` beforehand might also be considered (see benchmark of cythonized vs pure Python implementation in `sic` docimentation, [https://pypi.org/project/sic/](https://pypi.org/project/sic/)). -## Usage +## 3. Diagram -### Compile model +Image + +## 4. Usage + +```python +import pilsner +``` + +### 4.1. Initialize model + +```python +m = pilsner.Model() +``` + +### 4.2. Add string normalization units + +String normalization is done by `sic` component. + +### 4.3. Add dictionary + +Blah + +### 4.4. Initialize utility + +```python +r = pilsner.Recognizer() +``` + +### 4.5. Compile model + +Blah + +### 4.6. Save model Blah -### Save model +### 4.7. Load model Blah -### Load model +### 4.8. Parse string Blah -### Parse string +## 5. Example Blah From 8a85827a45226503ebcb301e88ea7ed3ca720e6d Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 30 Sep 2020 00:17:04 -0400 Subject: [PATCH 082/116] readme (sample code) --- README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/README.md b/README.md index 2ac8382..43e32db 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,70 @@ Image ```python import pilsner + +m = pilsner.Model() +m.add_normalizer('default', 'default_normalizer.xml') +m.add_normalizer('custom', 'custom_normalizer.xml') +m.normalizer_map = { + 'animal': 'default', + 'plant': 'custom' +} +r = pilsner.Recognizer() + fields = [ + { + 'name': 'type', + 'include': True, + 'delimiter': None, + 'id_flag': False, + 'normalizer_flag': True, + 'value_flag': False + }, + { + 'name': 'id', + 'include': True, + 'delimiter': None, + 'id_flag': True, + 'normalizer_flag': False, + 'value_flag': False + }, + { + 'name': 'label', + 'include': True, + 'delimiter': None, + 'id_flag': False, + 'normalizer_flag': False, + 'value_flag': True + }, + { + 'name': 'habitat', + 'include': True, + 'delimiter': ',', + 'id_flag': False, + 'normalizer_flag': False, + 'value_flag': False + } + ] + specs = r.compile_dict_specs(fields) + r.compile_model( + model=m, + filename='living_things.txt', + specs=specs, + word_separator=' ', + column_separator='\t', + column_enclosure='\n', + include_keywords=True + ) + m.save('living_things') + m = pilsner.Model('living_things') + text_to_parse = 'sample text here' + parsed = r.parse( + model=m, + source_string=text_to_parse, + attrs_where={ + '+': {'habitat': {'air', 'ocean'}} + }, + attrs_out=['id', 'type', 'habitat'] + ) ``` ### 4.1. Initialize model From 941d087932e9c70e37b91e026bd44c9de4e2b516 Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 30 Sep 2020 22:47:59 -0400 Subject: [PATCH 083/116] don't try spotting entities with empty model --- pilsner/utility.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pilsner/utility.py b/pilsner/utility.py index 401aa01..e4c5ed1 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -375,6 +375,8 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', this_progress_position = 0 last_progress_position = 0 total_tries = len(model[model.DICTIONARY_KEY]) + if total_tries == 0: + return rets progress_share = progress_to - progress_from trie_increment = int(progress_share / total_tries) current_trie_index = 0 From 1668a03ed6bdcd221a9f6c0d1f1377251382068a Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 30 Sep 2020 22:48:21 -0400 Subject: [PATCH 084/116] don't save anything if model is empty --- pilsner/model.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pilsner/model.py b/pilsner/model.py index 8f7ab1d..222972a 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -87,6 +87,9 @@ def save(self, filename): """ assert os.path.exists(self[self.DATASOURCE_KEY]), 'Cannot find temporary database on disk' logging.debug('Saving model "%s"' % (filename)) + if len(self[self.DICTIONARY_KEY]) == 0: + logging.warning('Model is empty, nothing saved') + return False self.cursor.close() self.connection.close() normalizers = { From 0b554046cb1ed0e8ea47f4d453a0f0197e1af776 Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 30 Sep 2020 22:48:44 -0400 Subject: [PATCH 085/116] example (wip) --- example/example.py | 89 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 example/example.py diff --git a/example/example.py b/example/example.py new file mode 100644 index 0000000..831d964 --- /dev/null +++ b/example/example.py @@ -0,0 +1,89 @@ +import sys; sys.path.insert(0, '') + +# Import pilsner +import pilsner + +# Initialize Model class +m = pilsner.Model() + +# Add normalization units +#m.add_normalizer('default', 'example/default_normalizer.xml') +#m.add_normalizer('custom', 'example/custom_normalizer.xml') + +# Map names of normalization units to some string values +m.normalizer_map = { + 'animal': 'default', + 'plant': 'custom' +} + +# Initialize Recognizer class +r = pilsner.Recognizer() + +# Provide table definition for example/living_fileds.txt file +fields = [ + { + 'name': 'type', # attribute name is 'type' + 'include': True, # include this column + 'delimiter': None, # no delimiter (single value per row) + 'id_flag': False, # entity IDs are not in this column + 'normalizer_flag': True, # tags for normalization units are in this column + 'value_flag': False # string labels (synonyms) are not in this column + }, + { + 'name': 'id', # attribute name is 'id' + 'include': True, + 'delimiter': None, + 'id_flag': True, # entity IDs are in this column + 'normalizer_flag': False, + 'value_flag': False + }, + { + 'name': 'label', # attribute name is 'label' + 'include': True, + 'delimiter': None, + 'id_flag': False, + 'normalizer_flag': False, + 'value_flag': True # string labels (synonyms) are in this column + }, + { + 'name': 'habitat', # attribute name is 'habitat' + 'include': True, + 'delimiter': ',', # multiple values delimited with ',' can be stored in a single row + 'id_flag': False, + 'normalizer_flag': False, + 'value_flag': False + } +] + +# Convert table definition into internally used `specs` structure +specs = r.compile_dict_specs(fields) + +# Populate Model instance with data from example/living_things.txt file +r.compile_model( + model=m, + filename='example/living_things.txt', + specs=specs, + word_separator=' ', + column_separator='\t', + column_enclosure='\n', + include_keywords=True +) + +# Save Model instance to disk +#m.save('living_things') + +# Load Model instance from disk +#m = pilsner.Model('living_things') + +# Parse string +text_to_parse = 'sample text here a b c d c b a' +parsed = r.parse( + model=m, + source_string=text_to_parse, + attrs_where={ + '+': {'habitat': {'air', 'ocean'}} + }, + attrs_out=['id', 'type', 'habitat'] +) + +print(parsed) From b21d81faa3906b99d913ee945969ad692a0bbbd3 Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 30 Sep 2020 22:49:19 -0400 Subject: [PATCH 086/116] example (wip) --- example/custom_normalizer.xml | 0 example/default_normalizer.xml | 0 example/living_things.txt | 1 + 3 files changed, 1 insertion(+) create mode 100644 example/custom_normalizer.xml create mode 100644 example/default_normalizer.xml create mode 100644 example/living_things.txt diff --git a/example/custom_normalizer.xml b/example/custom_normalizer.xml new file mode 100644 index 0000000..e69de29 diff --git a/example/default_normalizer.xml b/example/default_normalizer.xml new file mode 100644 index 0000000..e69de29 diff --git a/example/living_things.txt b/example/living_things.txt new file mode 100644 index 0000000..593d58d --- /dev/null +++ b/example/living_things.txt @@ -0,0 +1 @@ +a b c air From 750883500ea74cfb9de337fd3e658dc4aa69b083 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 1 Oct 2020 00:15:18 -0400 Subject: [PATCH 087/116] readme (wip) --- README.md | 126 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 71 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index 43e32db..c3635ee 100644 --- a/README.md +++ b/README.md @@ -38,69 +38,85 @@ m.normalizer_map = { 'plant': 'custom' } r = pilsner.Recognizer() - fields = [ - { - 'name': 'type', - 'include': True, - 'delimiter': None, - 'id_flag': False, - 'normalizer_flag': True, - 'value_flag': False - }, - { - 'name': 'id', - 'include': True, - 'delimiter': None, - 'id_flag': True, - 'normalizer_flag': False, - 'value_flag': False - }, - { - 'name': 'label', - 'include': True, - 'delimiter': None, - 'id_flag': False, - 'normalizer_flag': False, - 'value_flag': True - }, - { - 'name': 'habitat', - 'include': True, - 'delimiter': ',', - 'id_flag': False, - 'normalizer_flag': False, - 'value_flag': False - } - ] - specs = r.compile_dict_specs(fields) - r.compile_model( - model=m, - filename='living_things.txt', - specs=specs, - word_separator=' ', - column_separator='\t', - column_enclosure='\n', - include_keywords=True - ) - m.save('living_things') - m = pilsner.Model('living_things') - text_to_parse = 'sample text here' - parsed = r.parse( - model=m, - source_string=text_to_parse, - attrs_where={ - '+': {'habitat': {'air', 'ocean'}} - }, - attrs_out=['id', 'type', 'habitat'] - ) +fields = [ + { + 'name': 'type', + 'include': True, + 'delimiter': None, + 'id_flag': False, + 'normalizer_flag': True, + 'value_flag': False + }, + { + 'name': 'id', + 'include': True, + 'delimiter': None, + 'id_flag': True, + 'normalizer_flag': False, + 'value_flag': False + }, + { + 'name': 'label', + 'include': True, + 'delimiter': None, + 'id_flag': False, + 'normalizer_flag': False, + 'value_flag': True + }, + { + 'name': 'habitat', + 'include': True, + 'delimiter': ',', + 'id_flag': False, + 'normalizer_flag': False, + 'value_flag': False + } +] +specs = r.compile_dict_specs(fields) +r.compile_model( + model=m, + filename='living_things.txt', + specs=specs, + word_separator=' ', + column_separator='\t', + column_enclosure='\n', + include_keywords=True +) +m.save('living_things') +m = pilsner.Model('living_things') +text_to_parse = 'sample text here' +parsed = r.parse( + model=m, + source_string=text_to_parse, + attrs_where={ + '+': {'habitat': {'air', 'ocean'}} + }, + attrs_out=['id', 'type', 'habitat'] +) ``` +`pilsner` consists of two major components: `Model` and `Recognizer`. `Model` class provides storage for the dictionary and string normalization rules, as well as methods for populating this storage. `Recognizer` class provides methods for accessing `Model`. + ### 4.1. Initialize model +To initialize empty model: + ```python m = pilsner.Model() ``` +To specify path to temporary database for empty model: + +```python +m = pilsner.Model(storage_location='path/to/database.file') +``` + +To load model from disk: + +```python +m = pilsner.Model(filename='path/to/model') +``` + ### 4.2. Add string normalization units String normalization is done by `sic` component. From 41e16ecdc589c96acec1d0272270fb5b9eed9da3 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 1 Oct 2020 01:26:59 -0400 Subject: [PATCH 088/116] exceptions --- example/example.py | 4 ++-- pilsner/model.py | 10 ++++++---- pilsner/utility.py | 5 +++++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/example/example.py b/example/example.py index 831d964..c89d208 100644 --- a/example/example.py +++ b/example/example.py @@ -70,10 +70,10 @@ ) # Save Model instance to disk -#m.save('living_things') +m.save('living_things') # Load Model instance from disk -#m = pilsner.Model('living_things') +m = pilsner.Model('living_things') # Parse string text_to_parse = 'sample text here a b c d c b a' diff --git a/pilsner/model.py b/pilsner/model.py index 222972a..06037bb 100644 --- a/pilsner/model.py +++ b/pilsner/model.py @@ -85,11 +85,13 @@ def save(self, filename): filename.keywords filename.attributes """ - assert os.path.exists(self[self.DATASOURCE_KEY]), 'Cannot find temporary database on disk' + try: + assert os.path.exists(self[self.DATASOURCE_KEY]), 'Cannot find temporary database on disk' + assert len(self[self.DICTIONARY_KEY]) > 0, 'Model is empty, nothing to save' + except Exception as e: + self.destroy() + raise e logging.debug('Saving model "%s"' % (filename)) - if len(self[self.DICTIONARY_KEY]) == 0: - logging.warning('Model is empty, nothing saved') - return False self.cursor.close() self.connection.close() normalizers = { diff --git a/pilsner/utility.py b/pilsner/utility.py index e4c5ed1..19a4519 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -716,6 +716,11 @@ def parse(self, model, source_string, attrs_where=None, attrs_out=None): self.push_message('Parsing text', self.callback_status) rets = [] total_normalizers = int(len(model[model.NORMALIZER_KEY])) + try: + assert total_normalizers > 0, 'Model does not have normalization units' + except Exception as e: + model.destroy() + raise e spot_progress_share = int(100 / total_normalizers) current_normalizer_index = 0 for normalizer_name in model[model.NORMALIZER_KEY]: From 871a91f08d84945a06c9063cb0d8aaebbeee3d64 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 2 Oct 2020 00:48:35 -0400 Subject: [PATCH 089/116] moved example to misc --- {example => misc/example}/custom_normalizer.xml | 0 {example => misc/example}/default_normalizer.xml | 0 {example => misc/example}/example.py | 12 ++++++++---- {example => misc/example}/living_things.txt | 0 4 files changed, 8 insertions(+), 4 deletions(-) rename {example => misc/example}/custom_normalizer.xml (100%) rename {example => misc/example}/default_normalizer.xml (100%) rename {example => misc/example}/example.py (87%) rename {example => misc/example}/living_things.txt (100%) diff --git a/example/custom_normalizer.xml b/misc/example/custom_normalizer.xml similarity index 100% rename from example/custom_normalizer.xml rename to misc/example/custom_normalizer.xml diff --git a/example/default_normalizer.xml b/misc/example/default_normalizer.xml similarity index 100% rename from example/default_normalizer.xml rename to misc/example/default_normalizer.xml diff --git a/example/example.py b/misc/example/example.py similarity index 87% rename from example/example.py rename to misc/example/example.py index c89d208..fe7942e 100644 --- a/example/example.py +++ b/misc/example/example.py @@ -1,3 +1,6 @@ +# Either install pilsner package to the environment first, +# or run this from project's root + import sys; sys.path.insert(0, '') # Import pilsner @@ -58,10 +61,10 @@ # Convert table definition into internally used `specs` structure specs = r.compile_dict_specs(fields) -# Populate Model instance with data from example/living_things.txt file +# Populate Model instance with data from misc/example/living_things.txt file r.compile_model( model=m, - filename='example/living_things.txt', + filename='misc/example/living_things.txt', specs=specs, word_separator=' ', column_separator='\t', @@ -70,10 +73,10 @@ ) # Save Model instance to disk -m.save('living_things') +m.save('misc/example/living_things') # Load Model instance from disk -m = pilsner.Model('living_things') +m = pilsner.Model('misc/example/living_things') # Parse string text_to_parse = 'sample text here a b c d c b a' @@ -86,4 +89,5 @@ attrs_out=['id', 'type', 'habitat'] ) +# Print out the result print(parsed) diff --git a/example/living_things.txt b/misc/example/living_things.txt similarity index 100% rename from example/living_things.txt rename to misc/example/living_things.txt From 95678e8f27af2ff05d76e8cb3531f5e0ed71758b Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 2 Oct 2020 00:48:49 -0400 Subject: [PATCH 090/116] diagram in readme --- README.md | 2 +- misc/pilsner-diagram.drawio | 1 + misc/pilsner-diagram.svg | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 misc/pilsner-diagram.drawio create mode 100644 misc/pilsner-diagram.svg diff --git a/README.md b/README.md index c3635ee..2e3e7b8 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The only dependency is `sic` package. While it can be automatically installed at ## 3. Diagram -Image +![Diagram](misc/pilsner-diagram.svg) ## 4. Usage diff --git a/misc/pilsner-diagram.drawio b/misc/pilsner-diagram.drawio new file mode 100644 index 0000000..0bb305a --- /dev/null +++ b/misc/pilsner-diagram.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/misc/pilsner-diagram.svg b/misc/pilsner-diagram.svg new file mode 100644 index 0000000..aba93f4 --- /dev/null +++ b/misc/pilsner-diagram.svg @@ -0,0 +1,3 @@ + + +


Model
Model
Recognizer
Recognizer
Normalize
Normalize
Dictionary
Dictionary
String normalization config
String normal...
Attributes
Attributes
Synonyms
Synonyms
Text
Text
Synonyms
Synonyms
Keywords
Keywords
Normalize
Normalize
Lookup
Lookup
Disambiguate
Disambiguate
Attributes
Attributes
Result
Result
Viewer does not support full SVG 1.1
\ No newline at end of file From c097d6c382d7afcf282629a67b19587ef293b4e8 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 2 Oct 2020 01:19:06 -0400 Subject: [PATCH 091/116] path adjustments for the example --- misc/example/example.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/misc/example/example.py b/misc/example/example.py index fe7942e..3fc8189 100644 --- a/misc/example/example.py +++ b/misc/example/example.py @@ -10,8 +10,8 @@ m = pilsner.Model() # Add normalization units -#m.add_normalizer('default', 'example/default_normalizer.xml') -#m.add_normalizer('custom', 'example/custom_normalizer.xml') +#m.add_normalizer('default', 'misc/example/default_normalizer.xml') +#m.add_normalizer('custom', 'misc/example/custom_normalizer.xml') # Map names of normalization units to some string values m.normalizer_map = { @@ -22,7 +22,7 @@ # Initialize Recognizer class r = pilsner.Recognizer() -# Provide table definition for example/living_fileds.txt file +# Provide table definition for misc/example/living_fileds.txt file fields = [ { 'name': 'type', # attribute name is 'type' From e1c812306c6b8fd7dac43faf436c898f9104e94b Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 2 Oct 2020 21:27:32 -0400 Subject: [PATCH 092/116] readme --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2e3e7b8..1c72689 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,16 @@ The only dependency is `sic` package. While it can be automatically installed at ## 3. Diagram +`pilsner` consists of two major components: `Model` and `Recognizer`. `Model` class provides storage for the dictionary and string normalization rules, as well as methods for populating this storage. `Recognizer` class provides methods for accessing `Model`. + ![Diagram](misc/pilsner-diagram.svg) ## 4. Usage +```python +import pilsner +``` + ```python import pilsner @@ -95,8 +101,6 @@ parsed = r.parse( ) ``` -`pilsner` consists of two major components: `Model` and `Recognizer`. `Model` class provides storage for the dictionary and string normalization rules, as well as methods for populating this storage. `Recognizer` class provides methods for accessing `Model`. - ### 4.1. Initialize model To initialize empty model: @@ -119,7 +123,7 @@ m = pilsner.Model(filename='path/to/model') ### 4.2. Add string normalization units -String normalization is done by `sic` component. +String normalization is technically done by `sic` component. ### 4.3. Add dictionary From 0199e74b43fda91a6d74c20817be049f16d79836 Mon Sep 17 00:00:00 2001 From: pgolo Date: Fri, 2 Oct 2020 21:28:07 -0400 Subject: [PATCH 093/116] readme --- README.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2e3e7b8..2af88c0 100644 --- a/README.md +++ b/README.md @@ -99,24 +99,32 @@ parsed = r.parse( ### 4.1. Initialize model -To initialize empty model: +- To initialize empty model: ```python m = pilsner.Model() ``` -To specify path to temporary database for empty model: +- To specify path to temporary database for empty model: ```python +# For temporary database to be created on disk: m = pilsner.Model(storage_location='path/to/database.file') + +# For temporary database to be created in memory: +m = pilsner.Model(storage_location=':memory:') ``` -To load model from disk: +> If database is created in memory, the model cannot be later saved on disk (can only be used instantly). + +- To load model from disk: ```python m = pilsner.Model(filename='path/to/model') ``` +> More on how model is loaded from disk - see [4.7. Load model](#47-load-model). + ### 4.2. Add string normalization units String normalization is done by `sic` component. From 2c2b83c1f06ee1cac1eb72f0b0824dfb6c4a24eb Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 3 Oct 2020 00:56:46 -0400 Subject: [PATCH 094/116] readme --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6ce6d53..5167877 100644 --- a/README.md +++ b/README.md @@ -127,11 +127,17 @@ m = pilsner.Model(storage_location=':memory:') m = pilsner.Model(filename='path/to/model') ``` -> More on how model is loaded from disk - see [4.7. Load model](#47-load-model). +> More on how model is saved to and loaded from disk - see [4.6. Save model](#46-save-model) and [4.7. Load model](#47-load-model). ### 4.2. Add string normalization units -String normalization is technically done by `sic` component. +```python +# Assuming m is pilsner.Model instance: +m.add_normalizer( + normalizer_name='normalizer_tag', + filename='path/to/normalizer_config.xml' +) +``` ### 4.3. Add dictionary From 6418d90f51911fa494e00b14e92b33b96f0b3752 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sat, 3 Oct 2020 00:59:23 -0400 Subject: [PATCH 095/116] readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5167877..ca8a8cb 100644 --- a/README.md +++ b/README.md @@ -112,10 +112,12 @@ m = pilsner.Model() - To specify path to temporary database for empty model: ```python -# For temporary database to be created on disk: m = pilsner.Model(storage_location='path/to/database.file') +``` + +- To create empty model that uses database created in memory rather than on disk: -# For temporary database to be created in memory: +```python m = pilsner.Model(storage_location=':memory:') ``` From b487b13277629fc5eb4c276ec84f0ca68356a039 Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 4 Oct 2020 00:12:33 -0400 Subject: [PATCH 096/116] readme (add normalizers) --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ca8a8cb..6c4e82f 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,11 @@ m = pilsner.Model(filename='path/to/model') ### 4.2. Add string normalization units +Depending on the dictionary and nature of the text supposed to be parsed, string normalization might not be required at all, and nothing specific is to be done in such case. + +- Without string normalization, synonyms from the dictionary will be stored as they are and looked up by recognizer case-sensitively. +- To add a single normalization unit: + ```python # Assuming m is pilsner.Model instance: m.add_normalizer( @@ -141,16 +146,21 @@ m.add_normalizer( ) ``` -### 4.3. Add dictionary +> String normalization is technically done by `sic` component. See documentation for `sic` at [https://pypi.org/project/sic/](https://pypi.org/project/sic/) to learn how to design normalizer config. -Blah +- Model can embed more than one normalization unit. +- Default normalization unit for the model is the one added first or the last one added with parameter `default` set to `True`. -### 4.4. Initialize utility +### 4.3. Initialize utility ```python r = pilsner.Recognizer() ``` +### 4.4. Add dictionary + +Blah + ### 4.5. Compile model Blah From 352119f36379223c42b84ecfc9eaf1d011045cce Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 4 Oct 2020 22:07:58 -0400 Subject: [PATCH 097/116] renamed Recognizer to Utility --- misc/example/example.py | 4 +-- misc/pilsner-diagram.drawio | 2 +- misc/pilsner-diagram.svg | 2 +- pilsner/__init__.py | 2 +- pilsner/utility.pxd | 2 +- pilsner/utility.py | 8 ++--- test/performance.py | 16 +++++----- test/sandbox.py | 8 ++--- test/ut_utility.py | 62 ++++++++++++++++++------------------- 9 files changed, 53 insertions(+), 53 deletions(-) diff --git a/misc/example/example.py b/misc/example/example.py index 3fc8189..e512954 100644 --- a/misc/example/example.py +++ b/misc/example/example.py @@ -19,8 +19,8 @@ 'plant': 'custom' } -# Initialize Recognizer class -r = pilsner.Recognizer() +# Initialize Utility class +r = pilsner.Utility() # Provide table definition for misc/example/living_fileds.txt file fields = [ diff --git a/misc/pilsner-diagram.drawio b/misc/pilsner-diagram.drawio index 0bb305a..1a460c1 100644 --- a/misc/pilsner-diagram.drawio +++ b/misc/pilsner-diagram.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/misc/pilsner-diagram.svg b/misc/pilsner-diagram.svg index aba93f4..4876169 100644 --- a/misc/pilsner-diagram.svg +++ b/misc/pilsner-diagram.svg @@ -1,3 +1,3 @@ -


Model
Model
Recognizer
Recognizer
Normalize
Normalize
Dictionary
Dictionary
String normalization config
String normal...
Attributes
Attributes
Synonyms
Synonyms
Text
Text
Synonyms
Synonyms
Keywords
Keywords
Normalize
Normalize
Lookup
Lookup
Disambiguate
Disambiguate
Attributes
Attributes
Result
Result
Viewer does not support full SVG 1.1
\ No newline at end of file +


Model
Model
Utility
Utility
Normalize
Normalize
Dictionary
Dictionary
String normalization config
String normal...
Attributes
Attributes
Synonyms
Synonyms
Text
Text
Synonyms
Synonyms
Keywords
Keywords
Normalize
Normalize
Lookup
Lookup
Disambiguate
Disambiguate
Attributes
Attributes
Result
Result
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/pilsner/__init__.py b/pilsner/__init__.py index ebb1491..9fa0d0b 100644 --- a/pilsner/__init__.py +++ b/pilsner/__init__.py @@ -1,2 +1,2 @@ from .model import Model -from .utility import Recognizer +from .utility import Utility diff --git a/pilsner/utility.pxd b/pilsner/utility.pxd index 320b3fc..e27f7fe 100644 --- a/pilsner/utility.pxd +++ b/pilsner/utility.pxd @@ -1,6 +1,6 @@ import cython -cdef class Recognizer(): +cdef class Utility(): cdef public bint debug cdef public bint verbose diff --git a/pilsner/utility.py b/pilsner/utility.py index 19a4519..dddd41f 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -1,11 +1,11 @@ import logging import os -class Recognizer(): +class Utility(): """This class is the utility for named entity recognition.""" def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, callback_progress=None): - """Creates Recognizer instance. + """Creates Utility instance. Args: bool *debug_mode*: toggle logger level to INFO @@ -24,7 +24,7 @@ def __init__(self, debug_mode=False, verbose_mode=False, callback_status=None, c self.logger('Debug mode is on') self.callback_status = callback_status self.callback_progress = callback_progress - logging.debug('Recognizer class has been initialized') + logging.debug('Utility class has been initialized') def __del__(self): """Destructor.""" @@ -41,7 +41,7 @@ def push_message(self, message, callback_function): callback_function(message) def compile_dict_specs(self, fields): - """Reshapes list of fields' specifications into dict used by other members of Recognizer class. + """Reshapes list of fields' specifications into dict used by other members of Utility class. Returns new dict with specifications. Args: diff --git a/test/performance.py b/test/performance.py index 35640e0..bb3609f 100644 --- a/test/performance.py +++ b/test/performance.py @@ -140,17 +140,17 @@ def perf_compile_model_save_model(modules_to_test): import %s as pilsner model = pilsner.Model() model.add_normalizer('standard', None) -recognizer = pilsner.Recognizer() +utility = pilsner.Utility() fields = [ {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, {'name': 'label_attr', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, {'name': 'entity_attr', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] -specs = recognizer.compile_dict_specs(fields) +specs = utility.compile_dict_specs(fields) """ % (x), stmt=""" -recognizer.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) +utility.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) model.destroy() """, number=n @@ -166,15 +166,15 @@ def perf_compile_model_save_model(modules_to_test): import %s as pilsner model = pilsner.Model() model.add_normalizer('standard', None) -recognizer = pilsner.Recognizer() +utility = pilsner.Utility() fields = [ {'name': 'entity_id', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, {'name': 'label_attr', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, {'name': 'entity_attr', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] -specs = recognizer.compile_dict_specs(fields) -recognizer.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) +specs = utility.compile_dict_specs(fields) +utility.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) """ % (x), stmt=""" model.save('.test-model') @@ -214,12 +214,12 @@ def perf_load_model_parse_test(modules_to_test): import %s as pilsner model = pilsner.Model() model.load('.test-model') -recognizer = pilsner.Recognizer() +utility = pilsner.Utility() with open('.test-text.txt', mode='r', encoding='utf8') as f: test_text = f.read() """ % (x), stmt=""" -found = recognizer.parse(model, test_text) +found = utility.parse(model, test_text) model.destroy() """, number=n diff --git a/test/sandbox.py b/test/sandbox.py index 534d6f3..75a4a49 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -18,7 +18,7 @@ def save_it(): 'tokenizer1': 'tokenizer1', 'tokenizer2': 'tokenizer2' } - r = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) + r = pilsner.Utility(callback_status=callback_update_status, callback_progress=callback_update_mesage) specs = {'DType': (0, None, True, False), 'MSID': (1, None, False, False), 'value': (2, None, False, True)} fields = [ {'name': 'DType', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, @@ -38,7 +38,7 @@ def save_it(): m.save('.test_model') def load_it(): - rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) + rrr = pilsner.Utility(callback_status=callback_update_status, callback_progress=callback_update_mesage) m = pilsner.Model('.test_model') s = 'this is awesome white refrigerators o refrigerator, is it not' s *= 10 @@ -50,7 +50,7 @@ def load_it(): load_it() #segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] -#r = Recognizer() +#r = Utility() #red = r.reduce(segments) #print(red) @@ -60,7 +60,7 @@ def load_it(): #layers = [([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([0], {0: {'MSID': ['entity2'], 'smth': ['C', 'D', 'E']}}, 'acinic cell carcino mas', 8, 31)]), ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([2], {2: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'acinic carcinomas', 8, 25), ([5], {5: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'it', 45, 46), ([6], {6: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'o', 26, 27)])] #layers = [([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([0], {0: {'MSID': ['entity2'], 'smth': ['C', 'D', 'E']}}, 'acinic cell carcino mas', 8, 31)]), ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([2], {2: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'acinic carcinomas', 8, 26), ([5], {5: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'it', 45, 46), ([6], {6: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'o', 26, 27)])] -#rrr = pilsner.Recognizer(callback_status=callback_update_status, callback_progress=callback_update_mesage) +#rrr = pilsner.Utility(callback_status=callback_update_status, callback_progress=callback_update_mesage) #x = rrr.flatten(layers) #print(x) diff --git a/test/ut_utility.py b/test/ut_utility.py index ff63988..afefafc 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -4,11 +4,11 @@ class TestUtility(unittest.TestCase): def setUp(self): - self.recognizer = pilsner.Recognizer() + self.utility = pilsner.Utility() self.model = pilsner.Model() def tearDown(self): - del(self.recognizer) + del(self.utility) self.model.destroy() del(self.model) @@ -19,7 +19,7 @@ def compile_test_model(self): {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] - specs = self.recognizer.compile_dict_specs(fields) + specs = self.utility.compile_dict_specs(fields) model = self.model model.add_normalizer('t1', 'test/assets/tokenizer1.xml') model.add_normalizer('t2', 'test/assets/tokenizer2.xml') @@ -27,25 +27,25 @@ def compile_test_model(self): 'tokenizer1': 't1', 'tokenizer2': 't2' } - compiled = self.recognizer.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', column_enclosure='', include_keywords=True) + compiled = self.utility.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', column_enclosure='', include_keywords=True) return compiled, model def test_init(self): - r = pilsner.Recognizer() - assert 'r' in locals(), 'Instance of Recognizer class has not been created' - assert type(r) == pilsner.Recognizer, 'Utility is supposed to have pilsner.Recognizer type, but has %s instead' % (str(type(r))) + r = pilsner.Utility() + assert 'r' in locals(), 'Instance of Utility class has not been created' + assert type(r) == pilsner.Utility, 'Utility is supposed to have pilsner.Utility type, but has %s instead' % (str(type(r))) def test_del(self): - r = pilsner.Recognizer() + r = pilsner.Utility() del(r) - assert 'r' not in locals(), 'Instance of Recognizer class has not been destroyed' + assert 'r' not in locals(), 'Instance of Utility class has not been destroyed' def test_push_message(self): messages = [] def callback_function(message): messages.append(message) - self.recognizer.push_message('message 1', callback_function) - self.recognizer.push_message('message 2', callback_function) + self.utility.push_message('message 1', callback_function) + self.utility.push_message('message 2', callback_function) expected = ['message 1', 'message 2'] assert messages == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(messages)) @@ -57,7 +57,7 @@ def test_compile_dict_specs(self): {'name': 'column 4', 'include': False, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, {'name': 'column 5', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] - specs = self.recognizer.compile_dict_specs(fields) + specs = self.utility.compile_dict_specs(fields) expected = { 'fields': { 'column 1': (0, None, True, False), @@ -78,19 +78,19 @@ def test_insert_node(self): {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] - specs = self.recognizer.compile_dict_specs(fields) + specs = self.utility.compile_dict_specs(fields) model = self.model model.create_recognizer_schema(model.cursor) test_trie = {} - self.recognizer.insert_node(label='the synonym', label_id=1, entity_id=10, subtrie=test_trie, specs=specs, columns=['', '', '', ''], model=model) - self.recognizer.insert_node('the synthesis', 2, 20, test_trie, specs, ['', '', '', ''], model) + self.utility.insert_node(label='the synonym', label_id=1, entity_id=10, subtrie=test_trie, specs=specs, columns=['', '', '', ''], model=model) + self.utility.insert_node('the synthesis', 2, 20, test_trie, specs, ['', '', '', ''], model) expected = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'o': {'n': {'y': {'m': {'~i': [1]}}}}, 't': {'h': {'e': {'s': {'i': {'s': {'~i': [2]}}}}}}}}}}}}}} assert test_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(test_trie)) def test_remove_node(self): test_trie = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'o': {'n': {'y': {'m': {'~i': [1]}}}}, 't': {'h': {'e': {'s': {'i': {'s': {'~i': [1]}}}}}}}}}}}}}} model = self.model - self.recognizer.remove_node(model=model, label='the synonym', subtrie=test_trie) + self.utility.remove_node(model=model, label='the synonym', subtrie=test_trie) expected = {'t': {'h': {'e': {' ': {'s': {'y': {'n': {'t': {'h': {'e': {'s': {'i': {'s': {'~i': [1]}}}}}}}}}}}}}} assert test_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(test_trie)) @@ -101,9 +101,9 @@ def test_make_recognizer(self): {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] - specs = self.recognizer.compile_dict_specs(fields) + specs = self.utility.compile_dict_specs(fields) model = self.model - got_recognizer, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) + got_recognizer, got_line_numbers = self.utility.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) expected_recognizer = [ { model.SPECS_KEY: { @@ -146,10 +146,10 @@ def test_make_keywords(self): {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] - specs = self.recognizer.compile_dict_specs(fields) + specs = self.utility.compile_dict_specs(fields) model = self.model - _, got_line_numbers = self.recognizer.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) - keywords = self.recognizer.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', column_enclosure='', tokenizer_option=0) + _, got_line_numbers = self.utility.make_recognizer(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', item_limit=0, compressed=True, column_separator='\t', column_enclosure='', tokenizer_option=0) + keywords = self.utility.make_keywords(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, line_numbers=got_line_numbers, word_separator=' ', disambiguate_all=False, column_separator='\t', column_enclosure='', tokenizer_option=0) expected = { model.CONTENT_KEY: { 0: {'it', 'refrigeratorx', 'white', 'awesome', 'refrigerator', 'conflicting', 'refrigerators'}, @@ -171,7 +171,7 @@ def test_make_keywords(self): def test_compile_model(self): compiled, model = self.compile_test_model() - assert compiled == True, 'pilsner.Recognizer.compile_model() returned False which is not expected' + assert compiled == True, 'pilsner.Utility.compile_model() returned False which is not expected' assert model.NORMALIZER_KEY in model, 'Model does not have model.NORMALIZER_KEY which is not expected' assert model.DEFAULT_NORMALIZER_KEY in model, 'Model does not have model.DEFAULT_NORMALIZER_KEY which is not expected' assert model.DICTIONARY_KEY in model, 'Model does not have model.DICTIONARY_KEY which is not expected' @@ -208,7 +208,7 @@ def test_unpack_trie(self): _, model = self.compile_test_model() packed_trie = {'wesome white refrigera': {' ': {'tors': {model.ENTITY_KEY: [0]}}, 't': {'or': {'x': {model.ENTITY_KEY: [1]}, model.ENTITY_KEY: [4]}}}} expected = {'w': {'e': {'s': {'o': {'m': {'e': {' ': {'w': {'h': {'i': {'t': {'e': {' ': {'r': {'e': {'f': {'r': {'i': {'g': {'e': {'r': {'a': {' ': {'tors': {'~i': [0]}}, 't': {'or': {'x': {'~i': [1]}, '~i': [4]}}}}}}}}}}}}}}}}}}}}}}}}} - unpacked_trie = self.recognizer.unpack_trie(model=model, packed_trie=packed_trie, compressed=True) + unpacked_trie = self.utility.unpack_trie(model=model, packed_trie=packed_trie, compressed=True) assert unpacked_trie == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(unpacked_trie)) def test_unpack_attributes(self): @@ -220,7 +220,7 @@ def test_unpack_attributes(self): process_exclude = False attrs_out_query = '' expected = {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']}} - attributes = self.recognizer.unpack_attributes(cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query) + attributes = self.utility.unpack_attributes(cur, leaf_ids, include_query, exclude_query, process_exclude, attrs_out_query) assert attributes == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(attributes)) def test_check_attrs(self): @@ -232,7 +232,7 @@ def test_check_attrs(self): process_exclude = False attrs_out_query = '' expected = {model.ENTITY_KEY: [8], model.ATTRS_KEY: {8: {'entity_id': ['entity1'], 'normalizer': ['tokenizer2'], 'some_attribute': ['A', 'B', 'C']}}} - got_leaf = self.recognizer.check_attrs(model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query) + got_leaf = self.utility.check_attrs(model, trie_leaf, cur, include_query, exclude_query, process_exclude, attrs_out_query) assert got_leaf == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(got_leaf)) def test_spot_entities(self): @@ -240,7 +240,7 @@ def test_spot_entities(self): source_string = 'this is awesome white refrigerator , and this is not' normalizer_name = 't1' expected = [([4], {4: {'entity_id': ['entity1'], 'normalizer': ['tokenizer1'], 'some_attribute': ['A', 'B', 'C']}}, 'awesome white refrigerator', 8, 34)] - spotted = self.recognizer.spot_entities(model, source_string, normalizer_name) + spotted = self.utility.spot_entities(model, source_string, normalizer_name) assert spotted == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(spotted)) def test_disambiguate(self): @@ -283,7 +283,7 @@ def test_disambiguate(self): ] ) ] - disambiguated = self.recognizer.disambiguate(model, spotted, srcs, word_separator) + disambiguated = self.utility.disambiguate(model, spotted, srcs, word_separator) assert disambiguated == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(disambiguated)) def test_flatten_layers(self): @@ -345,7 +345,7 @@ def test_flatten_layers(self): 46, 71 ) ] - flattened = self.recognizer.flatten_layers(model, layers) + flattened = self.utility.flatten_layers(model, layers) assert flattened == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(flattened)) def test_flatten_spans(self): @@ -371,13 +371,13 @@ def test_flatten_spans(self): (40, 42): {'DType': {'tokenizer2'}, 'MSID': {'entity1'}, 'smth': {'C', 'B', 'A'}}, (46, 71): {'DType': {'tokenizer1'}, 'MSID': {'entity1'}, 'smth': {'C', 'B', 'A'}} } - flattened = self.recognizer.flatten_spans(spans) + flattened = self.utility.flatten_spans(spans) assert flattened == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(flattened)) def test_reduce_spans(self): segments = set([tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])]) expected = [tuple([1, 6])] - reduced = self.recognizer.reduce_spans(segments) + reduced = self.utility.reduce_spans(segments) assert reduced == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(reduced)) def test_parse(self): @@ -389,7 +389,7 @@ def test_parse(self): (54, 56): {'entity_id': {'entity2'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'C', 'B', 'A'}}, (66, 90): {'entity_id': {'entity2'}, 'normalizer': {'tokenizer2'}, 'some_attribute': {'D', 'E'}} } - output = self.recognizer.parse(model, source_string) + output = self.utility.parse(model, source_string) assert output == expected, '\nExpected\n%s\nGot\n%s' % (str(expected), str(output)) if __name__ == '__main__': From 302b60e046bf4a00173dab6a70a99da8aad1bb7c Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 4 Oct 2020 22:10:43 -0400 Subject: [PATCH 098/116] renamed Recognizer to Utility (readme) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6c4e82f..0644ce7 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The only dependency is `sic` package. While it can be automatically installed at ## 3. Diagram -`pilsner` consists of two major components: `Model` and `Recognizer`. `Model` class provides storage for the dictionary and string normalization rules, as well as methods for populating this storage. `Recognizer` class provides methods for accessing `Model`. +`pilsner` consists of two major components: `Model` and `Utility`. `Model` class provides storage for the dictionary and string normalization rules, as well as methods for populating this storage. `Utility` class provides methods for accessing `Model`. ![Diagram](misc/pilsner-diagram.svg) @@ -43,7 +43,7 @@ m.normalizer_map = { 'animal': 'default', 'plant': 'custom' } -r = pilsner.Recognizer() +r = pilsner.Utility() fields = [ { 'name': 'type', @@ -154,7 +154,7 @@ m.add_normalizer( ### 4.3. Initialize utility ```python -r = pilsner.Recognizer() +r = pilsner.Utility() ``` ### 4.4. Add dictionary From b65cd5883812f56422def95cb98635111f78fe6f Mon Sep 17 00:00:00 2001 From: pgolo Date: Sun, 4 Oct 2020 22:27:11 -0400 Subject: [PATCH 099/116] readme (normalizer_map) --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 0644ce7..6114a68 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,17 @@ m.add_normalizer( - Model can embed more than one normalization unit. - Default normalization unit for the model is the one added first or the last one added with parameter `default` set to `True`. +- Having multiple normalization units in one model makes perfect sense when the stored dictionary contains synonyms of different nature that should be normalized in different ways (for example, abbreviations probably should not get normalized at all, while other synonyms might include tokens or punctuation marks that should not affect entity recognition). For that purpose, Model class includes `normalizer_map` dict that is supposed to map names of added normalization units to values in specific field in a dictionary designating the way a synonym should be normalized (tokenizer field, or tokenizer column): + +```python +# Assuming m is pilsner.Model instance: +m.normalizer_map = { + 'synonym_type_1': 'normalizer_1', + 'synonym_type_2': 'normalizer_2' +} +``` + +> The snippet above instructs `pilsner` to normalize synonyms that have `synonym_type_1` value in `tokenizer` column with `normalizer_1` normalization unit, and normalize synonyms that have `synonym_type_2` value in `tokenizer` column with `normalizer_2` normalization unit. More about fields in the dictionary, see [4.4. Add dictionary](#44-add-dictionary). ### 4.3. Initialize utility From df46f2ff86e0dd023c7b6a426330b3f871638086 Mon Sep 17 00:00:00 2001 From: pgolo Date: Mon, 5 Oct 2020 21:50:01 -0400 Subject: [PATCH 100/116] only use specs structure internally --- misc/example/example.py | 5 +---- pilsner/utility.pxd | 3 ++- pilsner/utility.py | 19 ++++++++++++++++--- test/performance.py | 6 ++---- test/sandbox.py | 2 +- test/ut_utility.py | 3 +-- 6 files changed, 23 insertions(+), 15 deletions(-) diff --git a/misc/example/example.py b/misc/example/example.py index e512954..478392d 100644 --- a/misc/example/example.py +++ b/misc/example/example.py @@ -58,14 +58,11 @@ } ] -# Convert table definition into internally used `specs` structure -specs = r.compile_dict_specs(fields) - # Populate Model instance with data from misc/example/living_things.txt file r.compile_model( model=m, filename='misc/example/living_things.txt', - specs=specs, + fields=fields, word_separator=' ', column_separator='\t', column_enclosure='\n', diff --git a/pilsner/utility.pxd b/pilsner/utility.pxd index e27f7fe..ea5ba75 100644 --- a/pilsner/utility.pxd +++ b/pilsner/utility.pxd @@ -118,6 +118,7 @@ cdef class Utility(): ) @cython.locals( + specs=cython.dict, tries=cython.list, line_numbers=cython.dict, keywords=cython.dict @@ -126,7 +127,7 @@ cdef class Utility(): self, model, str filename, - dict specs, + list fields, str word_separator, str column_separator, str column_enclosure, diff --git a/pilsner/utility.py b/pilsner/utility.py index dddd41f..6a35b67 100644 --- a/pilsner/utility.py +++ b/pilsner/utility.py @@ -239,13 +239,13 @@ def make_keywords(self, model, filename, specs, line_numbers, word_separator, di self.logger('Done compiling keywords.') return keywords - def compile_model(self, model, filename, specs, word_separator, column_separator, column_enclosure, compressed=True, item_limit=0, tokenizer_option=0, include_keywords=False, disambiguate_all=False): + def compile_model(self, model, filename, fields, word_separator, column_separator, column_enclosure, compressed=True, item_limit=0, tokenizer_option=0, include_keywords=False, disambiguate_all=False): """Populates given Model instance with tries and keywords. Args: Model *model*: Model instance to populate str *filename*: path and name of tab-delimited text file with the content - dict *specs*: specifications for columns in the text file + list *fields*: list of dict objects defining the columns in the text file str *word_separator*: string considered to be the word delimiter str *column_separator*: delimiter to split columns str *column_enclosure*: any string that columns are supposed to be trimmed of @@ -254,7 +254,20 @@ def compile_model(self, model, filename, specs, word_separator, column_separator int *tokenizer_option*: tokenizer mode (see documentation for normalization for details) bool *include_keywords*: whether generate keywords at all or not bool *disambiguate_all*: whether generate keywords for all entities or only for those having conflicting synonyms + + Data structure for *fields* argument (also see compile_dict_specs() function): + [ + { + 'name': 'str name of attribute', + 'include': bool True for including this column else False, + 'delimiter': 'str delimiter in case column stores concatenated lists', + 'id_flag': bool True if column stores entity ID else False, + 'normalizer_flag': bool True if column stores string normalizer tag else False, + 'value_flag': bool True if column stores string label to recognize else False + } + ] """ + specs = self.compile_dict_specs(fields) tries, line_numbers = self.make_recognizer(model, filename, specs, word_separator, item_limit, compressed, column_separator, column_enclosure, tokenizer_option) keywords = {model.CONTENT_KEY: {}, model.INTERNAL_ID_KEY: {}} if include_keywords: @@ -356,7 +369,7 @@ def spot_entities(self, model, source_string, normalizer_name, include_query='', int *progress_from*: initial progress value to report int *progress_to*: maximum progress value to report - Data structure for returbed value: + Data structure for returned value: [ ( [int internal_ids], diff --git a/test/performance.py b/test/performance.py index bb3609f..635c5b7 100644 --- a/test/performance.py +++ b/test/performance.py @@ -147,10 +147,9 @@ def perf_compile_model_save_model(modules_to_test): {'name': 'label_attr', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, {'name': 'entity_attr', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] -specs = utility.compile_dict_specs(fields) """ % (x), stmt=""" -utility.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) +utility.compile_model(model, '.test-dict.txt', fields, ' ', '\\t', '\\n', include_keywords=True) model.destroy() """, number=n @@ -173,8 +172,7 @@ def perf_compile_model_save_model(modules_to_test): {'name': 'label_attr', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False}, {'name': 'entity_attr', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] -specs = utility.compile_dict_specs(fields) -utility.compile_model(model, '.test-dict.txt', specs, ' ', '\\t', '\\n', include_keywords=True) +utility.compile_model(model, '.test-dict.txt', fields, ' ', '\\t', '\\n', include_keywords=True) """ % (x), stmt=""" model.save('.test-model') diff --git a/test/sandbox.py b/test/sandbox.py index 75a4a49..4b70774 100644 --- a/test/sandbox.py +++ b/test/sandbox.py @@ -28,7 +28,7 @@ def save_it(): ] specs = r.compile_dict_specs(fields) _messages.clear() - r.compile_model(m, 'test/assets/sample_dictionary.txt', specs, ' ', '\t', '\n', item_limit=3, include_keywords=True) + r.compile_model(m, 'test/assets/sample_dictionary.txt', fields, ' ', '\t', '\n', item_limit=3, include_keywords=True) print(m['~keywords']) #s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' s = 'this is awwsome white refrigerator , and it is awesome white refrigerator' diff --git a/test/ut_utility.py b/test/ut_utility.py index afefafc..229e09d 100644 --- a/test/ut_utility.py +++ b/test/ut_utility.py @@ -19,7 +19,6 @@ def compile_test_model(self): {'name': 'label', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, {'name': 'some_attribute', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} ] - specs = self.utility.compile_dict_specs(fields) model = self.model model.add_normalizer('t1', 'test/assets/tokenizer1.xml') model.add_normalizer('t2', 'test/assets/tokenizer2.xml') @@ -27,7 +26,7 @@ def compile_test_model(self): 'tokenizer1': 't1', 'tokenizer2': 't2' } - compiled = self.utility.compile_model(model=model, filename='test/assets/sample_dictionary.txt', specs=specs, word_separator=' ', column_separator='\t', column_enclosure='', include_keywords=True) + compiled = self.utility.compile_model(model=model, filename='test/assets/sample_dictionary.txt', fields=fields, word_separator=' ', column_separator='\t', column_enclosure='', include_keywords=True) return compiled, model def test_init(self): From c539b46485f0d29e8a8055327de451c8912c32b8 Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 6 Oct 2020 01:05:00 -0400 Subject: [PATCH 101/116] readme (completed) --- README.md | 161 +++++++++++++++++++++++++++--------------------------- 1 file changed, 82 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 6114a68..b1e0504 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The only dependency is `sic` package. While it can be automatically installed at ## 3. Diagram -`pilsner` consists of two major components: `Model` and `Utility`. `Model` class provides storage for the dictionary and string normalization rules, as well as methods for populating this storage. `Utility` class provides methods for accessing `Model`. +`pilsner` consists of two major components: `Model` and `Utility`. `Model` class provides storage for the dictionary and string normalization rules, as well as low-level methods for populating this storage. `Utility` class provides high-level methods for storing and retrieving data to/from `Model` instance. ![Diagram](misc/pilsner-diagram.svg) @@ -33,74 +33,6 @@ The only dependency is `sic` package. While it can be automatically installed at import pilsner ``` -```python -import pilsner - -m = pilsner.Model() -m.add_normalizer('default', 'default_normalizer.xml') -m.add_normalizer('custom', 'custom_normalizer.xml') -m.normalizer_map = { - 'animal': 'default', - 'plant': 'custom' -} -r = pilsner.Utility() -fields = [ - { - 'name': 'type', - 'include': True, - 'delimiter': None, - 'id_flag': False, - 'normalizer_flag': True, - 'value_flag': False - }, - { - 'name': 'id', - 'include': True, - 'delimiter': None, - 'id_flag': True, - 'normalizer_flag': False, - 'value_flag': False - }, - { - 'name': 'label', - 'include': True, - 'delimiter': None, - 'id_flag': False, - 'normalizer_flag': False, - 'value_flag': True - }, - { - 'name': 'habitat', - 'include': True, - 'delimiter': ',', - 'id_flag': False, - 'normalizer_flag': False, - 'value_flag': False - } -] -specs = r.compile_dict_specs(fields) -r.compile_model( - model=m, - filename='living_things.txt', - specs=specs, - word_separator=' ', - column_separator='\t', - column_enclosure='\n', - include_keywords=True -) -m.save('living_things') -m = pilsner.Model('living_things') -text_to_parse = 'sample text here' -parsed = r.parse( - model=m, - source_string=text_to_parse, - attrs_where={ - '+': {'habitat': {'air', 'ocean'}} - }, - attrs_out=['id', 'type', 'habitat'] -) -``` - ### 4.1. Initialize model - To initialize empty model: @@ -133,8 +65,7 @@ m = pilsner.Model(filename='path/to/model') ### 4.2. Add string normalization units -Depending on the dictionary and nature of the text supposed to be parsed, string normalization might not be required at all, and nothing specific is to be done in such case. - +- Depending on the dictionary and nature of the text supposed to be parsed, string normalization might not be required at all, and nothing specific is to be done here in such case. - Without string normalization, synonyms from the dictionary will be stored as they are and looked up by recognizer case-sensitively. - To add a single normalization unit: @@ -160,34 +91,106 @@ m.normalizer_map = { } ``` -> The snippet above instructs `pilsner` to normalize synonyms that have `synonym_type_1` value in `tokenizer` column with `normalizer_1` normalization unit, and normalize synonyms that have `synonym_type_2` value in `tokenizer` column with `normalizer_2` normalization unit. More about fields in the dictionary, see [4.4. Add dictionary](#44-add-dictionary). +> The snippet above instructs `pilsner` to normalize synonyms that have `synonym_type_1` value in `tokenizer` column with `normalizer_1` normalization unit, and normalize synonyms that have `synonym_type_2` value in `tokenizer` column with `normalizer_2` normalization unit. More about fields in the dictionary, see [4.4. Define dictionary](#44-define-dictionary). ### 4.3. Initialize utility +- To load dictionary into `Model` instance, as well as to parse text, the `Utility` instance is required: + ```python r = pilsner.Utility() ``` -### 4.4. Add dictionary +### 4.4. Define dictionary -Blah +- Source dictionary for `pilsner` must be delimited text file. +- Along with the source dictionary, specifications of the columns (fields) must be provided as list where each item corresponds to a column (from left to right). Each item in this list must be a dict object with string keys `name`, `include`, `delimiter`, `id_flag`, `normalizer_flag`, and `value_flag`, so that: + - `field['name']` is a string for column title; + - `field['include']` is a boolean that must be set to `True` for the column to be included in the model, otherwise `False`; + - `field['delimiter']` is a string that is supposed to split single cell into list of values if the column holds concatenated lists rather than individual values; + - `field['id_flag]` is a boolean that must be set to `True` if the column is supposed to be used for grouping synonyms (generally, entity ID is such column), otherwise `False`; + - `field['normalizer_flag']` is a boolean that must be set to `True` if the column holds indication on what normalization unit must be applied to this particular synonym, otherwise `False`; + - `field['value_flag']` is a boolean that must be set to `True` if the column holds synonyms that are supposed to be looked up when parsing a text, otherwise `False`. + +> If dictionary has a column flagged with `normalizer_flag`, synonym in each row will be normalized with string normalization unit which name is mapped on value in this column using `pilsner.Model.normalizer_map` dict. If value is not among `pilsner.Model.normalizer_map` keys, default normalization unit will be used. ### 4.5. Compile model -Blah +- To store dictionary in `Model` instance, method `compile_model` of `Utility` instance must be called with the following required parameters: + - `model`: pointer to initilized `Model` instance; + - `filename`: string with path and filename of source dictionary; + - `fields`: dict object with definitions of columns (see [4.4. Define dictionary](#44-define-dictionary)); + - `word_separator`: string defining what is to be considered word separator (generally, it should be whitespace); + - `column_separator`: string defining what is to be considered column separator (e.g. `\t` for tab-delimited file); + - `column_enclosure`: string defining what is to be stripped away from cell after row has been split into columns (typically, it should be `\n` for new line character to be trimmed from the rightmost column). + +```python +# Assuming m is pilsner.Model instance and r is pilsner.Utility instance: +r.compile_model( + model=m, + filename='path/to/dictionary_in_a_text_file.txt', + fields=fields, + word_separator=' ', + column_separator='\t', + column_enclosure='\n' +) +``` + +- To review optional parameters, see comments in the code. ### 4.6. Save model -Blah +- If `Model` instance has compiled dictionary, and if database location for the `Model` instance is not explicitly set to `':memory:'`, the data such instance is holding can be saved to disk: + +```python +# Assuming m is pilsner.Model instance +m.save('path/to/model_name') +``` + +- The snippet above will write the following files: + - `path/to/model_name.attributes`: database with attributes (fields from the dictionary that are not synonyms); + - `path/to/model_name.keywords`: keywords used for disambiguation; + - `path/to/model_name.normalizers`: string normalization units; + - `path/to/model_name.0.dictionary`: trie with synonyms; + - `path/to/model_name..dictionary`: additional tries with synonyms (`` being integer number of a trie) in case more than one trie was created (see comments in the code - `pilsner.Utility.compile_model` method, `item_limit` parameter). ### 4.7. Load model -Blah +- To initialize new `Model` instance using previously saved data: + +```python +m = pilsner.Model(filename='path/to/model_name') +``` + +- Alternatively, data can be loaded to previously initialized `Model` instance: + +```python +m = pilsner.Model() +m.load('path/to/model_name') +``` + +- In both cases, the program will look for the following files: + - `path/to/model_name.attributes`: database with attributes (fields from the dictionary that are not synonyms); + - `path/to/model_name.keywords`: keywords used for disambiguation; + - `path/to/model_name.normalizers`: string normalization units; + - `path/to/model_name..dictionary`: tries with synonyms (`` being integer). ### 4.8. Parse string -Blah +- To parse a string without filtering out any synonyms and output all attributes of spotted entities: + +```python +# Assuming m is pilsner.Model instance, r is pilsner.Utility instance, and text_to_parse is string to parse +parsed = r.parse( + model=m, + source_string=text_to_parse +) +``` + +- The output will be dict object where keys are tuples for location of spotted entity in a string (begin, end) and values are dicts for attributes that are associated with identified entity (`{'attribute_name': {attribute_values}}`). +- For details about optional parameters, see comments in the code - `pilsner.Utility.parse` function). + ## 5. Example -Blah +Everything written above is put together in example code, see **/misc/example/** directory in the project's repository. From 968e95e95f7fa32289587d4458137d72e770d01e Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 6 Oct 2020 01:19:16 -0400 Subject: [PATCH 102/116] readme (hard line wrap) --- README.md | 138 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 102 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index b1e0504..244d7ad 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,9 @@ Python implemented library servicing named entity recognition ## 1. Purpose -This library is Python implementation of toolkit for dictionary based named entity recognition. It is intended to store any thesaurus in a trie-like structure and identify any of stored synonyms in a string. +This library is Python implementation of toolkit for dictionary based named +entity recognition. It is intended to store any thesaurus in a trie-like +structure and identify any of stored synonyms in a string. ## 2. Installation and dependencies @@ -19,11 +21,18 @@ pip install pilsner `pilsner` is tested in Python 3.6, 3.7, and 3.8. -The only dependency is `sic` package. While it can be automatically installed at the time of `pilsner` installation, manual installation of `sic` beforehand might also be considered (see benchmark of cythonized vs pure Python implementation in `sic` docimentation, [https://pypi.org/project/sic/](https://pypi.org/project/sic/)). +The only dependency is `sic` package. While it can be automatically installed +at the time of `pilsner` installation, manual installation of `sic` beforehand +might also be considered (see benchmark of cythonized vs pure Python +implementation in `sic` docimentation, +[https://pypi.org/project/sic/](https://pypi.org/project/sic/)). ## 3. Diagram -`pilsner` consists of two major components: `Model` and `Utility`. `Model` class provides storage for the dictionary and string normalization rules, as well as low-level methods for populating this storage. `Utility` class provides high-level methods for storing and retrieving data to/from `Model` instance. +`pilsner` consists of two major components: `Model` and `Utility`. `Model` +class provides storage for the dictionary and string normalization rules, as +well as low-level methods for populating this storage. `Utility` class provides +high-level methods for storing and retrieving data to/from `Model` instance. ![Diagram](misc/pilsner-diagram.svg) @@ -47,13 +56,15 @@ m = pilsner.Model() m = pilsner.Model(storage_location='path/to/database.file') ``` -- To create empty model that uses database created in memory rather than on disk: +- To create empty model that uses database created in memory rather than on +disk: ```python m = pilsner.Model(storage_location=':memory:') ``` -> If database is created in memory, the model cannot be later saved on disk (can only be used instantly). +> If database is created in memory, the model cannot be later saved on disk +(can only be used instantly). - To load model from disk: @@ -61,12 +72,16 @@ m = pilsner.Model(storage_location=':memory:') m = pilsner.Model(filename='path/to/model') ``` -> More on how model is saved to and loaded from disk - see [4.6. Save model](#46-save-model) and [4.7. Load model](#47-load-model). +> More on how model is saved to and loaded from disk - see +[4.6. Save model](#46-save-model) and [4.7. Load model](#47-load-model). ### 4.2. Add string normalization units -- Depending on the dictionary and nature of the text supposed to be parsed, string normalization might not be required at all, and nothing specific is to be done here in such case. -- Without string normalization, synonyms from the dictionary will be stored as they are and looked up by recognizer case-sensitively. +- Depending on the dictionary and nature of the text supposed to be parsed, +string normalization might not be required at all, and nothing specific is to +be done here in such case. +- Without string normalization, synonyms from the dictionary will be stored as +they are and looked up by recognizer case-sensitively. - To add a single normalization unit: ```python @@ -77,11 +92,22 @@ m.add_normalizer( ) ``` -> String normalization is technically done by `sic` component. See documentation for `sic` at [https://pypi.org/project/sic/](https://pypi.org/project/sic/) to learn how to design normalizer config. +> String normalization is technically done by `sic` component. See +> documentation for `sic` at +> [https://pypi.org/project/sic/](https://pypi.org/project/sic/) to learn how +> to design normalizer config. - Model can embed more than one normalization unit. -- Default normalization unit for the model is the one added first or the last one added with parameter `default` set to `True`. -- Having multiple normalization units in one model makes perfect sense when the stored dictionary contains synonyms of different nature that should be normalized in different ways (for example, abbreviations probably should not get normalized at all, while other synonyms might include tokens or punctuation marks that should not affect entity recognition). For that purpose, Model class includes `normalizer_map` dict that is supposed to map names of added normalization units to values in specific field in a dictionary designating the way a synonym should be normalized (tokenizer field, or tokenizer column): +- Default normalization unit for the model is the one added first or the last +one added with parameter `default` set to `True`. +- Having multiple normalization units in one model makes perfect sense when the +stored dictionary contains synonyms of different nature that should be +normalized in different ways (for example, abbreviations probably should not +get normalized at all, while other synonyms might include tokens or punctuation +marks that should not affect entity recognition). For that purpose, Model class +includes `normalizer_map` dict that is supposed to map names of added +normalization units to values in specific field in a dictionary designating the +way a synonym should be normalized (tokenizer field, or tokenizer column): ```python # Assuming m is pilsner.Model instance: @@ -91,11 +117,16 @@ m.normalizer_map = { } ``` -> The snippet above instructs `pilsner` to normalize synonyms that have `synonym_type_1` value in `tokenizer` column with `normalizer_1` normalization unit, and normalize synonyms that have `synonym_type_2` value in `tokenizer` column with `normalizer_2` normalization unit. More about fields in the dictionary, see [4.4. Define dictionary](#44-define-dictionary). +> The snippet above instructs `pilsner` to normalize synonyms that have +> `synonym_type_1` value in `tokenizer` column with `normalizer_1` +> normalization unit, and normalize synonyms that have `synonym_type_2` value +> in `tokenizer` column with `normalizer_2` normalization unit. For more about +> fields in a dictionary, see [4.4. Define dictionary](#44-define-dictionary). ### 4.3. Initialize utility -- To load dictionary into `Model` instance, as well as to parse text, the `Utility` instance is required: +- To load dictionary into `Model` instance, as well as to parse text, the +`Utility` instance is required: ```python r = pilsner.Utility() @@ -104,25 +135,48 @@ r = pilsner.Utility() ### 4.4. Define dictionary - Source dictionary for `pilsner` must be delimited text file. -- Along with the source dictionary, specifications of the columns (fields) must be provided as list where each item corresponds to a column (from left to right). Each item in this list must be a dict object with string keys `name`, `include`, `delimiter`, `id_flag`, `normalizer_flag`, and `value_flag`, so that: +- Along with the source dictionary, specifications of the columns (fields) must +be provided as list where each item corresponds to a column (from left to +right). Each item in this list must be a dict object with string keys `name`, +`include`, `delimiter`, `id_flag`, `normalizer_flag`, and `value_flag`, so +that: - `field['name']` is a string for column title; - - `field['include']` is a boolean that must be set to `True` for the column to be included in the model, otherwise `False`; - - `field['delimiter']` is a string that is supposed to split single cell into list of values if the column holds concatenated lists rather than individual values; - - `field['id_flag]` is a boolean that must be set to `True` if the column is supposed to be used for grouping synonyms (generally, entity ID is such column), otherwise `False`; - - `field['normalizer_flag']` is a boolean that must be set to `True` if the column holds indication on what normalization unit must be applied to this particular synonym, otherwise `False`; - - `field['value_flag']` is a boolean that must be set to `True` if the column holds synonyms that are supposed to be looked up when parsing a text, otherwise `False`. - -> If dictionary has a column flagged with `normalizer_flag`, synonym in each row will be normalized with string normalization unit which name is mapped on value in this column using `pilsner.Model.normalizer_map` dict. If value is not among `pilsner.Model.normalizer_map` keys, default normalization unit will be used. + - `field['include']` is a boolean that must be set to `True` for the column + to be included in the model, otherwise `False`; + - `field['delimiter']` is a string that is supposed to split single cell into + list of values if the column holds concatenated lists rather than individual + values; + - `field['id_flag]` is a boolean that must be set to `True` if the column is + supposed to be used for grouping synonyms (generally, entity ID is such + column), otherwise `False`; + - `field['normalizer_flag']` is a boolean that must be set to `True` if the + column holds indication on what normalization unit must be applied to this + particular synonym, otherwise `False`; + - `field['value_flag']` is a boolean that must be set to `True` if the column + holds synonyms that are supposed to be looked up when parsing a text, + otherwise `False`. + +> If dictionary has a column flagged with `normalizer_flag`, synonym in each +> row will be normalized with string normalization unit which name is mapped on +> value in this column using `pilsner.Model.normalizer_map` dict. If value is +> not among `pilsner.Model.normalizer_map` keys, default normalization unit +> will be used. ### 4.5. Compile model -- To store dictionary in `Model` instance, method `compile_model` of `Utility` instance must be called with the following required parameters: +- To store dictionary in `Model` instance, method `compile_model` of `Utility` +instance must be called with the following required parameters: - `model`: pointer to initilized `Model` instance; - `filename`: string with path and filename of source dictionary; - - `fields`: dict object with definitions of columns (see [4.4. Define dictionary](#44-define-dictionary)); - - `word_separator`: string defining what is to be considered word separator (generally, it should be whitespace); - - `column_separator`: string defining what is to be considered column separator (e.g. `\t` for tab-delimited file); - - `column_enclosure`: string defining what is to be stripped away from cell after row has been split into columns (typically, it should be `\n` for new line character to be trimmed from the rightmost column). + - `fields`: dict object with definitions of columns (see + [4.4. Define dictionary](#44-define-dictionary)); + - `word_separator`: string defining what is to be considered word separator + (generally, it should be whitespace); + - `column_separator`: string defining what is to be considered column + separator (e.g. `\t` for tab-delimited file); + - `column_enclosure`: string defining what is to be stripped away from cell + after row has been split into columns (typically, it should be `\n` for new + line character to be trimmed from the rightmost column). ```python # Assuming m is pilsner.Model instance and r is pilsner.Utility instance: @@ -140,7 +194,9 @@ r.compile_model( ### 4.6. Save model -- If `Model` instance has compiled dictionary, and if database location for the `Model` instance is not explicitly set to `':memory:'`, the data such instance is holding can be saved to disk: +- If `Model` instance has compiled dictionary, and if database location for the +`Model` instance is not explicitly set to `':memory:'`, the data such instance +is holding can be saved to disk: ```python # Assuming m is pilsner.Model instance @@ -148,11 +204,15 @@ m.save('path/to/model_name') ``` - The snippet above will write the following files: - - `path/to/model_name.attributes`: database with attributes (fields from the dictionary that are not synonyms); + - `path/to/model_name.attributes`: database with attributes (fields from the + dictionary that are not synonyms); - `path/to/model_name.keywords`: keywords used for disambiguation; - `path/to/model_name.normalizers`: string normalization units; - `path/to/model_name.0.dictionary`: trie with synonyms; - - `path/to/model_name..dictionary`: additional tries with synonyms (`` being integer number of a trie) in case more than one trie was created (see comments in the code - `pilsner.Utility.compile_model` method, `item_limit` parameter). + - `path/to/model_name..dictionary`: additional tries with synonyms (`` + being integer number of a trie) in case more than one trie was created (see + comments in the code - `pilsner.Utility.compile_model` method, `item_limit` + parameter). ### 4.7. Load model @@ -173,24 +233,30 @@ m.load('path/to/model_name') - `path/to/model_name.attributes`: database with attributes (fields from the dictionary that are not synonyms); - `path/to/model_name.keywords`: keywords used for disambiguation; - `path/to/model_name.normalizers`: string normalization units; - - `path/to/model_name..dictionary`: tries with synonyms (`` being integer). + - `path/to/model_name..dictionary`: tries with synonyms (`` being + integer). ### 4.8. Parse string -- To parse a string without filtering out any synonyms and output all attributes of spotted entities: +- To parse a string without filtering out any synonyms and output all +attributes of spotted entities: ```python -# Assuming m is pilsner.Model instance, r is pilsner.Utility instance, and text_to_parse is string to parse +# Assuming m is pilsner.Model instance, r is pilsner.Utility instance, +# and text_to_parse is string to parse parsed = r.parse( model=m, source_string=text_to_parse ) ``` -- The output will be dict object where keys are tuples for location of spotted entity in a string (begin, end) and values are dicts for attributes that are associated with identified entity (`{'attribute_name': {attribute_values}}`). -- For details about optional parameters, see comments in the code - `pilsner.Utility.parse` function). - +- The output will be dict object where keys are tuples for location of spotted +entity in a string (begin, end) and values are dicts for attributes that are +associated with identified entity (`{'attribute_name': {attribute_values}}`). +- For details about optional parameters, see comments in the code - +`pilsner.Utility.parse` function). ## 5. Example -Everything written above is put together in example code, see **/misc/example/** directory in the project's repository. +Everything written above is put together in example code, +see **/misc/example/** directory in the project's repository. From 87479547cef4f0b7a2287aed5372d2912062af28 Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 6 Oct 2020 22:42:35 -0400 Subject: [PATCH 103/116] example --- misc/example/custom_normalizer.xml | 5 +++++ misc/example/default_normalizer.xml | 6 ++++++ misc/example/example.py | 15 +++++++++------ misc/example/living_things.txt | 5 ++++- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/misc/example/custom_normalizer.xml b/misc/example/custom_normalizer.xml index e69de29..71a4048 100644 --- a/misc/example/custom_normalizer.xml +++ b/misc/example/custom_normalizer.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/misc/example/default_normalizer.xml b/misc/example/default_normalizer.xml index e69de29..424ab57 100644 --- a/misc/example/default_normalizer.xml +++ b/misc/example/default_normalizer.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/misc/example/example.py b/misc/example/example.py index 478392d..7e9f0fa 100644 --- a/misc/example/example.py +++ b/misc/example/example.py @@ -10,8 +10,8 @@ m = pilsner.Model() # Add normalization units -#m.add_normalizer('default', 'misc/example/default_normalizer.xml') -#m.add_normalizer('custom', 'misc/example/custom_normalizer.xml') +m.add_normalizer('default', 'misc/example/default_normalizer.xml') +m.add_normalizer('custom', 'misc/example/custom_normalizer.xml') # Map names of normalization units to some string values m.normalizer_map = { @@ -76,15 +76,18 @@ m = pilsner.Model('misc/example/living_things') # Parse string -text_to_parse = 'sample text here a b c d c b a' +text_to_parse = ''' +Little mouse is not recognized and is not frightened by big scary eagle. +Daniorerio also does not care much about water lilies, though both are recognized. +''' parsed = r.parse( model=m, source_string=text_to_parse, attrs_where={ - '+': {'habitat': {'air', 'ocean'}} + '+': {'habitat': {'air', 'ocean'}} # only consider items with these values in 'habitat' column }, - attrs_out=['id', 'type', 'habitat'] + attrs_out=['id', 'type', 'habitat'] # for each spotted entity, output 'id', 'type', and 'habitat' attributes ) -# Print out the result +# Print out the result: recognized are 'big eagle', 'danio rerio', 'water lily'. print(parsed) diff --git a/misc/example/living_things.txt b/misc/example/living_things.txt index 593d58d..444832d 100644 --- a/misc/example/living_things.txt +++ b/misc/example/living_things.txt @@ -1 +1,4 @@ -a b c air +animal 1 little mouse ground +animal 2 big eagle air +animal 3 danio rerio ocean +plant 4 water lily ocean From 5e2453c962681c4313fde91890d757b054ce6ac8 Mon Sep 17 00:00:00 2001 From: pgolo Date: Tue, 6 Oct 2020 22:53:30 -0400 Subject: [PATCH 104/116] simplified example --- misc/example/example.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/example/example.py b/misc/example/example.py index 7e9f0fa..c70ae0c 100644 --- a/misc/example/example.py +++ b/misc/example/example.py @@ -86,7 +86,7 @@ attrs_where={ '+': {'habitat': {'air', 'ocean'}} # only consider items with these values in 'habitat' column }, - attrs_out=['id', 'type', 'habitat'] # for each spotted entity, output 'id', 'type', and 'habitat' attributes + attrs_out=['type'] # for each spotted entity, only output 'type' attribute ) # Print out the result: recognized are 'big eagle', 'danio rerio', 'water lily'. From 3b34104e74aff12be4ba08d6bfec38808a06fbae Mon Sep 17 00:00:00 2001 From: pgolo Date: Wed, 7 Oct 2020 20:11:07 -0400 Subject: [PATCH 105/116] adjusted norm configs for example --- misc/example/custom_normalizer.xml | 2 +- misc/example/default_normalizer.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/example/custom_normalizer.xml b/misc/example/custom_normalizer.xml index 71a4048..12b1911 100644 --- a/misc/example/custom_normalizer.xml +++ b/misc/example/custom_normalizer.xml @@ -1,5 +1,5 @@ - + diff --git a/misc/example/default_normalizer.xml b/misc/example/default_normalizer.xml index 424ab57..709f5c7 100644 --- a/misc/example/default_normalizer.xml +++ b/misc/example/default_normalizer.xml @@ -1,5 +1,5 @@ - + From 8769c542441aba8ba7bdefdf6e5ab07d7fc6d712 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 01:16:25 -0400 Subject: [PATCH 106/116] updated gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index cb8f20e..a814b03 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ cythonized/* dist/* bin/* *.spec +pilsner.egg-info/* !**/.gitkeep !**/.gitignore From 49b4cf769a915c38b817fcf3657a03ef77a6243e Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 01:16:40 -0400 Subject: [PATCH 107/116] updated dependencies --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index c8c5d07..da74093 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,3 @@ +Cython==0.29.19 +setuptools==47.1.1 sic>=1.0.4 --no-binary sic From 1c3ed90086bbc9a6975b5b4010576e353a045e82 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 01:18:01 -0400 Subject: [PATCH 108/116] setup --- MANIFEST.in | 2 ++ shipping/cythonize.py | 5 +++++ shipping/make_setup.py | 16 ++++++++++++++++ shipping/setup.py | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 MANIFEST.in create mode 100644 shipping/cythonize.py create mode 100644 shipping/make_setup.py create mode 100644 shipping/setup.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..04f196a --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include README.md +include LICENSE diff --git a/shipping/cythonize.py b/shipping/cythonize.py new file mode 100644 index 0000000..660f7b6 --- /dev/null +++ b/shipping/cythonize.py @@ -0,0 +1,5 @@ +try: + from Cython.Build import cythonize + ext_modules = cythonize(['pilsner/model.py', 'pilsner/utility.py'], compiler_directives={'language_level': '3'}) +except: + pass diff --git a/shipping/make_setup.py b/shipping/make_setup.py new file mode 100644 index 0000000..cd33a97 --- /dev/null +++ b/shipping/make_setup.py @@ -0,0 +1,16 @@ +import sys + +def just_do_it(option): + cythonize = '' + if option in ['bdist_wheel']: + with open('shipping/cythonize.py', mode='r', encoding='utf8') as f: + cythonize = f.read() + with open('shipping/setup.py', mode='r', encoding='utf8') as i, open('./setup.py', mode='w', encoding='utf8') as o: + for line in i: + if line.strip() != '# pilsner: cythonize?': + o.write(line) + else: + o.write(cythonize) + +if __name__ == '__main__': + just_do_it(sys.argv[1] if len(sys.argv) > 1 else '') diff --git a/shipping/setup.py b/shipping/setup.py new file mode 100644 index 0000000..44683dd --- /dev/null +++ b/shipping/setup.py @@ -0,0 +1,36 @@ +import sys +from setuptools import setup + +ext_modules = None +with open('README.md', mode='r', encoding='utf8') as f: + long_description = f.read() + +# pilsner: cythonize? + +setup( + name='pilsner', + version='X.X.X', + description='Utility for dictionary-based named entity recognition', + long_description=long_description, + long_description_content_type='text/markdown', + url='https://github.com/pgolo/pilsner', + author='Pavel Golovatenko-Abramov', + author_email='p.golovatenko@gmail.com', + packages=['pilsner'], + ext_modules=ext_modules, + include_package_data=True, + license='MIT', + platforms=['any'], + classifiers=[ + 'Development Status :: 3 - Alpha', + 'Intended Audience :: Developers', + 'Topic :: Software Development :: Libraries :: Python Modules', + 'Topic :: Text Processing :: Linguistic', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', + 'Operating System :: OS Independent', + ], + python_requires='>=3.6' +) From cf55e6469d1a8c6896e54a9ecedb033dbfaf67e0 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 01:18:11 -0400 Subject: [PATCH 109/116] building scripts --- scripts/linux/buildtargz.sh | 35 +++++++++++++++++++++++++++++++++++ scripts/linux/buildwheel.sh | 35 +++++++++++++++++++++++++++++++++++ scripts/win/buildtargz.bat | 23 +++++++++++++++++++++++ scripts/win/buildwheel.bat | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 125 insertions(+) create mode 100644 scripts/linux/buildtargz.sh create mode 100644 scripts/linux/buildwheel.sh create mode 100644 scripts/win/buildtargz.bat create mode 100644 scripts/win/buildwheel.bat diff --git a/scripts/linux/buildtargz.sh b/scripts/linux/buildtargz.sh new file mode 100644 index 0000000..eaa0ff1 --- /dev/null +++ b/scripts/linux/buildtargz.sh @@ -0,0 +1,35 @@ +# Usage: +# buildtargz.sh path/to/python +# +# The package will be placed in dist/ directory. + +RUNDIR=`pwd` +cd `dirname $0` +MYDIR=`pwd` +ROOT=${MYDIR}/../.. +REQUIREMENTS=${ROOT}/requirements.txt +ENV=${ROOT}/.env.build +SHIPPING=${ROOT}/shipping + +if [ $# -eq 0 ] +then + cd ${RUNDIR} + exit +fi + +if [ ! -f $1 ] +then + echo $1: Python not found + cd ${RUNDIR} + exit +fi + +cd ${ROOT} + +virtualenv -p $1 ${ENV} +${ENV}/bin/python3 ${SHIPPING}/make_setup.py sdist +${ENV}/bin/python3 ${ROOT}/setup.py sdist + +rm ${ROOT}/setup.py + +cd ${RUNDIR} diff --git a/scripts/linux/buildwheel.sh b/scripts/linux/buildwheel.sh new file mode 100644 index 0000000..2fc6803 --- /dev/null +++ b/scripts/linux/buildwheel.sh @@ -0,0 +1,35 @@ +# Usage: +# buildwheel.sh path/to/python3.6 path/to/python3.7 path/to/python3.8 +# +# The wheels will be placed in dist/ directory. + +RUNDIR=`pwd` +cd `dirname $0` +MYDIR=`pwd` +ROOT=${MYDIR}/../.. +REQUIREMENTS=${ROOT}/requirements.txt +ENV=${ROOT}/.env.build +SHIPPING=${ROOT}/shipping + +cd ${ROOT} + +for PY in "$@" +do + if [ ! -f ${PY} ] + then + echo ${PY}: Python not found + else + virtualenv -p ${PY} ${ENV} + ${ENV}/bin/python3 -m pip install --no-cache-dir -r ${REQUIREMENTS} + ${ENV}/bin/python3 ${SHIPPING}/make_setup.py bdist_wheel + ${ENV}/bin/python3 ${ROOT}/setup.py bdist_wheel + rm -r ${ENV} + rm -r ${ROOT}/pilsner.egg-info + rm -r ${ROOT}/build + rm ${ROOT}/pilsner/model.c + rm ${ROOT}/pilsner/utility.c + rm ${ROOT}/setup.py + fi +done + +cd ${RUNDIR} diff --git a/scripts/win/buildtargz.bat b/scripts/win/buildtargz.bat new file mode 100644 index 0000000..76cc2ba --- /dev/null +++ b/scripts/win/buildtargz.bat @@ -0,0 +1,23 @@ +@echo off +rem Usage: +rem buildtargz.bat path\to\python +rem +rem The package will be placed in dist\ directory. + +set RUNDIR=%cd% +set MYDIR=%~dp0 +set ROOT=%MYDIR%\..\.. +set ENV=%ROOT%\.env.build +set SHIPPING=%ROOT%\shipping + +if (%1)==() (cd %RUNDIR% && exit) +if not exist "%1" (echo "%1": Python not found && cd %RUNDIR% && exit) +cd "%ROOT%" +virtualenv -p "%1" "%ENV%" +"%ENV%"\Scripts\python "%SHIPPING%"\make_setup.py sdist +"%ENV%"\Scripts\python "%ROOT%"\setup.py sdist +rmdir /S /Q "%ENV%" + +del /Q "%ROOT%"\setup.py + +cd %RUNDIR% diff --git a/scripts/win/buildwheel.bat b/scripts/win/buildwheel.bat new file mode 100644 index 0000000..aaeaf4d --- /dev/null +++ b/scripts/win/buildwheel.bat @@ -0,0 +1,32 @@ +@echo off +rem Usage: +rem buildwheel.bat path\to\python36 path\to\python37 path\to\python38 +rem +rem The package will be placed in dist\ directory. + +set RUNDIR=%cd% +set MYDIR=%~dp0 +set ROOT=%MYDIR%\..\.. +set REQUIREMENTS=%ROOT%\requirements.txt +set ENV=%ROOT%\.env.build +set SHIPPING=%ROOT%\shipping + +:BUILD +if (%1)==() (goto FINISH) +if not exist "%1" (echo "%1": Python not found && shift && goto BUILD) +cd "%ROOT%" +virtualenv -p "%1" "%ENV%" +"%ENV%"\Scripts\python -m pip install --no-cache-dir -r "%REQUIREMENTS%" +"%ENV%"\Scripts\python "%SHIPPING%"\make_setup.py bdist_wheel +"%ENV%"\Scripts\python "%ROOT%"\setup.py bdist_wheel +rmdir /S /Q "%ENV%" +rmdir /S /Q "%ROOT%"\pilsner.egg-info +rmdir /S /Q "%ROOT%"\build +del /Q "%ROOT%"\pilsner\model.c +del /Q "%ROOT%"\pilsner\utility.c +shift +goto BUILD + +:FINISH +del /Q "%ROOT%"\setup.py +cd %RUNDIR% From 6e8353a2beac2de5c67b39cd6cb56207988c8364 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 01:39:58 -0400 Subject: [PATCH 110/116] updated reqs --- requirements.txt => requirements-build.txt | 1 - requirements-dev.txt | 1 + scripts/linux/buildtargz.sh | 1 - scripts/linux/buildwheel.sh | 2 +- scripts/win/buildtargz.bat | 1 + scripts/win/buildwheel.bat | 2 +- shipping/setup.py | 3 ++- 7 files changed, 6 insertions(+), 5 deletions(-) rename requirements.txt => requirements-build.txt (56%) create mode 100644 requirements-dev.txt diff --git a/requirements.txt b/requirements-build.txt similarity index 56% rename from requirements.txt rename to requirements-build.txt index da74093..f1fa460 100644 --- a/requirements.txt +++ b/requirements-build.txt @@ -1,3 +1,2 @@ Cython==0.29.19 setuptools==47.1.1 -sic>=1.0.4 --no-binary sic diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..c8c5d07 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1 @@ +sic>=1.0.4 --no-binary sic diff --git a/scripts/linux/buildtargz.sh b/scripts/linux/buildtargz.sh index eaa0ff1..1d5e4d7 100644 --- a/scripts/linux/buildtargz.sh +++ b/scripts/linux/buildtargz.sh @@ -7,7 +7,6 @@ RUNDIR=`pwd` cd `dirname $0` MYDIR=`pwd` ROOT=${MYDIR}/../.. -REQUIREMENTS=${ROOT}/requirements.txt ENV=${ROOT}/.env.build SHIPPING=${ROOT}/shipping diff --git a/scripts/linux/buildwheel.sh b/scripts/linux/buildwheel.sh index 2fc6803..31f8f49 100644 --- a/scripts/linux/buildwheel.sh +++ b/scripts/linux/buildwheel.sh @@ -7,7 +7,7 @@ RUNDIR=`pwd` cd `dirname $0` MYDIR=`pwd` ROOT=${MYDIR}/../.. -REQUIREMENTS=${ROOT}/requirements.txt +REQUIREMENTS=${ROOT}/requirements-build.txt ENV=${ROOT}/.env.build SHIPPING=${ROOT}/shipping diff --git a/scripts/win/buildtargz.bat b/scripts/win/buildtargz.bat index 76cc2ba..8321369 100644 --- a/scripts/win/buildtargz.bat +++ b/scripts/win/buildtargz.bat @@ -17,6 +17,7 @@ virtualenv -p "%1" "%ENV%" "%ENV%"\Scripts\python "%SHIPPING%"\make_setup.py sdist "%ENV%"\Scripts\python "%ROOT%"\setup.py sdist rmdir /S /Q "%ENV%" +rmdir /S /Q "%ROOT%"\pilsner.egg-info del /Q "%ROOT%"\setup.py diff --git a/scripts/win/buildwheel.bat b/scripts/win/buildwheel.bat index aaeaf4d..c2a0a70 100644 --- a/scripts/win/buildwheel.bat +++ b/scripts/win/buildwheel.bat @@ -7,7 +7,7 @@ rem The package will be placed in dist\ directory. set RUNDIR=%cd% set MYDIR=%~dp0 set ROOT=%MYDIR%\..\.. -set REQUIREMENTS=%ROOT%\requirements.txt +set REQUIREMENTS=%ROOT%\requirements-build.txt set ENV=%ROOT%\.env.build set SHIPPING=%ROOT%\shipping diff --git a/shipping/setup.py b/shipping/setup.py index 44683dd..7fc847a 100644 --- a/shipping/setup.py +++ b/shipping/setup.py @@ -32,5 +32,6 @@ 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', ], - python_requires='>=3.6' + python_requires='>=3.6', + install_requires='sic>=1.0.4' ) From 8966b8ee8db4b54180f3ce6a260db404fd38bc26 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 21:26:10 -0400 Subject: [PATCH 111/116] building scripts and chmod (linux) --- scripts/linux/buildtargz.sh | 2 ++ scripts/linux/buildwheel.sh | 0 2 files changed, 2 insertions(+) mode change 100644 => 100755 scripts/linux/buildtargz.sh mode change 100644 => 100755 scripts/linux/buildwheel.sh diff --git a/scripts/linux/buildtargz.sh b/scripts/linux/buildtargz.sh old mode 100644 new mode 100755 index 1d5e4d7..e1f9847 --- a/scripts/linux/buildtargz.sh +++ b/scripts/linux/buildtargz.sh @@ -29,6 +29,8 @@ virtualenv -p $1 ${ENV} ${ENV}/bin/python3 ${SHIPPING}/make_setup.py sdist ${ENV}/bin/python3 ${ROOT}/setup.py sdist +rm -r ${ENV} +rm -r ${ROOT}/pilsner.egg-info rm ${ROOT}/setup.py cd ${RUNDIR} diff --git a/scripts/linux/buildwheel.sh b/scripts/linux/buildwheel.sh old mode 100644 new mode 100755 From 66e6653f98f3cacee84986c2256b9ea8a47883ae Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 22:08:26 -0400 Subject: [PATCH 112/116] removed sandbox --- test/sandbox.py | 67 ------------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 test/sandbox.py diff --git a/test/sandbox.py b/test/sandbox.py deleted file mode 100644 index 4b70774..0000000 --- a/test/sandbox.py +++ /dev/null @@ -1,67 +0,0 @@ -import sys; sys.path.insert(0, '') -import pilsner # pylint: disable=E0611,F0401 - -_messages = [] -_status = [] - -def callback_update_mesage(message): - _messages.append(message) - -def callback_update_status(status): - _status.append(status) - -def save_it(): - m = pilsner.Model() - m.add_normalizer('tokenizer1', 'test/assets/tokenizer1.xml') - m.add_normalizer('tokenizer2', 'test/assets/tokenizer2.xml') - m.normalizer_map = { - 'tokenizer1': 'tokenizer1', - 'tokenizer2': 'tokenizer2' - } - r = pilsner.Utility(callback_status=callback_update_status, callback_progress=callback_update_mesage) - specs = {'DType': (0, None, True, False), 'MSID': (1, None, False, False), 'value': (2, None, False, True)} - fields = [ - {'name': 'DType', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': True, 'value_flag': False}, - {'name': 'MSID', 'include': True, 'delimiter': None, 'id_flag': True, 'normalizer_flag': False, 'value_flag': False}, - {'name': 'Value', 'include': True, 'delimiter': None, 'id_flag': False, 'normalizer_flag': False, 'value_flag': True}, - {'name': 'smth', 'include': True, 'delimiter': ',', 'id_flag': False, 'normalizer_flag': False, 'value_flag': False} - ] - specs = r.compile_dict_specs(fields) - _messages.clear() - r.compile_model(m, 'test/assets/sample_dictionary.txt', fields, ' ', '\t', '\n', item_limit=3, include_keywords=True) - print(m['~keywords']) - #s = 'this is awwsome white refrigerator o refrigerator, is it tors not conflicting refrigerator hey' - s = 'this is awwsome white refrigerator , and it is awesome white refrigerator' - _messages.clear() - #q = r.parse(m, s) - #print(q) - m.save('.test_model') - -def load_it(): - rrr = pilsner.Utility(callback_status=callback_update_status, callback_progress=callback_update_mesage) - m = pilsner.Model('.test_model') - s = 'this is awesome white refrigerators o refrigerator, is it not' - s *= 10 - _messages.clear() - q = rrr.parse(m, s, attrs_where={'+': {'smth': {'D', 'A'}}}, attrs_out=['MSID', 'smth']) - #print(q) - -save_it() -load_it() - -#segments = [tuple([1, 2]), tuple([3, 8]), tuple([1, 6]), tuple([2, 3])] -#r = Utility() -#red = r.reduce(segments) -#print(red) - -print(_messages) -print(_status) - -#layers = [([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([0], {0: {'MSID': ['entity2'], 'smth': ['C', 'D', 'E']}}, 'acinic cell carcino mas', 8, 31)]), ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([2], {2: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'acinic carcinomas', 8, 25), ([5], {5: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'it', 45, 46), ([6], {6: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'o', 26, 27)])] -#layers = [([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([0], {0: {'MSID': ['entity2'], 'smth': ['C', 'D', 'E']}}, 'acinic cell carcino mas', 8, 31)]), ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50], [([2], {2: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'acinic carcinomas', 8, 26), ([5], {5: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'it', 45, 46), ([6], {6: {'MSID': ['entity1'], 'smth': ['A', 'B', 'C']}}, 'o', 26, 27)])] - -#rrr = pilsner.Utility(callback_status=callback_update_status, callback_progress=callback_update_mesage) -#x = rrr.flatten(layers) -#print(x) - - From cab1171d0b4d1e79da5e58aea22218576e183bb9 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 22:14:03 -0400 Subject: [PATCH 113/116] updated gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index a814b03..fa6fa9d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ **/__pycache__/* build/* cythonized/* -dist/* bin/* *.spec pilsner.egg-info/* From 6db9f1b52d45dcf9deeff78d438765fe0e5a7630 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 22:14:13 -0400 Subject: [PATCH 114/116] updated version --- shipping/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shipping/setup.py b/shipping/setup.py index 7fc847a..17cca19 100644 --- a/shipping/setup.py +++ b/shipping/setup.py @@ -9,7 +9,7 @@ setup( name='pilsner', - version='X.X.X', + version='0.0.1', description='Utility for dictionary-based named entity recognition', long_description=long_description, long_description_content_type='text/markdown', From 578ac2ce7af182ab7f969e10484a3454007e7367 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 22:21:16 -0400 Subject: [PATCH 115/116] changelog version 0.0.1 --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..99c6c67 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.0.1] - 2020-10-08 + +### Added + +- Alpha version of the utility From 83326c998095de304bf4d8ee170b640fb9e9fc75 Mon Sep 17 00:00:00 2001 From: pgolo Date: Thu, 8 Oct 2020 22:48:32 -0400 Subject: [PATCH 116/116] version 0.0.1 --- dist/pilsner-0.0.1-cp36-cp36m-win_amd64.whl | Bin 0 -> 499423 bytes dist/pilsner-0.0.1-cp37-cp37m-win_amd64.whl | Bin 0 -> 499455 bytes dist/pilsner-0.0.1-cp38-cp38-win_amd64.whl | Bin 0 -> 506415 bytes dist/pilsner-0.0.1.tar.gz | Bin 0 -> 20672 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dist/pilsner-0.0.1-cp36-cp36m-win_amd64.whl create mode 100644 dist/pilsner-0.0.1-cp37-cp37m-win_amd64.whl create mode 100644 dist/pilsner-0.0.1-cp38-cp38-win_amd64.whl create mode 100644 dist/pilsner-0.0.1.tar.gz diff --git a/dist/pilsner-0.0.1-cp36-cp36m-win_amd64.whl b/dist/pilsner-0.0.1-cp36-cp36m-win_amd64.whl new file mode 100644 index 0000000000000000000000000000000000000000..c89f2566a8c290b30590a72e92d8f7d689254398 GIT binary patch literal 499423 zcmV)PK()V6O9KQH0000801XpKQK+yXVJZLs05|{u022TJ0B~t+b8cmFFJE72ZfSI1 zUoLQYODoFHRnW`LPf5*D$jmLsFDg;+1#x(}(!esMC7C&yC6zF_PzaZo3jk0{0|XQR z000O8*%L`olLgHFCBOjyiiZvW4*&oFaA|CFZe?;WZEs{{Y%XK$eQ9?ax02|0|B8<8 zNlYrVOj3)rB%VW4l&y)jCsK($NlqV%Y)QPPNQT|Ctw}t;{h_cl_N7T`$xJkJV>VDI z6o5jZP$(2$u10T@Q8MjjNk6*0i<)=Y&3F`5*XlcKwVi17<+EomSEDzrw}&UYEb}q?}2Wd9T2E%k^HzG+mdDOj4P|C^#<)9kYZpZy(xKiN&>3BBnB~a?u zJP~Km5-)LywaMK|p8Y%i^_3u5LHV;`5}PY}_VrooWM3m1H|byfiiB`^Vv9+5Oly)^j@X^^_eD89sxz;D~fdO*}szE;0nn6xpm$?gsNNbqaUK`mukJbRYiZ%Uw=g<^toQef6)&= zs?gtkXDq)?ij>8s(5{*$f6NBcBxOyjuWfxF@s_Tyt$&XxOOw1Ko1|kJZw{lCYFyum zYdb4yCaRi|0R&WQ`?d9hstR>*(YZKp#ruapA7aQFACn)_tdD@#ZeHhOGQPS>lWcs2 zTEXzJq*8V_Nh;B8a(kIf%TXyRrGx)Y;;bBf7nN}4YPnjDUc9CtQ5m&q)E`^{^5`3a ztzY`(@MOJShF;8*j@vOx-9P=M4ZX)miDN`w4~;45QA&-NO3{l&di|uQ7GP-x@T+c` z8LAMHSrhV>;F9}C@!|2=>3K)!r#!8Mx+F7{Xua16NU3RhX=C#cJ_(4=?mRi-0BYg8_}#_ZR{V40NG!`! zqdc3JB(?H(2qh^WqmDQ`JUT>`9-hPiia6N^)b7C4@PIXm5F&6h+yn}C(ME#o!&xhC zADwpEIvP3Of&gI$kfYPnpDxbKI3y5)#v-KFtDAgGwW=EJ4=2r>SYuTJ2&o9m!+a*1 zAhMyMy|>(>gzC99eo(g|hVN#mQmwbid`prh$3T{c?VY0NuC ztnfEdf-)d${Cs-2AHO+0KR^AYwI83i4h*;qKx7nTRPFY~F=EliK`TCPG|x{>m^2tu z15eHx&7b1q7W&#ZHBHJlAUJ5Cq3ygoZ#DMgcBj#4={PhH8=A8Z&BoD@1p&!46g_L5 zZEWwv#}`MP!}#o7qYb=q*wN8g0BthjEIv3yBZ(9ri;&;|78Lu3%?_LH7PgT%AL6^V`5t%gyQcZaJ#HV98{*j|kR*s?_ z-16jQsNz~%y1cY*kzYBqPgSOdN>!@{D#2QHP#L4C9mkFTJU!2M%0EQwPhWkWa{x5S zT0pishCv2*jD&*MDG<$TU)bvBL%g(Q(7Fv3FOYBZTSm9dAxFKeb*Av229B9N%tnw3@yReN;o+z>w; zkFE!!Y?@4_V2#fuSo_`KL5F|7K}^NJjvMWtNY7$WH2$XtF_sNvsZU0;+vv|Ijwg3t z;@(Zt`xt|DczhLq8V~xD=*OrQy^Knz-f~GQ9sT%YL?BB5xmqqqU-wL1OD(oH-8AlI z*>rF@%S2^M$tis)V~xyEx;L3PFi5#ZEVQ4`TkXy{Vob#C%Ufa->qTYCvW>M$6sEp*tS3uAER;E`gi)JSl8fEkg7j(4aq*1oB~Tw{va*FOATA$IEE@htHRLhb#qlzEfC}otz0?@MFsImsF8gR&}xkI z!PASk?=*qWX8@5k`8NofdbL)ot{<_%Fs?FJ-Qh61nT}`IH*^x|Dr8=L^y{wz{O`Zh zh7B#a(JUNY@9q|@LNDg6>3TFPUXNNRuZ5{{R+U>E53y_K?N&*KmZZY$OrNu?9gm%S zkz=5Dk)*~9!;`y{$uNm8XM(Nz#1WOvMqFX)=|Ad}I6Oge zvt?_WQU4)D@MImLWJJ4j<resH-&>l(izBTO@x6zJu!|u6+vftDnzC$Zfbs@Z#Zh8Q^ z7bBX9S06*bKa3w#7n{!6!BOLFJ8r&fHGcvNcw3&sdcMAs6~M4#(Ba8`>%AEb&-bG_ zY5nr%;^06!CA7l$(HV|}Y#=%^um}=s&QYr^c9EPR71Sn)X!e1f8+Tj-Bw(*0<{hr3 zNEy$hMOVr~h_@wkDpPFF?oKcNo%FJ3wX~XZ^}%e^%g~yC&`n{7z+uv4cvTU~kUiCE zcY2-T{Xt4R^$<6rl=5DYdVU#XH$NqJpU2aF8eFHSsu%oIsTHgE_!*`XG{8FXMbaZR z!B;?Rt5#UdG??8)Ti!FZ7AT)1i<@8`D_x;aDq%_`p)N5SB(}_CVA7DF-?ln2o(Zf( z^gpCT^QeLN`mdbPJBLm7)jVyzKWul{=TEHc}l_l;MS~e=1ishuC#icA2lX6T&#ZHlHWS!$3IXIZMEx7NxDd73J zJ55WyaXDWzm2^Y#gDINVaXZP5Q0mDHyoXCyQ@nJ-$~i*FLV(=*fJR=4X1q-@gbsHB zq`!`;bJ7@*gz}5mS20P8&}`+z@lyipF%w!{+y}oZS)H3{((SjiF4{mfXVWS8z00Xc zLX^s8$9Lf{AsD%md@;h-{-lq3(N|4%@irKTH-Jo<>{{jdB41ae6G0SbNIUPLUs+OC zH&c*x(rWFu@iAOkxb`r)%W!FY@qw!^asebW*@8U4ZO8f9-m?@DKj>-ON8UXGQH%~) zD3iM~zBvNF5D(_i1TsdcC9DQalWaB}Mb*7$U(I!KoN|>!(qI!Mu1Kmo!fO;uC~GpD z9QQDYGNvS_ROuRlN(5o06Wf?23a?;38@fbZA|Tm{RO{#g>+8M=GbIzZosWgI3!FDo~tJcO{N5hW8er*bDaRy1mm@AN)0jyqZ~53}U9olQ%9^i6C9h+ZW> z{%JJ+JVMILjR01`dxl24d3eY+M`cp}#p@dc>SQ=u#d5Zo=U6sh3wPf{YxddQ#b^Mg zk@%;>lYN65`C031eP=yxoiyGYwe}_Fa7Hb|0Q%8~(m2;#kxKP38QuwX9JVH~QFe6|_#uv@@Mp@|lMw`i7gzVSB@6K6jnja-W zAElVeU}dSpP;PB*u5Y4&tJP{7=zm3Ki~((tNmHWkP?nY!nM2H#;A6QG@h&V0l&zNg z-o7)$2OJWI;Q(IrUy$ofQ>1s%s>pZzd!`Dxy8jDH9#W`=uBumM` zG^>Q<6ON!tu$cgqZaTJ_i*`krGrzm;droB-c<(t0<^4!YkHNIM-SXvzWCQ&K1r;X@61} z(>Ty9g%+BLDt;#Wjuc@~VL$|FsLmuv3@A*dmI(vTv9h_D5>*W0L@=EjC@e@~$t24x z_<5$t@N@v%NhXf0#1&E&U23TQ14r8*&RQf9iL&nqxNVJb-tNz31zSR~CY2_CU{S%p z>_Wy^kf$OImmw%H-492Zan@q~JsPt)t(GxP*}RNCWuXXV1Le$%70GkW<>=^4%Eoee zu2%S9I=&@5WU7?s8Ved`wNTI`4p>P5GItHjHB(9s+ijHMTyw!xD=8LC%_SSDfzG@n z$<+(BNz55bp|%#NhE`=DQK-sJ;stdp2EgNP`cW>Y=6Vq1NQ?-KNOFUvK1K3O+)>4r z+3|R2nRwE?^V*!bxzo7+%0*zl$s1+KbR;ppN%vR5;ILoNio|ryGtz#bR|nTO!Q%z4 zKY{cEGbwQsSEU|f@OKzOnPC?AMoOV0iO;Q))mn$nl%8r>fjO3WvVXuQ4dA+gwpG}t z=OehFfw=`fi8^eA1a-K?ZzN#v547umf9y+&yG~EO<+_^^hQodUy$P4*B<^EmHPX9L zkJOzaE}QjWOvFTEDeR!vNHJWlKJfMX#p`SmgG)N(Q+H;?-`9buWT$P_RM9j^lj*0V zUzTQv<-}a8?&RX=NL6C&1mHHX8I_X$;*knxqwe$$Mlb5##@)}|fp8l`&KsZ^Z_67c zUue0n4odbU-)Odtp+V+^(>^7}9P1BYpW{a7UA*5qI6P^!c^9yoA!r|ULnGutV^1Kc zA@9u(?_-owg5kOvj?p$A02uchk3KP&R1`Xnq~bG8X!C7y3n#JP;e-le-h+cmeoYb| zt%}F@w3u`VnxAsU%@1!;%c;Y9o_w_b<|uCczZm_a?zK_BqQ*z~ALBWa2r%URFZIfC zIp0a8DUxd1CiPuLi>e&Y7YgS;DWh#P56bhL;SuN8xfO8}dU2 zW@+?JY7QI6Fb;7nL-!c?SEV7S4J!SW=x7w<2#;b*{H?woXXCsm)FjR{sOmi&7{*N^ z#7KI6nMf5I0z8g~iTGfpxndJCI<&TgD(%LOwJ{9=8pk*Ws0pNTcBp~9T#Z`Y>F_S1 zvnYiip{z-#XRVXtGhv2}ZzufXRfNh?5E5Bb3Qcw1dXJ_tnobuT*!r~2J8(5zcE_R9 z%>bs}PtZZ~zEEWwKMP!)?9n@m_%hsT%05NURS{%0LYt*=A1N-<6*l}QAR46cjHo($ zN;0BBPQrT9UM?1iR@CWUwno|XZciOZB-t7lN1YgM<03_^b<#ZD#~NFkm~x_Oc!7(~ z!FCaNnuTxDn-$5RD$8LtMk_0t*)VtZ$@gTr5#TOMQgJ)xE!r6MVLxQWK=TzuGZ?hE z*G;ohuZ)eA!ez>GPnEu)pAu-e-dcjs@)s58YLKNdXSmX*N<^Zw0=r=BU>Bv{#dO^O zfHKmG`MDG=T}H5f{bd4vZ2(4tCLXU-!|Nx6m=qF103SEr=ZK}hPuPvw0FEe;(U-o- zTLi0lUfXL!@xv2yZDExko|Nq!!Gjdod!l5fv`D{%_7V_UwtI9D9zoy16 z3Ebb^<=@o9l*W)aJn29k^o#V6AEgZ&wlNe(H`MU)zA;`oG-4@897&4ctyq&CU5yp=#VP<*-^x0!8Jt0;&kAK}j|ol(}#sG{d6x z4$W1h20LfKqH0+)4Mo{%YVk{^L!h4z@-7w|vgf*bYCK*uw9l$K_)!Gw4ptL^n|UMM&v zWvnn(t+@ij6-A{GMo=w6oZ3`^alQuUg3vh7`8eBzZx~AFa4&?~H|ldC4;it!5Qh!i z9H?PhHwEO@jgGp=IHb6U&nn!4@bUG?ic?!eeR!F;Ysxd#EDgQbMDZwKbgV!sM&nvW z^>BtJ_aCPVer{c$>Cx(pY3qip7zyg=$7n`u4WDn|!ITn7{{H)Nv}e-tOQh6`Xomh* zBiAV$O{c%Px1uGxVr|mQ<=?|mpvC71>s00%tSI1w&2WmUWh)3ylF#SK6}RKla}D^e zM8r!$f_9$7B&H~M4>CbkW)Dd z+>ZB8FWwxrAbB@3;LvY_*eWxm>8hVx82?LbRrCbJir(cVr*a5qDB20C=fxL|7ijZ^ z^KoO_E%+6;4-UD zXiuK@27^7l$Y3pc}4HQl?tZ2%o>MA6t6x|qdh~i!) zTEXM7f{mutvT!UM#&?L`Dm(UtnJXZ`rys&-|5~eW|IQCpfKhw=^J+Xr9gfjOJqT`C z-$p+`3E~*xPejV4@zN^u3b#EHtlwZyS^=s8L`sa14~v9L9TBy%OR2I( z+5$q8J{^4tRmH$EehMye7#zk|#E(wO$7k=i$t^I6)Ifc|DVM`tP=-q&Rdt}w?po6+ zb8Xg)=P36}Fa8;^dlMJ33#3k2O^!g1mOFj|Q2bJ?5mk2T^?0FzA zDa2Pru2@6>4+wzh*kxtjy9)^rCgLpFmvWUaYKjL#@Zlo4og1K2Sj}4{JpRPPqO46* zIDr%)==88C7IRi2SKw@WUVnj3VvBih-?o=}%!U8yE!DD3@9({EyARKQ%-eiR<8+YC zx(V<1*i4XD?L@3n0jk5~uH<2HtFXKu5oQ!Z)E5NYSvm<~0?;VlHk;AwsJ^zdNqt)M z=%iR0L*y`ZqH{%{9}N8k@<0#^L)o;`B_{R+x6 ztN`rc=-+(wab>mE$G7cX8!_{Imk-iy{4h%=W)C>664_R1pl zjxYZmzhVw(n;3O`4FBEp!;ze{H=ZOh0gllcH$t;zs+OK06@Pl2YA7~wU2(VHN813T zngZt*EetVjAlwFOVt0CnR@%{cba#upL3_L#b=vO6_A@k&@K=T(?4vgUm$ge^1(}?Z zq=)`1`a$|*#j$V(Z)+(bn?@WFei|I|)iEg4JD5p0!;bc(Pb#7JC?6O*pjO)!iBt&u zk<8dNM55GBypQnojLhA>KxYjHFek>t+3hHuqnFI|*m^4)e@sTW%?K|l;_R?>Aaj5f zrikkQAX)|D9> z3-GDuoIr%`BislbBUR0uFpW;5eR^@;Y}v~TFlUXv3cbA?rm~Ap5E;~-xaaIA362&Ap<4!`E$_v#_8GwZaE}hko-zZmV#xi9wr0b zwM5U?zD=J;-$te9&)5Dv9*j!U?x;V$UF+S92fd_3R{u3(8W<*7mQ2yk4Rq}R8oLMq zUniwk*yk}&E_-MLlD?NVyH;Z#edFUmD%Iiv z`0m?3kW-P>1INGTm6M&W57fn$lhB4vLDP^jhB6`^oZWz)4?^dK@AD2jQ z*KY5R*#HUj>%mZZga(Z5VqWy8dWq=l?(N|b33*Ne$`kq!aEcQ_8^Q+*Iaq6y&ZbGJ zyr-hlS|*eI;6?1^j%|0G4;BgBe|%1P7sZ zBHl|>ytk9_-cE-wl4jpXiZ*VyI;CkP`a}ktODjG@vfBxHNg|&z(NvJqQPaz$Z zVUqkS^M0?Yj@$P_K@kF)N3F&=o;!5*aQ6sWrQm{$;Lz-uGS$LRoj4QZz7{GnPpbth z7HS6Fnw5QL&<2Z=K-~7tcxwTwo+h9Nv(02Wdilq}lso8eZY3+yIXK z-9+si+uF!kozN>EKgU9~XWeOPuTZ!p0C1;tKgr;QmVEr&mmX<@7vS(SZNL6r`R$oJ zp8&Ql0^`fQ04aLqk7l>=WSru?D@CEU4L>@j_F-dsjh+7wNBG{mw-XV3CcxV|5V|4( zhwTdUB@qd|9gH;MZ@XW#w5#!K)Th)Q4brSRzMV8C6U158DRTDV=&;@4&qxSy*9Qi7b0qp9#!xK3K0b)iPD1{aQ;kQZiYh-+t9;l9`j{vE6*CCjidtc)x~n;Q~*bI7f)l+Vt_NsFJ9kv^QWgXcsW?ccX76l zcAW%ev(bFlqR)uXKvunO?qbz#}1NYDqn`y(cijgpl@y2O@pgixTwULBHYLS29n z9G#y2ba56R9>4>-hX;qP{nF2k^GXDnm5Ai#TWTiIdG|5*1b8EbQi^?SWO&uz2%s^M zeez-vTTOpcr-Y@o@PS?F_1eqQ{vX;>jwCp--drb9x6z(*(5VLC7 zG$wU4%rCHTW)rCrVcCHTUbf3wMpR?6uop+iWvBrKlJyzttW?uQ1R9h^$eCbsl?K(I zvAE`GbvZL|p(&H|P|hie%0zs0-wwx@-Jz^Ex#XTAZw+`#xE=KQq6eM0B_?w6*{fG! zoe>ncEI(CbKqc0%T^6&#?M6oB6L%BJ6=yMk89SD!KHurhk`twh_kPnZ4jWKkj7TBV z*trL7PgN(~qOQc3k)^lNqV5|jk(GXV_OB{}fosu*ij7)`Z&n2Mg1U1I9k^iho@=zh z{U^&7<&9==;y20`>2>BHQp7iw8ESzP5}Q`u^_bt)}j|tef1jx@Ov4D zZV=udh>u&xZ(8SgFC@M^Dj#kT6(Dq3lKYL*3xa znfnA<;GWy*eGUMwzI?ky(9f4)e)>R?Z6Aa$^)rwEXQoYOX7F>ZsRtW!*av0jd zp4#;zgUWD7E=KBNMv-|{emxR(>BnTfe%NSz&Yx+fkKqV_?bv0DltkJ zBQ}i*$D(9nWc@ttPP$XDkXNEh_y-(Bdmq_)MR2Pzk9F+%c3LF{>tsNY7-Mx1Kmgk< zmnbCKgO^Acf_9SSkwqc!01hEU0uMwh7!-%yjm9$^6aag%uZTx1+q5Mnl_j z=JPikmYdv{00>*yk$~G1_z^#T=U!T^rStOSF2H{P{WUbwlV?<3SBgrb9VLj@32?`E2G``Gm|TFtPprK*Sv zAP9%uqC~t}iI=I?Jpz)L+}}>3NU5IatAq$WLZFBN?N^boVW&={L~e7GL7TJbG#O<& zKIoIvUJtVSrLv6c#cPzFAo&8q%`)JI76s7kB|}XS$D-Z+l$)JkF5~0h^Q3*L+pYF=YuF8|Tk4CusmdBcod>WPD=d^f~DaMO%>CWp!iW-cuHZ ze4RNa{xJ(I3@WNpGM$#45M~ht#r&2;7d}Z;tVXJ+SjAP?b`18WM2<{l&#;&#C?c>c zOA=I=l;<5NmtLZ56(7{()hV^jfi~}5>=JC~UyJi_snEJ4e)YPul=&^UKX)g~((Vze z5bYkomZ#kVwtE_7`wFhqzR0MvtfTSx<80ENB)vh`d^Sluvaz*+c)8i#a*Le|NmYm3 zX;7kUMyt~#kFp5|$~oIjh#z+TOt9w-BydK}!}&o#bkq)rs87QC0)lc`b)$CNrvUQh zix|{}0187O&zQbLOgf;HO=NgR5+w+gk$lAaN!puUCmDV(_)2Ig0OALcF$DO2DuIlz z^uWUT&8&n4?Swxq05zxm3P3AljKupv*+eY=%!nmdk4PzM+ibAl4b;A=c7^1rjz`?= zmTuuIe7(he`$e1=;5gWy=e!CRgxI$Yi031|I>^qT=nV@R4;lyUE_OO48x<$h1bpqW zJ(}Q-Cfz;>8Oo2YnunvTGqyLV$m?P;s?Yg@%C)=~Mt`FB^-Mk0nABcI_wgESJ~$;rKfsFaYNMF+nh@_y%EQAtFB zL$4wT0ATO5U~k;0X7G=-(Iik|(uBlfnvGeK(-@t36bX9LeL$v%aaAqlVua1=*bzv* zB?gMhRJcP0{%S^JyY=nfZ%n)0vkzwHsy;K2Gbvp zp<`>Lh9kp|aG0$4#D&@-b|qwedK{qP>9ezdLd~-sD^S;6U7u+ex`AmUCK*b%BbDs7 zxO_w-W}WkHvGn48rAJJ3xkFoN7kZFp(KXLpTx#2>@<|xUHoqE*(#6iF!FuDYI~d}7 zA+Bqc`I6FM&?QN&Ta8k&(dq0G$A=dd8-#NzdwV48Fs(nBCfGYnadRS%C*&_Z&Ff@E z(6k4)lcDL^D4FuB@K>ZH^g)Q(b;^glN-5v*=Kbwr^!U_ z(b!dHLZ~>_*!f82Wr7_oJyR0$BDe-#g!oC@da624PgR3@O1ve0k|h1(@if6N#iX6_ z#Rx+671XO_Bt)|kog~01MXawqViuNcfdol*qW{NjLxP1b@5ZbU;jv2jxP=ys* zBKxuk!z7fc+cqb&5sB)EflAZ~6Kf+i`fnY(M$w#`ZW@0ajX#fK@~BH6uVy4yQCL|a zd`Cun`jFIOz9=Z;7mLD;Lvq0bm&VUcNGP}xEVU`d+YMXGB>Gjq#ge7#DXx0C0=Lf% z*AHa^uBkhdg#>4pdR0$TTNRxv_pGG}t2qg35_Kh(C@?&oV{YD}wW|GKpahs2Um_f! zDOFI>%gc4Mv8bJso5a+Wi+q?@rg?nC_{3a|Ch>SWxQ>~{2-OH_v{L^??VSD?#G29o zgc|2bqCl!nqGU2oi#A6XvpbWsr{62Wzo6zMFPFk~31_ z5`9&}{56RQ1VW*82csglH;A!@mg^h{O(8SGB!H4X*d7MH$TbJNTau8`*av_{e&{Jb z=b$BjfaeDPgW=hYSUOrcOUWP9PT2Z?WxPRw#-_aPy3qUxt!b zc4AV6Uy?FPP?b1 ztqQ9a%ggU(<2!b02~uD$XT7Uo_Zl$;?XM=jBA;WRhYx7GBGc^O6~=}_C1V|{QBS_# zwn`qR(RPPRxzKhGWEr;mrdlXEf&_|2uCCIcW#a&QE_@DYmA^C|B(c)u50Ajo@RdlJ z<;yI3-WMpcgqs1_-YIXQ@)OTJ5%v0fxYsSn4Hc2l&ECL!1Wb>;k$+#oK_0)2Fibur zL#YZl>GRG~4l1w!d0|#$0>K9HuA2so0p~Xg@9urUfQ9!Lv|CTcuowm$04S~unwx_; zY{RQ6`YRm0Q73RIaU6BDwq7w=2^Els>9W91T6*_{bPQ5xf9`-r;xHQlOomUOg@Zg2 zYYK-(|AaFY7Uez%C*u%1k)x9oL}C3z8#kMrC;eH^)w~p-;wc6baDx^B3J=AF{UMv< z+uQL72XoLR20!X$ZBWXTWEgy6O%(_HQX5-Q+c#ZAjcudV{N<#H}U zP~{h|aahhCDW?V1Rgibn6cwKXJ3L8*#@CL1pS)0*Qg=IE0}Y%KP!)aTFx77G3e_Ms zWi`FU&tjF3Ds!Dz7Fq>(K%v5L>V&i)i;mn>un^6cp8gvI*=Ducs4AKLQ*nn$-sc{Y6SMbXQbXwRPXqszPK0DkcO$9Nj`#*;fRAFx8w#zSjaj+#C| zYsvli*)#y9RfT8DqHCM6Kf0sQI3uCe$tK9elY1s%$SweKVEo!Eju>Q}65JIrH~v7W zJh`G#0NLEIqN<4kY6v-GnNw&%nZSBN_7-SPqFvxHbbFo;mAE1?W)2U?!04uLjutGX zs-)2>of$<@t>Ra8oY!p3U7O2Hfv5#+Qp_R=*6;bTVE;ijMFZ{*nT0dCe7~G_MUufn zK2#`3)=!_6IB5&g70Fs&VY(VzR4kb=D`oseDuEPuU|c*|l$9*+&Qid1l6)>b4XHqv ztfwFtaF-q->3ulrFjr7%KP5c1)x?jV9G=9T^G37v25z^j4<(@A2jgjuDZek(BTvd< zz0QgayL1xBXg7cLURU+?YAkmeuwyN$S-M8hL~TE%{tUgF#A}k|@TA{pXko5F;6$iL zFfGb;v_{$VPIzbB03z6%aAY8k9tZZ}N%jg>qhy3%_B1}?W~!6EE)VqMc%kqne6>=o zfOFti!_2%Kq_CY6dLbnSihRxt8_*3?yzF1kwQkIG_C^8s9xIBBIihV$t z<8!}nmVmE%xOS6jeKVA-Zj?lmU$^2LUw9{ugN0}g@k_%BZ{C*h!?!A4 z$o66uZMJ~3kzzVE<5@65`UbCr5!0xlgaf%;FE!tN47eezXtuZoqLUaelBd^`A*jI{fVyql8gRK3`}5bC-ccTG*GTMTB# z9?vaKO0K!DP1ion-GK>ZRfK?r zBpPcGzN4gBM?fq*@sXTQF1Mr+ziCdFx}e3HbuwqNOy@5@fCfjDoQie!>@d!q3r~i znY?&gu>C}FFfHX9_Njh zYm2_w)CwekGX=?u2W;-i9Q7jsI{qw_!-L2_Sv2(mqEu*`cnQ9QDYC-iutkkg9}j|3 zDDsWjcLeUmYf)gCuX8!6W6xEXuA>|4SYsl;64~>qW1s^8TLRc?I>yey(ZAmysL2>H zU}9@Edyr?oo;G&?i7Dmj0AKsVoA0a$jys$+xd8I2?OQcH=J*Z&2ll1t?%GA%||D^VHTksT_{G{ijc5x8ILPa32;P zLzym(UXC(W73AP1RU(<1NrsFG5xm7 zP6p`v8q4au-fWtJXMd5QRlzQy z`RUzgJi5DG+FZ*yr@&yqo8e;LEN4M6H#B@<3GPw2`?6etMSIFGv5;&Ve@w`lMq0E$ z|H{1p3L@F!L?oa&@y&?9>>54qVXuhikr$A5z#4Ahl1#BWI83&Th^A%ir&?G8pUt2oB+d(Q#^Nr%uY4#VUY$w)kua3Rq(j&jdk zk~d{ze1*~4zYGeE%P0pD4xtIu$N1OZ5mhTIE|5Nf={tc21n7STPN)fmnmD0S0=4#S z>I94H6wVE`PM{(;)CPfi>4w@OP`|l5EPh47M(!@79XoLM?3i}P*xeh`O9D2%bb@`R zV4vM!hzAK=9OG%|ZU}41{|r2B86}??TJ+O{HXZZ`F#6#HgxD1X5`H;BVKE}0@XOr= z-K9g&MfwT_MZY|tqdo&2x%(Gwk8&o0-=1CoO^blTFDEEoatSQ{=>!I~ znA8{ixk&@8Dm#J@ez zLpHzhPd6~AK@=E%dVr^c2?Ity-6IaCi*(50rxO?-1Q1~S(=BgtR4XcR@oy*i<=v#4 z((WU_-5hl@9`qPX;ooj>Y&W9d__tT8GaUne_#}0jQPRn8kEBk9eF{!~yO&se(Uq|{ z`SOX$HRj%`#F9RK#sqCQ(~$Zt0|zW2u(Oujq~o}xA~ zNlSjaXUNSg8&KgzetRd>=$g-{ky|9qCjET2lHX2n9JZN>B>Lej01p!NnWl_C(AxcN z>RG?LmnmPk=!bjC5NiXSGvvclU^GgYHbg&s1u`VEsmP>Xo}~d_uwaV={_qq)12(>6 z1@MPw=1;liKtDW_Kk3cbaMKTG0lGyd1?Y!I^GY*B2~)oChi8eqzRnqze)v}|Chr24 zu0POvmC(%<{csl`W>Q*!d^ignA-$3FIQa@;^2=_T@Zn=$9wwaJaow4Hc~xy*3;Xg6 zdM2#lasKU*Yaf$4FfcK#f_=J$Gx{&sYgkq6+oMv-^rd0+<>on3F8_2FVkc3w5c~8f z-91q~%|E?eAvG&c2v~s7%vRQ*$ajZlswMfMBRdK3o?5kZ(TqxcOe$`eWSN*Zki zh}GmEHBsS5CE3G~jXvo1Do5bdNbpkfsrs-}*089l0Xtmo6(DYPd1?p>g+0~OaPffB zBnk1`Z?}X++|mtPV!GE!jGr3FWt5ugMUiOBiJBUw{?hYuI#<=?0<)bh;RU99gFO9Y zU@w^O;ryk$glSVYWO>JLK_UH#JGL`3xSAef_|Tg5KYE5&2FT~^q8N~K3XL@zsX~Ko za8_bw5iKKNuuKaL8Lk4$4O6cT3olc&i!8t3WQ?%E6db0q?I)(0Yd?_O*J~lxAhQpg zvZnU>su zc3b(Gw0u6Uc8!n`Z}>R5JAxozpgRU>oZL>(_IotWZa^q!W7S|04blk1z(aEwD9Xl> z*NV}^!LLX}i7bI55okD=B*5kuk4X&#Dgvk|hl&_fG#*9$LF$&fP2BoEZF78umZV97 z_-&Moz&VLkM4%!9g=2^1P!U~){nbDZS?Uq0fi9Z6p2HFBqERlGC)f@%MN{lk8dtwm z>BxvsQ4STAzD=V~DFmTQwl{Wan+UYj=ycB8@lUM}l?cKroVVKT);{|_>9kHd-4c(K$Uw>4!L$V&nV+!GMTA?9kur`KtJkwhsLV%G0*1mAB7Y zO`4_FPg3Q&Ng6#e!H$N^&s`9Gx7|r4N(Vin`6knHIYh`2OB5^yNRDDV&Naf7yX_FD z2t(muooJY`_Zxs!A_T`j@>rhq!2OAOsPR|lHwOsLQ!=B%E+o}KmpqV9Z-}S z&H^9}s!Q=wR55Xnuv>Kqs1#040>E;sO#rO8+Y1E`gbi$zs?)ps5PTt>NCkV38x!?4 z@B)R*Nemm;J^AaN{0&e3mM8y}vty`Zgc~M&h7!LgH^}tbEyg4>wG)z^ce{ZU3z-9W zMz>o|e8l<64WijPJmBNhgHSQig#hQ)qX1wJ5A%~K4*-Wic)u=wgyjLmil47i>>lGm zM7$T=KtG7lKGyLpJxjB_5GZZ#xi zxhBD-Jpeu-%-8HtI1h(YM=CeW>~`V=z}~$+2zuJ@1|wct9vJZB^ntj#dPW^RojAO+ zm3bGr2ZF@wa-gA>MGs6d9j~BvM~h%}*xj0evsWFmhLrXQBjQ2p1~D0JJ+*qax1RcP zZwhxU%t6G7%{y>{TSF+EuSV>Y=!WsB<6$_rUytqMD&6aUpXfjxijDcaomW7Wn+5jMu1H_ z0U#lkoZMg30|gfq+;hk?#nNDtKrSO_N;PRUXz_X!FeL98+6f&CR zhKL(v(DU>VIMusR5FdOG%+RTFrpz_p4dd?}#c{+79Augzz*E;6k7cXqhUi7+USvYn z7q}Mb27r5UPT7(>J-C@b^^I`XsySG=!F|mnH<8>Rf)l5+y);y^1C{91=|uI}E|zhh z$(}#XI#t&pEAYe`Ze*MJWH6;)iJhZjB0=Wz&>mWhH+OBUvU>=Hrst`1+62RGAEsP! zOwElB@8~+UWz5y|MJwN+zVeS!`PRLJ=v$Pk?RyEyweGtB_la5b7H(MG8aHpb zk@6NMbmIvH#ap;BTMrxmZee=2|96DCTX?aknxfkM6UT14_%dAoTZOFCL$WR00ULj_ z2y+X|l$zj|hxOcf70~(hUYUkEiS)KSEtrNYUk-JTsw?i~euR%SQUU=_ZI}eo9(9ar z8?xi;W6dd*jHfnU8i9{GYW1qgFZYqg&O*#n8$k=1k30Lebx-QYnt>)#p4u21iG17< zta3m5#~L}2geNy*B5{wajpUa-9!neH1U$7-5=eX8*|e$LRC%l^rP1-!Mog#hk=01~ z`q87QkqQ}4ZrD@;A9vL1;ytj(8Z()QCpTg;d5=8H(;p4^zJ1U~L&t!}>L z`B>XE8#zyH6s?3l_DUyR27bJiPA222jh;r}>gX^QOJ2}BWWe{aYu8*7LMex z#?wyFLyl+>Gcga3@@QsafrO{V_Y!fB>)=Q{&mL)zSnW@3d>CDiy!Ddf2|e1@OCjT_ z4VFgWK=Ec-_qhkJ`Nq*hB%8$8!z%NMm{&8BtyO}7;xRf zP7d5otVF}{=sJ=!*k#G3v?QD0_X~|3SCSu3&BO}3;>Snnb<$!rQHo8^t}a$Tc^tLb zMcvhJ9?V8qm!MrayG;-a^%2CyXwXA+#845rfffB2{aLL<-x0|CVpb)plK=l|y@-S6 zc3j)6*Vn6CH7igyo4{KNn?8VTA3)9iBrSum-x*>M_V7at!XAK#L3k;xdnv7ZDXn`c zt$Qi0dnsM_Qo8P?blpqox}8$sMG$21jvu6EXEF|BzdOlc?7YZf>~W?zOaRUG0GjIo zG}i-Yt_RRu51@HHfadi8n%4tpUPm+|seJ@dEC-|BaMn*!_Hs50qW%&KPKcqtTU&n? ztw!*-va-^-8KhBf*iBOiL)(qO4?fCnx+In=!UJyMC}Y%*kofCDh@lGpLW1+t04lno zQZffZG7|kx({XQrBf@?jWH$(9!lJXTp=yBwMnylliug4^yu7iCM?XG)UWwFOdpMC_ z)BEwDJ514{Ctl4XY31EW{QFn*gY?Jhr#(T!My3&2{s$w}>!V(>Mkyt|d4`pU=<^hU znoZ3bn!Z{w4J~h^!C&6EszY2fJ@w<~erj5~gixdXanD8tBSMVYt2O$!(QhNxH4Q|> zF8_o-w6;a7Y>ZZSqrnwphdwADT{QlRHi&)K&g)Os!;FB-m`z9 zdZ=;)ezb>2hbM32L-cWm6Q5Ddj*bqFZ%n#FNbz+GswElq2Um|au+g8-BF9y{2tT53 zf>1lp4$0?^9Y&l@42t&!+}|0ES-KGEmX;T&J-IkKk_-3b(mZ1dpF{&YPp(e7qtV@d zf@ISawE;M2W=zM}cTo6|zbKcaFRt!toXcQFy165P5E4o%C_Y&0BvOon$QftAa&bAXBzI2Pjc(dLhj9U1>a>m}`YF*LEeQa$>F)!d%^r zF41c8k*Cv(!n@HmY$plkqfJ0gblQZ3`60kx>A#deFm3w~r>~9pLgcFOk+1IN3BaNZ z^J~;F0alxesA?i-C;@Mi>@Z7i+u2kgqY~*-Lg+41BMr~}r_|*na0F}Tix+!&(<9+m z$Vfg+>r{E?ZDnnlt*k##E4k$Mwy(a-_N_lq`{ckCo))f$wvhcRtpH*h#6~E~1g5?_ zO_Ni6?Xx@li3Vpfw16+s*qlPhtmJD&g+C;-QjUJW^`Z(sypLPw=Ot92w$3metrM|R zmRj&NO3-qa)5=7PYXSOaq4`@cG~~Yq?K&rVPl7OL*Llaukdk(t51S05XxBO002ELr zwqpa@F}sD=2WBG(-T-mN`#8FJWNYiLph#`W!+~C`PQ!#e6UcK&NwO>6IQHDS1~YI#mH2s-KZHaS99x31d)0pFd2c> zBD~Y`o!M8L8S47d);BzoR2_`-`0hSss^)k)o@HoE6CS*tUjau$IcvH$O(tcS$hS-RHX^7Wn&ogGSVg zEcy{4c^-|Y(Kua$5T0u!?sCaeu&mXCmn?5B(et%$)92B*QR(^fwSSKXqY{ZJxkjSb zmq^IDH7V478NaVIKzsBEN0%(UDx-x@{Bs%AJhTBx-=;4qQMLw<7mj?*D~t8QTE0tc zcEy80%@h3$s{-EX?>Mx|O}euw0WcY5rh+xaX(hQIJB`cs!XE8oOS#e-upcbeJ>|KN z1L=Un!Dx|kOstX@Sn%Rm!F`0=C#kaED6P#^Lqjht+6`xS_+gVWQzu|Z4o{lrt%H)5 z#aHW%jeNDP@zq*VdI_qxryW40Hi)SuVzV>}j)=^6C2yG=k57`%C5Dfch%d)|)TiZW zo&|)ALM0OIQEE?%8y{snt)b0D07eZa2CX6TaH9h1{=(eBtXKD2O(e@aGoq!D%6_Pf%d~mKqFjJ!sOu^- zOlUm~Aa>=O!1NJbZ~u> zMOb)5H_4Prl_FA$b9MC7YuM>fg=c{VVUqyJD@so5P4>)_NOqSlxShCA9dl|3DSInh*DW{~$q zCZYnnDZp-WSTk4G7vk!=i>o&TIyNkHkbwObV@q^R2-9f@FFPm=}km8ggfj;Uthe>zZ z`qE4A5typh5!}Qbi4kMb`A~l|^R`@54{9iBOeohe&tB>u-$L7d`&YFDBrH zwur-*zFVs~_j2L8L{3Ep@9D}3n`*)qL700fvGi9o{i504$P>5CweLLeKGW&qRvf`e0RpbL$hTvU(7 ziVMmy-~F?gzc}HZ$R;@RTo!xBKb;NGb^vu!^T)L9?67`M!g1b#EXE+gqbwKWfnPEB zz{dyr;|MNpa6y}R!qhoF&Ty3RfyrE=Kb>ahm5m3L#Pf`FG43(3feeucpTz(ZAD^f% zO1QYh4r}5Oz4<;4v6gTH$=snn5@+X)%|{X5p7AWk4u-*&0hGA5q>_PG7aX`5Vc;8k z-YnmkYmnwld5j0HVcohbAX9 z307oKiVd)H#AHx8oGJ#EUTXJ^F{jZz)Mhx-h|3+}8*n4E9Y7v#PLylZckWU2g^pXX z@edhPg-~O3T|zK%Ef5}>^zj6v+RYIrC=)-3o#NvL1FS7u<^=wtxRnpqtM@8M3yxqh zhA2F|N^vQAFDcf|y5wDJA2&#JyIH~tYT^sIEk4dLLfZjk?vUtmu}JN{Me!oTT99RY zV;=cd28{yG3gLt|t`x@RdshrsDL>`r~^FUfm(D z*uxn{I3q_$t@Cn%3EB>zjC@X%Ys7T}PSCt6(8u#F1eU8Mc6O8Rd-z6Hat$zysGRSb z+e({5C%3s+0Hi#~aoshzn{&;GVgs`1@aCiH88P>G%`sZ}m7d}wrW6f?mPgJtZn}wO zxnmYOEb~iS*(3zWBHxr;_5c?j*P!7HA4PpL?&kjRo}6#asn%CG%@3G(lBbkORIZ1P zjog&b@iCV211fTI-8E7>^YC(bC(l2P%oAAkk$5KF!BKm~M3AE|HuN1r0RJpPeK0fs zEiTN$K!DrkH>KRWm__l#?!~Py-Co8yU5$BC{_C%jJr^iq*Y6PE*5z?UlSd^l^_t9|hr?n8pJ zBKY)ZKBYDLJqhAQWkbAYmO7}ARpKalPk5=*$h{B_4pj%M$^dB3`b*eQ&)~p}U{g11}SCM`-dTxhJ}=NVqRZ)XT~ZWZ(4& z<^u1z95Kh$2p){ab1}kwEy8*!qOM(v06+Mz%4GIlhfuCG)P?&HmP-&PW2u1KpIsV; zDjQv$lWGfaQq3kqE%yaj!UpLd(m=K%w*HuPhx~p>zK~#*jR+sSJe{=4>a^f^4PlsE z?NNxXmG@MEOu8+v02mVwxkXCr?oy8-p&v>J7g`A(UP6afA1yg12)V6FI=xiW?~QGG z*}uSAfu{$a7_I+jofw$m9G>4j6Yu?O z#h2spFuoj&#*;kS6ceyqCc7?B*2Oh+Y`>MLFQAUzur8uv`_=<=0EIr7WCgBw7NbyI z=RyRu*q#ubM!675hq3VD>W*52U*%zSJMV-psQU0;a@-5`sX%I1 zd(2M9%swlN-#njh74^>88eWB%+WMcsVv;5*il+PT&UrN(-U4be721&UMm)t~ zz{nIssETbaW2l9gV#NbXSd5~&T3yc#qwr@D?VJBcgz{s_U8zFXV!(uQD24g5Y7pdP znv(Fq5Ljuwz+Bv1a5MMHBsaEEVy*tlBoNizJpDJ+-y>L17HgNj?rfV(566x7ar0f{ zJpQ?HbkPz@N3VH7QDyfR+~o!JuKix`FWAi>UVGblXO;5ivmf|lOwyLad}D3DD#>!g z$SH!=aOAyV;11M;nu|QOq>Dt^(rKt}AqL|j`X45{FD9!OU^4rV3aS*wDuhLPRT28= zAqKLTTIKG!;*L5N8iGo>0i9>DmQnlawD|vXF8jn3B%(%0@hA75@u0P)F?{uu_Oqcx zvG=MUY3p=IF@s;glC{lC8YaA0Qu|hieH4d%;6`4kRE?FO(338-x?^@ zw32NXJd>92=9bSkd9cV716q3+!*tI^T;`3&Q3sj+{k@%icJ7y3iZjGK{AK1A1EhEf zDJSsd5(m}XGD!@f<^C8~{^w(&Z3fHpqd^ z>LbYkxo3THz(wW)a$r+)$6d1M4&sG*=6(T2F%;KBN@yr#kb7E%HZ9Jr_s)IdAb5Gt zLF6L5r`-lzidbKSS>|BGc{s^{#uU0nL!<&3nbNIydVHdnCfuYR_cGW*{&aQ*(_H87 zZ!ua1XUxHU^RkVEYOOaOjS}V#lKwFqWXU>9ELrr#0_>&WnN8F2l+nhq(u|UsA;}_rILhLK>G(Dtj55m}UTtK7RXp_B zjb-z=Y4E&U?jUv%F4w}bJwBT*ixUg7djOltC3w7o__jL{_ooHDQ)!dJPc=7<_WZy* z9tB-fX-|ZErxqYiydzrV+JM<3bs=Tv0Xkobz`e*DBoCt@j^~2Ycdb%`G-nEKp|w3_+?^|%7B1llEJ?*zonniac}bFC(m^l2oDGKk1lK$0 zt-T>%CE?`>@l^%s`3dPk1x0fUSzYu2mKGb_>H=%cR^hdVPqZamb~H%h`n;03ey@_) zau@R6Bym0Lvg5j6{>qmfT@UmuBuT?L>7gVkoeLf*DnjWQb4yP>4(vnj2fb3Qm{?q{ z$jfmf*2>>U0S}DlyN<2wLiXlYb1`ROmXkZ$$9hI+JHXtms7K6M)?V%2xFnc8jVvUU z#-t6$-F_*594vU3S(A2|gI)oSD|*geY=7=`*= zi+dPrnPjpzqM#s^d;(bqwd4w-xUOo&PEoAKlz#XfheLJ-i(R{5jg%$aAE82g!j7cy zoA^aTRBRd?ONs@a*wVv2Kcx2K>tXK*F&yx8Vn0c<>G%#Smt}s#FFcS|Uab^Bixcx8 zfwS`J+yS$;jIJV4RQfa?^vk7^{NUoJtb0ikZ0|0X<=M}RAv*Awi1`(RGqgZCrgzW9 zcK?SYgTsILpZ7=g4h?yK)cGDT;l}(;-+7-0mbX94dJ}j@$dljwrQESbxC1wRO?U;9 zASn76F!aI;VfQ3G4!n#Pbhql^lffdV3vtE}@l_g$#=vQEJN^W-11WuoJEwOM%#6!! znsc{AnYj4_Wb`;0ns;`GCd?@MJnc>5qH1itDuEU%@n8w43&LLy5(3AIkx#@)nJkudyJi zSLp8*{DgS(fLZ=RJFF6c4K+SFZJfVtSHj!-b?@N^30qy&vdSCcmIs36O!>)M)|(~D zfMxpjtvHuy)2u_nx232~FGJ-Boz^1H=8x2AIjn-#g&QHZ!rhJj3Cy|JS=ImY zz?=m*sd!+{Fmsk&)NDSCiZ_qU2$n;^0!5CJe=p$(w;s^ft5_Jq0+cP+(QB!p2j}Qt zLn|z{;eQ19qYCh+6GreJ7J;R>etDxaD_sy8GSFzM~W{M-jzqT z*uhRHR?Xh`xyBfsUz}2Kp>>AzR)LkK2z~20eWCnrb_-jclWtMxFt2;qf(~L{7crmQ zF61W0Lco5NdOFBi%<8rqB6f>;^9F{K2y!_Km*GYDy5{0*OEB63>ijET@0y{T-{399vu?x47Nd~q;r!L&qNSY}&O7`gx-87bRB(ps?C+F-Zs}x1p zZ$C+U*l0VRs?3#5?{=4Y*s{r}eCWfL4O%fdY>`?#=TQo43O-7qzl$EFFdRjXQdn!| zIZ9b{2=3`9h4tnlM=7jZ{^mz1c{Bc39i`~G8_wKKXYQ8qSmmM4WcYMorx&WottUW?Y9xLCWugAio}}VP1C{kNXTws#E6I5 zU9@C|$PJWPBbq#_g4 zvCs72$eYgXxBogUaVEwzS~ujI>c-_2k1ewv5Kweei>kR5E$s!CP4f#ZTh6Warm&Ya zY__)+e}P4;!Ls4rvV#}!+ny|;qSzQiFnY4BUZCUlE$SZ!P9 zjRiSyLm@|@W>cVMQ>4ZSy&*tv2pj0Xsi^0s8Os(;x5O4ShZL}W%e%?#7_~Z1Mt#vt z#|C`Yh1@Vkc3{i!2Xn5&eDbPZY?Uw!Q=vhpt3;HK?aNh)CXdUSuglZvd4hdW(S$<( zmroIK1UBM?E#L7?chnyy{XL0iY*6y(*n&b^vek85$(B`wT)#lANrZ<}4CX?ysLWuP zT$k17>F>gqX3u#Lv&Jj!sSbg4^Daxfw12tha1H-?=*APL4?(9%oYgfl2!*%YuW%D>`)xg)+oyDM2j8z) z_m8AQ=h!>CXsHM_rymEC72%QVCnFHg)H02c;TLHoj3stm%f3@47q>trjjyhdhC!acjsE&83NCy#>|UqQccj4C z!BOLFJ3eg3jW_Mid865h{)&W*cdf=5U@h~F?Y|JsY^-wv@uq;R(*&s4o^B;8*ztm2Wc)`?@d_<9@u+{^&-XLuu~D% zkgyWw^U*Vc1GbVPn)nt*I7tJ{7z)WY!bDqvq1|_rgn(bqy3>AcS-DO!wF1|WGd=oW zNUt1RDZ6j+X8FAK8kj@jchFzW`}zyMXek_7D2A6Bn*$ucXbGv|_erF)4}7U{)q4bj zbtA>PBj~I;#i~~d&6l@=qTOkkP99?Q8-b1|uk2SaIXi z0$P-WvS@hFLSKG?rZJik^Z!&tIkplC{ zb4yLAH6nWXIRJRv4@rmT^a^+y;gBws2-SBp7+r&D2G)A^lGOd5K5hvoj<1B@+s+fj zEobg4XD-7WdiuD%<6(z~8}WGBmA6e&4(Ye?DZ+P)_RI%pmuAp5@5SYMd&hQu6{HD>O0I1$VWhFx6`#UX>Q2T* zm-`2~^s`{^&!>l(N9%r~Rxf)b=h{65UuV*5@n34<_20+dss7-5C;iG3`E%`^YQ^_X zb;I7texKEK19pMkQqdU{Xy_=+2bVOB%- zzpt1yFWlm}Q(Z_9kTmk70;T;Z8C_>L{wckK?Ik6C3IleN z;^fUc#Y+Mqui=maA5|*hwA-!A;(uob zekB0E@&RuPz}w4q>w0i+v|!!lnVoNUYX55(E5~bIcnZxfyW<=DO}histVFo}Oh>&c ztSlhNauSYBhlQo@;1l9_vgnpX+~uXpzgB-QGZUzI!@O24D-Lu1n`ZQIo1h54X2z?= zYg3Zt)P=aq8{#hSaPQbn>Y7*RA(+N{$8E4JDy8$&_ z`x4#--3U{^O!`-?zD#RFt!6Vf)ZCZyCEAPzhgy9Z76+vs+fldEFj3UzP^-;hbdatO z)B@jmsR`b=wXm07YWnV6(+0#9zE%&}{Aw2oigW9R&uUPUw3J$a?ZbYfz$*RLm#__# za;XrK(p-Y8xP+1kA#Zg^SJLG^ItPME`D#%Cxm{(RV>zHOlIzxy{OU0y{G*^PuAo8Z zqQ;|nd?(&Dh}1FJ-4j@wJ6eOkIw~hiXd)tP=YMu6;S^A$fjWj(h1t2Ke7{n@x0UZ5 z`5Sw4R`)b=G)d(W33G|JIn1u~wT}<+apONv&)M;J^!mqWy&S2hrJuVKLHXPkG|t+N zsESs#fl!72UfyK%HFC^_QGqE(A>Wv9=~h$@ts6ICb^D++hN#JM9*9c%fA zlcbz+MQ_f$P*2ZW-%}V@%-j&Mi}omakIbQDBjs1kj%6xm%-VI@hyJl^7PD(w7+rPF zQL<5+2(*#h5c!0 z8^YZ>cIFMS?KYGciNhUR;7IB|V>a^y{u~m0$B1O&V;sT*G4ZfZP5#gK-p|sdwM887 zYkDkPx7!FaCU_i1<}uv3?Vf7nfx@wHbsLQu3wOP^8;D?z5!^rmpFkIHRy%^U8FwP# zY#r#>RDc(YKL%-lG@KLJ<+ygoc`24&moP3U$eocGI>;a>VX#a}je3CW`Fmd3FuAUK!!*ts<@yG)$;9Jt93#zD~nj~wmn zJm_k;4Bjt3zviA8Ix4l*e=6a2M6^o#e^o$#Ujv(CbTytvYRsO&$d2Y~kWx`_zUcj2 zV6GTn`d-pp(FuE;c~YxZpXO{>BEuJ-SWja%!#5-g&(%P6Pdf!DNW0-Ry0g2ZL7I{6Z|h69 zmr489zaT1BXEqroHVE#XP13mE0(cZ#?eRIxj(Fsp7Zjt^A#Nf;!_=yv=nEyVkTM2S zX%89bj%e>xuQ#I902Y~ygW*7A14Py+`I1=&xd4ZX*Gs}~Ucj6$?d|b_6L>);fqQ!d zvCD?)+$%cr?|=shEsJd@h}EUTpUY{|{V4hd2*E-c?e@iSD{eOqTJdqCd47rwINz|` zpHC0><2R@0=cm84_G8oqZ2^sJy~*o8?6i(~{e0!wDO*@p?9H9;zgNbtYPv=0Vk6u_ zU}`I=?c|SHGU_EBQf(B?BQhKuF1tKSF<`XmX&HMWMILeRIRXES{xV1ZnS~4F1(FFC zqYJm4c#)~N@ih6;!%>lNU&+C+R8L3-s(P^j-CMSshS)$$pw@ zP{2JZs@6I7TzM&0iLdtx+|(&ddQCkL2#uHE9x2t)hTj&!o;GN^@Ib?1+RxcNwwfWMEJEIKp@MRI9E(RWrl#EeTRHz3+Dn zdLM_$T7PysDG7B{qATezPWKH+`rIkNNnn0i^yMlviQm-`2hZh4n8p%ej7Pj~gxYBr z;)1!}b>>XU6l*ZLXfZilR+l0b%Wsv~-XdY7v{fCyhHtIeS|NoR;7QiQM0+cj)V(3H z2v%j_a{fJwKVO;zkb?%ksu<4aX`Pp|!7v+)VwiS zb>m(RmLl=bq47y@#qQ!4QwMWIpe}2#FM+~5?T)UKlKUQ4S&YWZ2hw%lM_MyTPZU|v zx$pmaHPD_Y2kkWJTz0#JL@f+h5oK%+TGtg?!$pPMIz4WyFc;R7rav{QT==VRYa|H z&$>cam()Uz7?SKn!hUjL96rPN<-G=-_0)#4`OjFAKeNEAD;A2Nb{h=ZVeNLFo5`o5 z8@e1d8#kcutcH!cWY|!dlpVAgffEaJ0=uh)&CS$Wf(;x%}~=+q13y%|}X&Y&mP&E|H=HDeyjd(lRl zx9d1~kZbi5A~9{S)z7z5SOQl&N_bCfyh&k-DyGT_(a)>4V`?9- zZ~<1Q{DdEZEPW&3B*E*+Ken3db#rJiEeckEx@LPaQx6MfjtZ8?)cOUj#n`@TGJ?x< z$g0~_RRO99;7FyQaL*g!kcF>Ca|r%978hlKt;Kn~$oQr^>JJlPsZ}G@s!i9|UR#7H z2Z+f`?TQ(v7}VuxQbGtRA+VHG-s)x|w$sopf6K;ddQ{#D@hr+1W%T7LQ7H8=qN1?a zHb;Q2SA$m*ygYvzqRVfG_oXsx^hN7_UfVNp zZFra?IUK0#i9OA}Boy*LvFD_zP*7DKCmmG{IrtK5KE0H^Ir{!VC@W@s|6@%S^Pgg! zm!(kFu9(ra>Z_+X#qM_&6`H_Hm|_|}e>WFvqHx%udgI%Vk?rxM3{&%!ZR_YU4(BP7 zT{BMw3uCSRN=+A)XQtWFfBBK9PscPU%*9$!(_67g)C!rh}Ba730v$ zOb$Buj?ZpMHeY9wCvmumqgbb?ap=SO)c|ch7-ESJbFHaZ4{Yo5?H;Z+IcMv}eDMK9 zQxjwBIWIWXW&dok2D`yYJg4*+orn}EYPA0o^+9rxy}br0 z#i&#ljg}!-o>U1Pe5yK!1P$WB<-~cQxB?WDP{#_xy&v5rXh|;y0+8h@RK04s3l;M0 zoAGSUbsx$GBUfg;5~VPdFb~j1%{T#SiO~F(lwWHfy*F5=b|^rC)#^O!Kz%|o0a#z$BSRM zqfIy*W%@7~xAth~PYnm8D^SVYB!IUmD6deMgt;1Kb`_g{VD=)X1_5gn}KeC=R2zIkk(Rp>SRx5aSP?e#!TJ^i#ZW_K9 z`P7cYu;}PF^UO4v;G8to3^bW5vofL6!eyDZxNhe)!3AdMd{fPNw@K%TVwOrr8M9Xm z|Fi9Ycm7`6)`!`dO6XmiL#ja{?<{BgD9i@` zepim8>UL9I8p%OhUhll*Sz*2p_ub=l$No)qhmdo{*fMiFMHsfNb2U%jwhB!M^^jPf z+e2dA>>;6bb=V=gc@OT>2?|DPG!3V56><7cm|9r#Q*TD&YJt_G!q1e;@~gOaUVS|N zs4ta2jD8PBP6=fd2S!)30^BkD>?1j4)aG%@xIe~ObOl<{G=oeY>@o zdC_TK{QvB|`*#~RvLO7s|B8<8xv^-=4x3LszGRPL%ZYXr%PY#0$@S#$&|=HxS|T-U z%CJi(u4_G3vfaSmuADJ@UkgIM=M^J*smC#XB z8E^8=mY(y*p7o{$oL)kh0tc-_0sW79%+lKr%Em=njk=R*`tulS; zqT!PSr;TJRAefXfXF)k((>)bVm32~b+5jmD(Sn=v;ZR)PoDoOOOjGS3q`h>NtT;)p zR9YM*C68;4M@kv5d5Pp)5wxd&qcoxrqAU-`r} zkqyj8^>s#5>X?%17}M&AGup2quTD8Gg>#&~M+gBN+vs;o0B97dZwUugI6&wz%?DqfK?sZTnH?G>+1BP%|skN_$a5Jl>+EWEpg4kb2JP> zYNDA1Q3=fHKBj91z1E{8ZM&-o=cCw!^jBE|JRYqD*WWX0&TH;kF)-(9U^0m2YG6i$ z?KOQ)X8J(3YE-EQh86^KwqaOp7gcQ*R$GP5M&W0hz-oe(36PVF5N<`m%vHe%1w;w@ z=z?w~34(NlvOf$w0O_2#Wv&Z@fjbLY7!2SH6$7W}H`FbZ)U&vh8-6WPX-UCT`o<>A zR+37KUgG!Hi^;{)v)R=RYXR>G`=|SZ5znq|E0Z(FXDKPWA}%p(s|W-tuaQYlWjw zf~bleyeeu5+H!QLaC4`i1(thNUQLhAafr>qj82A1Ty9m>$jBV$N?hJFqmnO3DR*LX zRiPEuVq5jTmkG&QZ+!8?Nhz#`;#{~*kC=8`EK9^R)U>x= zA{qxr3Y}3_{^eF(>-bh(Lrr_gv9!cmb!-*cN}s$^hsfxRVy(&M;LYQ5M|QYiweB)r zNcyb&?MCXxbcw3*>f-@6*^U1ds$#%Y*s6Xn5h!iHLwUqXA*8+puxe>5|Dz>dtinuF z+kUisUFyA5`z64{vX7PB36*_Ty6$!8>t1NQ?qNcNa@{lK5Ae9|S;}NP-U|J%dmZw+ zM_uS7h64a|@tOzmDCskflU@jq<_T&4B&xtD8ak z`-%#>_IAjEuK5937j&gQ_=*dxeZSz>i|MX&^2zJp$-8g~FgLxES6 zYuH+uf`w`&GdJHN-vv^Mb_-BOv1lMvgMZ}X78AA{{bFt(&?Dr^ z2JrymJS8?Y21t3s-;NQgRic{&2Od z8SWsR`+b?H>%JgO(dfcb?J}YCb3Kn|tU|KVYxZK({rVC5d8Q!3WyfE@2k7bGi{g{G z7dcxV@R{n!QwIe+S%xrQ>wq;)L&A6>e!GUfNCV`jOi);A zJhCPJ5+ng=?I{Rg=7zod#<~2NlQXaL;9SKw^JsBBp9ah~reJ99yhGn9iIeaN_%M>5 zHzNUu#)-uG6WCU10^3?Hfh8^k%OkKY$9yFYR8`4WVj`p!iK9D8t%^8ir@}%QVJrPb zd4kx#Q=OAHt#T%QG9e4xrSpn`S7=T|SCZu*n^)6qc|hln{^Eg$(x{w)y7Vfq)j?}@ z&~nv5?x=Yu>Y(kFX+tnlY$f0McjM?h8EZ7=3@1UnyyIO-DxK$!5YP$EH2;2AwK83e z;#eJ+#YkuaJ9D0mjSaReF%LAl2ok`?lla3^*yQDG5$y(x_mepIG`UFHyr0iL1%sZdDQO+w~{ytBHkk`}sXcCX!UPN_8w(x>)O~4@LGBZ1BlB@M`2nxlJ z)A%@y4DZg#ciZoxY4rJO9_oV)i;$f3!;|Rz*4f9z+&(^=E^`ESNPerecW9^DRIq6&^ zYnM;#(QZOV7Vm@6bX-u3;A$S7Pd@WXLG151n4R;NaRSt6k%IR&N;YD$SVU84yo1l9 z%d3lIB9{ebZ$8XBe%MIAWgkXKUr{o|#l`GXLYCA16-e{%U}+x;!CfhO&IE1{5A(R7?lXPWIo94!{f;BkZKH8;}}uZ509G}zb^Sec4F&l9?wqRC}K zqK%lzJexK$YOo1hl^RZXy%jJiaCp4sh?Tc{D?C74M4U_)5?RZMR>HdDMS7qf$%GCH zy~W38^4IF9b6M!f>CAJU|8m6EGuB=X5{h$`(;&VD!DdEi8XGyORV69bL2|%OZ?2-# zC|=;&dl0|7`MtPau#Xy?jBn&El5x1&MiR^VgibV{XtrS_Uh$nyAWKgD^;y1vv$y|O zYtNhORtGUBWJ--a3kO%E8-k_hbCDfzB_8I-EGV?Ltdi>*`5`@qo?@m34AtBprA!mc zIZL)vu_43`o%zq@8!J!?{5+do@ItdkvuS<>A~%EYg}lb<%JP%qeCwvpkmb@1byJ}_ zvnDCL*DB2}EiBsU)G6^{^D5FCcBgAK&5AGch05n%bCh(D%UP&Z+DDu!zKY|TCV!l%`j%ADu&=i zOYUh?^wn-anTZ&%V}_?|e%+(M?Ni`xXD?nq8+63e9b(7v>|?^QCgX85WtYtC7S20kAp&xb$!-o$|9Ev^@MLK` z`Dt;*Nx%smj)@wtky+M@9>%qa0Wd#~0jBapv{F1BC!Mj&~uy2P)$H)J8{YrVq-wck9PX`au zi*?FF{usVKe0kdI3{P|9NvAtZ)-ld~0GN0J#~mKNJUrb3wB79sp_W%KCbLxY47(X# zvK@|M2R9=HWC}2ts0^8Ra>q%Vzq=mI$AvujE?TGqn6^Au@Jnf2F)33wKG`Rl8p}pw z4;xO4jNdkhl=(J&2P2SFn|*c&L<7Q{&W?)dXBp=&3p&Pq3u(0R&m5g)gkjUdswRUimb@m;b}+A`R+)|Rh!6mC!+b) zEE$R^tK($J!h-1FE!M@H)yB-C3YvK&7jZRO(PzctQfU)> zo9s`*>KjjzbDSKBS2qXq`SAGc?0PMWl9RZ+> zK*?e#bY@2&y`;JaY|yytLLuP;lN(TmC&N^-@^J^Maj7L;K}`~upR8q(vMR|}7Rjol zACN9hsct}FJ+hN?ieRk{f`^>sj@YjE8V_VNM8BZ&lPhO25c_tGl)MgN?ZpjrO0K*H zzDo+R7wfZ<3_5M!3_4QB1+ot+1~f_TbpKzVCs8xOSqaZNca2yU-0{Ra46%wPa@uL2 z-N!Re&tW|ch@CEsUv~SJqAM6+K5U(1cV^+jq+{Dw$F|Y2ZKGow9VZ>zwr$(CZR?4h zOwM^{*35@l>;46M?+?4`zN(7Z&vVnVBhT>($A|_g*#e=8v34>%4jm&|ldHBr!GwEQ zwec!a388}V^-T4TN0Z1ML&TAbx>H%LBAi*ca!{s3;Hc{`ZP70d|Lls$xrm3|KHcua zk*y2^S)b*@5eXm5Fb;i;*Rv&(A+-{O>4y=2XSAzUr;2?N#kQ6fYn5!Qx*^7#$O52LCJrxN#88>jVW^{l_*=FFBw-@3C8T;U@LpOgXHi+twB} z4NR7SdEBR2^T#fKvb&~xgt(@f3wOm-G_S3%;HBmung|2-x6hCEUl>(Pf&)aS@IsyS zOgnn=^cV?evG`oEJ91ibZlXyuj#&52*vfeAXW94SeBNK;4QnA66@9AC?AT$2F7e}W zZAWn|H>w#Ph+Jl5M49v?-0Pd}BpU=2%%9rLyUV{)UN&s1*f+wTv?{8WO-ml@=lVaM zN(+U~Ff1gC4v5R#*R`c%MR?MKip+s{*)#LG3)lKmO@t=7#A;h>YxgQP1|dac zaI0W=)|RkQKEZV68H+31`)s9`0)5Hc!=J;6Uq>Js%XwI{cq&HRT!=19>pt472%$x$h-X9 zWBy+uxi$h|%k$`|*3i_p{^^c22c z{0G2}kk$y=eZzexB072^2fIBv!Ci;zAGXaBUu%}^2T_M~_g-tOFpejNOi<70(=TGm zZk6?P>g}G)!gB+A4{Q%dNmhKYRc4BatUiA`D?)H!xb_HpLH#Lp3 z*0h(JVRXkn>G>+oup>1KTgl4X_pRMlY=_1vLOKjcx}O8-W@*i#S~`*HqnxDkADvVt zQ%?2PqU(b$?Q>VVtiTQVgfT?Az(VJtI51Ooapq~&(s^GhOfTfkYeUg=1<6|fHR`={ z&wiXi$J}1x)kGmv4L-UkTsgKk4@&u{%uA*4@KdmR4dG{3b~Y5ZEUGDhrA4B;+sG zLZcm^13iV%-@=nMQn48re!VMd^+uv|MhxA*((^k9C$j(>#Ta5qr6jHr2_b9nK^Yf{ zQj#;I4`ZHAH+Ck&|D^6;tP@fb2`VG8jQ`CV#m^w2fE1JsyoTf$C1oACXmfpav;p>{ zOTc9|_|rI0T1wW}gZ?qN?B_eKx(LlZfEd_vZ~h=y%Yh``EP&Pdb!EW0>g&MxVe`E< z#{~84d62XWcQm z?bz?XIcwq0WEXvyJ^0J$^=>q7))S@w2>ysB(0E_UgZ|<$Wo*P;Ytz$bVqWi1mr)xy z0U9D=4gCO>cLTA&{A^@~K7YAd5%gLi%8d?w54d3Pr9ua&8#0uK>SCw)JJjXTs;gLBeK&J}!`jTB=ws!lbz#i&njDqy?88mdbK156_O_Xvrr>qlGj{*B*KB1bWceAZhZqaD-k~M8 z>@k*%jX;zPSc+Suf+_$oBn=b`SF!MclRAqJz_#FZ>sAkgM)uAo_&(Sr3wd}!F94LZ<0qd$5^*6Y8j#+J-W-S)cf5m3-_-! z(onnB8baw_&pEjsvwg)MGd2swlNe8!h)0D_jzEti1Aw3P-RD8k8n*9X8o zG@LL{CVMq9AqakW{n#D)x+qx4tB2F55m`XL8wSuEL~(aQ*O5`iA(yM8HQkLAO5zIo zca={r6mW8D-5old(eQFMM5-4_;q)Z0R(@@9XSWRXG+2SAP?MH(HxN<=Eq~Lbh<2>Q z-!regyroP*0X7f$cRQ?WBRZ*)T<#AsYY$w`lW%Jh`B#ILaDC*M;%*_c zJZYreP21eWiXmN?Srs+ZTuIw}HDja=74cZrv($emBM^K+Yxqv_`-#uMki4|8VR~pa z@LMN_9%<~KbR#eDaXVOgw)j<(D zE4m?E6avA&jZ*KRf$9U4kgafl+mfglN&-m)EvWgSV_tU3BI01SMc5h`7(kbl0C7y) zU$*pQ;MP*d)mo0xmFtq&DZs^_rcQtzdFwgz*=}@cnJyK+AN$dfe-tyJE{nO=r3D1P%}cZ3RJ1}i%t;)@Emy(F{vS> z;C(cnz!-@anc^M22xEV#I9EVk$LyF`9{^pn!34qd@<0O$y$&I>nC9PH4qC>B`4a~x= z=rWJAfKx5OK_PrX(a{vd7GT!H!NG7FnmTDJ7zhhu{20}t z2v_tN6=mm7SA+2jpb(AQixi7IAp?_Z+#Z&+K;cgMB>gup8T?Nh)^fVh8#g}Y7&HEQ zy-bEW&;$U8mZ$V(RbfaRvgCcc#SBcRDN7z_($v|whlc~i5~(gH74_IBvh~`^+~O`f zWqQR&FFyX5{zg2q3rzHOe0R@Rz=q=>XEh-eK(jbGtk}R`<*0|!!CjR+NILCCFPU*{$`CZ(I1izG zDO_M0)sJJQSgO-ET#wn1vXWv~z$M+sz?}qFtY@)r#p`{X?lU`|DD7ENFg8Rsu@@93 zVIY9|TmO>@k8#e&Jw5c|dmSd*Toj@2_wYoTL;v+(6-K>ec0Rr?5!WUKZbV(K5$?&3 z4NLf)X;aLBmV~oQOHR3$a{^A?=Rp6HcooejUFct&(XfUgW$#EIrG$Ky?-I7V)x9`# z@EbYSx0Gw$-)>2xH#xI({`-#N1_BKt(LNxX!iZd+I|8qP?|=F6b;+Cv?ZWvD=Qx`z z9b8H2lpIf~$^RIc6ADlm7z?2Vm5fd8&^u$MA_oRCQ68lI<)vwX8Ew4sd6`)zbCu7)t*Xc~fk93nsDS zS?&uYkDiyqYV4#VKT`}C)I5J0{`foH6aiX58 z$OD8VHOCGJMxTMw{^aXAIKnFbED>3haJjE@dX60VxR9#!ZOLOWSz|8i=8q%GJg%^V zbTy`|!7+yIlIr7rUn&q@!@nd(GM%Y>P#-(c(-TTaz?h%z!Kl0r&-u1)GBDxkDS*Ya zpBKl6q47AINN{mIN6FCEgmI1owc`IOD>r0plhGLaa{l1u&JaH#;T8Ckj+BV^ae8Oz zz%m)>=q8UZ1LEJG#u~TV^63ko^V#mp{BiO%cLB<14M2TCF)IC>&;^k7@ey8dqr0}p zAn1KLzEwEf9jAM?88iO2WMcKl3akGO=D{izUrrykp5UdI2X9&li@F)Ujz-uKWL{|lAEd5>hyd#rt`++JqLWvMHezOXW5?{qAKKZ zP?}4I1-3-lI}uXcty>)|F3K+fBe7^DnTV)thwLUnhpNMTpngx8{n2A?o$3LIlI=^A;6l9*bj=1uUybVQyH|<910ZB%zkQY;;1Xg$m`9RXvMGDV^ zsBEb?d-2+Gp0S#Ptz$@lj4jE|!gZo&d0d@Oa%)CrUGmlFSfd1NdvX&d=`?X`Z9V5E zo?^>oaG|~NTGSU|a#-H@WpB>N=a+UYNaL(qKjO|$3M_SHgCM$~A!3fVz8QDu_HYZ$ zLJjR6Cz4+*W9MY{${KvAr=_pwoih1rLL()`vgvA33LjaQ62P_p;vpwldj530oo&y$ z$==!3JeJJZA$6rQ)tb$&*@)O-b{(Hm13WbZ^2k}noEAz}#i}n&NGy{$Z^iK#fe6%R zj4P3Gmfs+_Ml0$^W_9&TIpv?GNu3G3jeRk3zN2Z++x{ScN%sTO#9XBf0zbcAx}d%K z@9&^0s!_aG}Q_4#tP>VI`$q@{%>@YD{vJTj9=UQmdP7HpO%{Eg@Nm(NSkpe_K$mtnq7q%E)XsS*0K8yANF6^xgavG|p3@vvHD!q>4LJN}oahYxbMzpxf?jBxr(#F?w&WLgc%f(^Wc``;=6O_Kiw;2n>)QUEAkT#43IE zagZoo_VG}Bgp@LvunDOd1gDu%y(*FnO^a5~=x3@1*dW#&bTXa_mx@{{WzEV^x~Fc@ zH)GLX!_MO|>shMclSg^rzggekknl+2b@Q6HOwbDm<+)%W(7VT0yGyK-J#E$FAE zH&ZK2VSfE4bjc&&X%}eOTSF%%bNKp@C)Fi^_xN#SkZmP}8&nBO(r;Py@>C)1`d+Q4wyIHTNfum?61>dHcF8}d6?xLFKbUaf2A1s1nc11>7Ldg&^sw z-8DPjMa`Ep)9|I35Fw?r@Ly0?Ul8^s8eVT>*IsxO; zLi2g)hwK6WxE6l7$)*FT+`=hlsq~NFOux_t6QVRNYROi&_BLeF9z0_nXhrEGHc9T= z74|><6nxnoG~(LY_eM=UjU0AG0S<~^2iHlZ6~VwPj1_$s zOa7feTI69EmnFc8Mp>1kz4Q9A4I_9x%_AAz2Z4nmUur)rzHA)E;2pWu+xzX&=!wJGJOGSRiR{mmRK2tp2-N)jzXn^5)Yt8 zmZr^{+eAz$)UN2fQS9y1&-N-FOpsehQyqf9&n22>r7@A;m+IYW+T&l7;vGH}H4fK` zV$P^bW5He;6$kRR(Z)JRbigrtJY(>kD=B6Vf3v=rW=&CiNgg^EIM)%}JPbRg2YI>>S}NCi)sQZ(j%k=mGWmCdM(o$xGnm9=+rwIjpR&uv4Kb`lCz&qkY(Bt&iLa_d6>amHVBPQ2Gre=~=>%<2L zcZiMvoK9J&vmN@HPrM@SnNOuvvMq@LhWXyhXA=~uf+tIPJqbu+(DX|3-pZq$QxAg+EY1J06}?3qR1* z4-3ri<&Cvs_hZ&YTi57Tt6%DRHmk1S=W&=hDUT3LgGAKFs_d-^M zKA1nenRP%xjTas6_$mX?WSu=?X@yNw2AHpd<8$=Ujb|XB&^ZR^&rHmx(S@o^=&SYd8| zt?rD@XrFCW8mn_bW5w8Xuc#@Z3i-3Mr-~OS)jfy5+fr%sUBB!T@W|9zSDOGfnl(1l zpy8#>JXm+Qh5BLYYfINC?#W&`q5X6C?J__PD-8XR74~~n9kX;d_Fn5#pl#f(flKAJ zy=~wHTGo63)>yZhb2GnH>h)eV#iHo3;zm2~gEk&fLb!D|OfFfPViJ9a88w37@` zDKSV2;HA&-6KmlIB1G0Z6q448vFTo<4mXR*s>$(AcN1{_lK%n|PRk*iKfr{ty;vQr z=^fqiiC{0X@x@;fZQWsDkFnh?j22j|-O7Jc-Emmb%>#=8KG~etei=iU{{tAv&>hlF zjzRM^Shz#W@cH^nBI!diz(Ds}gL@6ayS>2eLrB&|aK)&oXR zu$Nu`YTCWrBM�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

{o+${5a#846MiaXH0czalv6cUy&wDC;d%>+5-H2 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


LyS?I!oRh~>1*#MsK>=?~3)J-F>32&z zOy8;y3BTAAt;L74Rl{NPx4PFQ5tpCW)6c!rEW{_~x7y}#;T|uB8qspAV}I;!y%m9T z<`I|m*XcY@$K>t~Ozo!H7BU6LQ6dP-71kLQ$^&qUn^A+GKG zRCs@9=j0sW6~y%OeJikOd4Coj&Gcp5qLA>i_Jq!96y<;lO3i4_1!{@Xl*DL)6bjBb zvN-xRMb1)duiY!TyExSOj{M!*EWy>@&C0^f%Esy1Q#s2=wwE>Cjv(QPO~*0Gl@-^? zU?^$P5Pis_qXT=K@ug5QW~M^zkG~a3a0MHjnhD>TL)$*Oi&uUtj zW-`iKY{D&=@hKh}*xY>Wcfa3SgNx+}?`dXcw~Jk5=1B*)z~=c;Iy%+iOD^@}?Db0c zb@uxB_^MVgG6tUoNN*3q|MRR{J>a-JSZB}d>igQC!TIT~!H2{E6s?5BT5^80NngSn zL@JL4_{=)nrUA~KRk}K#E>`=qbF@^bwwLP2ceEu1zHkiaXp$re`egjoW&}PQhH%?H z$f~(6pU!rEHOSLY;oUNNyYto{1K54;J@pQr%Z0%e_#v7lnaY2f!^;C@&x#9u)-e#} zRPo?;@KssG!>9nyhA<%w$c=0~9_&p$z$Isz@v!?VF^&Fa8dFo zWHLEsYYHIQm+Qqeg-MG8=}$3u4t_&;l&v@ry+xWOzhSm9!g+P0e;h~&K&+Adi%hZy zW9RK$%RF<(Tp|2cgP>c!dHVU98b}nfbq5(;d0#TKJO+M5rlnwvmllsIzUJZwS}u?t&H>_qV(s zMuZv*THKZpVu$t4Vd?v8@(O`9TRS2%V?^Xy?;|q+HGla8D#1e#9SON2i^g=L@yduq zHYI5D_zEXlsV9=SZmCRc+OtoU5m?~LpEVbR3&?B`Nn27}Pp9Nnx&FIFIZ1dmKZf>M z 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

C3jv;)DcCzOH!V>lTy?B$7jwFhkqZR{M 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

Mva1o@bcht#kcRJ6nLR}q9qxM6N7-x=PqR3O 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

L8?dfLqD@ZBrF? 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

    O=QcUxEAd? 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

    oxM| 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çDG~0PV8^KKQKdmTD51idG+shWo1GNtnT%iM0C0 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 Q7vnz1DC!=Jek%arZ&QEQIsgCw literal 0 HcmV?d00001 diff --git a/dist/pilsner-0.0.1-cp37-cp37m-win_amd64.whl b/dist/pilsner-0.0.1-cp37-cp37m-win_amd64.whl new file mode 100644 index 0000000000000000000000000000000000000000..c0026904013a03364ff18217f634d4225e6cc7f5 GIT binary patch literal 499455 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�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

    {o+${5a#846MiaXH0czalv6cUy&wDC;d%>+5-H2 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


    LyS?I!oRh~>1*#MsK>=?~3)J-F>32&z zOy8;y3BTAAt;L74Rl{NPx4PFQ5tpCW)6c!rEW{_~x7y}#;T|uB8qspAV}I;!y%m9T z<`I|m*XcY@$K>t~Ozo!H7BU6LQ6dP-71kLQ$^&qUn^A+GKG zRCs@9=j0sW6~y%OeJikOd4Coj&Gcp5qLA>i_Jq!96y<;lO3i4_1!{@Xl*DL)6bjBb zvN-xRMb1)duiY!TyExSOj{M!*EWy>@&C0^f%Esy1Q#s2=wwE>Cjv(QPO~*0Gl@-^? zU?^$P5Pis_qXT=K@ug5QW~M^zkG~a3a0MHjnhD>TL)$*Oi&uUtj zW-`iKY{D&=@hKh}*xY>Wcfa3SgNx+}?`dXcw~Jk5=1B*)z~=c;Iy%+iOD^@}?Db0c zb@uxB_^MVgG6tUoNN*3q|MRR{J>a-JSZB}d>igQC!TIT~!H2{E6s?5BT5^80NngSn zL@JL4_{=)nrUA~KRk}K#E>`=qbF@^bwwLP2ceEu1zHkiaXp$re`egjoW&}PQhH%?H z$f~(6pU!rEHOSLY;oUNNyYto{1K54;J@pQr%Z0%e_#v7lnaY2f!^;C@&x#9u)-e#} zRPo?;@KssG!>9nyhA<%w$c=0~9_&p$z$Isz@v!?VF^&Fa8dFo zWHLEsYYHIQm+Qqeg-MG8=}$3u4t_&;l&v@ry+xWOzhSm9!g+P0e;h~&K&+Adi%hZy zW9RK$%RF<(Tp|2cgP>c!dHVU98b}nfbq5(;d0#TKJO+M5rlnwvmllsIzUJZwS}u?t&H>_qV(s zMuZv*THKZpVu$t4Vd?v8@(O`9TRS2%V?^Xy?;|q+HGla8D#1e#9SON2i^g=L@yduq zHYI5D_zEXlsV9=SZmCRc+OtoU5m?~LpEVbR3&?B`Nn27}Pp9Nnx&FIFIZ1dmKZf>M z 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 JeD7za%QUv9^krDre|`7(n7e%iT_FUh;~bG{mc zWB*f=I54{a(q#-%(D}2|T;f8o(7!=Tnk(q8F!0QtS_THFixK`JWa7)<-@4(7r;B{< z;|a2et2Lqnwl>a?V*J1;OY`MDanUZlfg?$h9C3=L1%H!wn9SAF+%i`uLn$ZYU7WoH zxE|e+zpv=7@Hf|8j<8{C>JbMTElB18llT3;8#b{EUGrt>*`fXj$h32|ElVzy{| zcGD8hDT2mYn&u1^>ho+z%JyqME;UHZ?2ZM%K6V^4c~0XxlKFQ+uio2|O?=Ql5J1{M z_X=*1&joIAW-+cn7rMp!KzWy8jONlJp>{|SS(CLx3gzEo#@nwAi`CrgyJ<8x@|dEz z?@ZHZ?q3B(bD!v@)!b#>WX(OAsLx-Q)~x3K>yQ}DeQqde?&U5;bB`F>yyngtDr@dh zE>&}XK2+A+KcVJs97>uy1%7b3nSc38(%kF2pyqxT@Xi-^pwtTQAfAM53iv32ZWlm!3DDss1ujU! zRXHW7g`#6blFb<25)jE77!X&npO@IrY8_j~59Aht{u-(Y9EQOsur)y(a6+>96GAS)3+pfrvqEU zlzjJkwv#02R2QbK@_NOvJO*6*Sh<~58Me8_o#%2^w7 z>X>VtdC_CHibZh9#{pA~1smJy5}5pn<0Ei8z#+n|(Fv1UK`b#jd?zdpFbFK=ALE47 z_oKm5{v3PKdqz8a7m{d=dCU-Uu5w?=4(R7|X^r^{9hRKr;z&Ej3kA(@W3^JR zcXAC{sw2NL{#mW}UccJl>7I{^T);ghlug|+UV(oxk1eVY=h}D^0PNv#YuLB)hJy&3 z%6ffHM6Vxq;gYbc$ju@kfP@VW3~#Xbdy{?5A~4#(TtQB5$C5K+k}nd64bP5A{+1=% zW0H5WWFaPb4NESFNq&(f7se#7V9B&||>Z0`xvNi;9aS6(< zYqOei7M3o(O7RC;qDz>it%9%CWLsET_KmWIN2BxS#OQoY{8CFh#V=(j@k<{$SZLA& zT~uh&Lk=wiDEkE#Wk8<8xP$8fxmeHWV#A|~MU7WE-a{M8)O^s7Rrz9#{i3Yt&CZPd zlC6A+b!M|}$1nE(i;$`2gP58PRZ=;jy%2bZo@2hR(tKZ);QMOL_to*=8P5zRHWGi! znO%w|q$S?dAK{u~R0t*fircU!iT`Go&?**-s=B1S0C8p{A01f!&HzaU^y&s28A4zr z^t3Ato;9JO4l8Z2hr~?y%f^t@fTO@2aM|G%Y%oVLt)}3NB2uOhgoZQVD0K&xqeg~Y zCGbegd4c7t*w0JsXLYnk4|pq;t&(lCCt^rtJS=CL{4mOCFwX|v#zb}tc}+avqwi8& zke(*K@-`54T?c`vyD=)z(uy$*=JMM}uiSe`S^pfQ4WbkzL)d_NHn5s}Lo1bDP8gG! z5dKvW_^%goh#Hi4cp!52_XUL6q45fUaVIuDTSU zK#9?pL=^7CGp6jVotre6<0H=oco|NRyj z>&Z7qv3WEbw1fgD_k*nj^mAphNaO^Il2Kf*(94l2GXpR2D{T}7o~a$M2y$+M2wqLR z^!%L5kC(PHDD9Vumwv`ZJ-=YTOoItImyVaVGy2;93w;y9lg;4Cz7#wy89eP2c^L%KHy7-$!tW4>`JDXkH?i>*7%8B+2*z^;t%BQ4E||e4 zkZ>wIf(%a%tybV<8Dsb){+F8xDgnQBRR{f3Hz_s_tCczN5 z7b#&7kFwQ3Ue-2Wyitj7yon~~wGv-IAc4Z}pG~_~J{83AX%q(t@OHkL(q5u{3}1(z zjqMNB{u(#lF;PAUSFED1Fi$xQ zNsXW3n_se&FQ=&1dvB64SfJ$k1ati*F042%-X1q{Uw~FyaS4&VE=wK$9UN;7#3TpV ze$)X7S(u|<^*1eo%%4M27Cc*AegO`Pb`MRJ>i{tt3LsAKkz_&SG1NHneT?TuV!pBDMpn#SyV!JjtP7 zy3>($8~zE%ReJ6b#M=vTA%Oe{Q)n3rh_|#z2n@l$LikGup;fR+QQrw zarQ2G2_)W4Bi;P3>n{hV?hL2U(PnYV{(r#fQURFI*;5khcTK$BdF)=%+z~_&hC{!6 zgUWjSfk98`h4I14*{0cgi|xX=b!}m(Wk$*x#VowPuNb;(9sM7^4R?WYwI>)f|0rs1BMfVQmK! zw6nawx(e10V6E;i1Gz4f6lW($8^_>J-f5t{q4>2`rs}j!6xJA}FKK%Uu44b_7SD@c zfrbRL_X^zh{#2&gR|{!NgLxq;65N#n<1bUucb;n`{zRtgw(sZ`cjA&3bgN4|K#PzY z*dTR_@_v?h8IqX&Xy3_J&DN8tiTTYwR@V2O4d_!3#n_a5Gkw^rpDbUu$zmlN>_{4W z=864chhP>CnjZ1P@1@Q({AL}(;fL!-9`Z1-v)bavqW%A2EZP%~Mcnks!sa8Jq@ouk zSXVO|otF6TsI&O{`ZB>vQQGY;h2w@!grol;!%^cvnF2WGM{u01$eSgAUmpGej(PtF z@&?y2wyF+adyMFb>F+CI`rGJ|j)8W$@jAsIXI5HZ@0Nck5uvR#11Du=6;R!R|VFXZT}A%>dtg)K5)xu=$H$y;2~iqFFMv;;x>o0Pr&me2ccul+uj+pFUJ_b z;Fxr)`spG3bR~uaU^0Bp3p(`5*U;hLBS%s;W6yB+zCzqE<&{fuLuGFRX*gU^a0Km& zQsK{ChbVA4uV5cBmY5*mSQ)(|S~YW04IV3FWvgov|K+u$%-Z4!YLa@8CFDwYI#6`{ z^&v;Co&`Ldm-sI-aE6?WU@2>Gi7Zk!|88zi4PP<$| zees<)HDBU$Z3*QCGIvgpS=8hen{x+h=q2MUY+}ccN)KXB{@xo0kEHB+Rj28>se-L` zNjKE%c=#BfwHH^Xl?)(JU%MLQ&v0u~mDR&HRWab!GvKNLxNs7=Cd57N;801Z`qAJ! zkzCbi5R47J?2o90L(~#*v*Bx-vS%NsBI&w8}-hHT#Zes^RFh_lX5J(R9m3NAL3Awy> zmk7_pQ}{;|1ex8(HKZb-!Y2c1ZbQm zo_B~%Zt(eQd0pe<_k{qlZZ!5J*k=fT|8k8(FO zkq)f%E`shFinRy1wZDT%^8KNA2hA-v;G*wV=)=x6AS5l$I=21`8N)-N4)0=CGtD95 zx2QIyQ~!TZjVDvF$t{#VmyVHTq2tV9lJn=b1^JtRE6{h5BYU)fC1MJ?0$tLxDqVpa z!<`b=q0U>Fcu%Y%0Ooi!nb#?qC}VPoMB12iw@!BQc?8=%`?`^ zJrm^btD-gar>|1!9prCdX}+rxua}Bu7i;!JrP8cPla=%wxCYS5c`iE2Fx$ z>s3(`Hr&I4j<=}xj`yUJ&uU9Tt0#IU0#NXsM^t-VL`qZvw)d|iP5(Tr#9yg$B~F5yAJD3gJ8PgVajRc(}Iz_R$ z{dlUq&-k9K{E|XsXY^oArf%JZ=LmefoxBF~|EmT6=g!8sq`x3$+5nHLLQQbq4A@s& zklZ;AlXtXRoRCVJavat?v0B)3&TTv7u)J95&Y56^-|9SnHB5!k&Fx4V7HEISg{QOy za1REtgv4LyL5B}zN7#hz(LHerY|_4wHL4UXA8C$Oi8hX+_kYzo(^2Q?u#?fDA9{}& zTrln2=VoSzfStJpJGdu%^&gGXwzv%}Wa#q0bhuU@91d;l9I3+`x3~Aw{s0O_#q9xO zBQa}tnn3L2i|3p;@pq%%ZFGs{6cP+7Z8dZfs9nG}MQVU18&k=}S>KIxMxz0zI60rD zqvO-t)+O$c_}i__GkQC2vBBVYNK5Id&L7;MQr#fW-8TMHta|`FY=`di^nw2B`5PLp z+d_}-ps8qDzW8w}O`@7`gXMbEPC8FYcpe@j%+&EtiQnIY#TMlYB8l`om`*~&`FMsq zt}YC+s?Li}wEh^&>qkAehObkS$5HYqG=~dx-Z9wp6gT<2LDy|}U|iCV#TL zgx~{dLWN@S(*Ch4-QrG|qdL*@py*wP2uqRdxtB@|CgBBcf*^(gR~3 zvmH|=*SOXxRWc7YCW1b=zgu(qAT}N}69LXT>ZVxlr4Hyd0@bxC0;;m#>&kp_H?)Ew zWdv@!1mGTK-Cuy+Ux?sp&TEN*hrEvbZ(-DLD^}^47sBY0jsyH}c8`N!>F*;Ff4CEC z*dy_~WEk#be7;Z9Es9g&iLUCfwgK;MCZW(k{A%hhFCX^Q23;yVV}7QaY`q`rra8r- znTQ99?c;A{O8S~kib=tBPH25Fe*&AX4@-lBgQy@zD!bADZ+@?f-1g>9a@*Mn{I|{8 z&ori%6XqeeSXAhylfFvnq%YE@s8x&e{oi_$TvAfHa?Bepbir>j^fVpI^Cce3^Kna< z?#bt%Q;jfZIY8j$7t*eNFEHkkVs~Ihp*!FO#$OWcY-7j2{Q1+ZKrdN<0)0B-N~ItE zm5*O}pkw@E@1HknDIQY3)q}eqj}XHnZZWnB=Z4Poeoj1NxNBazd_M2m?*8ydmoH>+ zoNW{@R7sq;yQ;Cf@%-%F)17_l9b%PJ-2F^eb)RZsTAjo4dF$ab9RU-}3u=AmQe448 zIxD`P%aVUc=u_kHU639GZrCnJm0OK{vm{_fn5$S^b!g>z+gLWXlK4Jp23_N``zO3Kt`eWTJzL#`#(1Pb?kQzUK20XJ|&%AxxfU9)v;O&*Mt znw3Us+OS3zCB31UMz){wU&vZ$_=9O;AaUB{$&mOF9Z3om3%1jqjx3fxvE$rQ-kB!h z{q+`qTdGkRzGQ9T^8Gge=UIPb>;FC(ZjeI@O^&kM8WO}K2-)Ls_)M?GFz{9~xzmX=uc z14G^J7DvGA*AC5b1^&ad=xw%MNrcS#6d833(XuZOwEX1{y7S}sCnWSQbdc#>)!snI z9%d#uMo48Yc3vDX$m}%vVyjF%;xX$d;GAQ`4347wU@kJ!A&l4-9mTHT=tDwaRxuhq zfmwy_UtG5HYEIv}gtnTPry^U*wtDyH@+%q`I3#yi0?+ z8>7kbg(c%P2>!h=Rm9m1CCe8hpodBbbP&WRSX5sdw+J~NFyRpdLLi0iP7nfk77FDZ zoSHB;>Cc~$l2sWVO%S*O{RI5Kf1;x{5Zi>w1@XzMYeaLp+>}I1e00`|ZJW1+d$5$r?^jZKE*vCK0S|VFu68z zKE>^t^C>Ll)3Ng-XH zzHd(_s`M44tuEhIFp+<=JT~eNkutxNV~n9-Df|_}2uO7Y>?U_W zNd2?RvX>2kTl_0Km8$EBHU{0yl`fD>=&W_wYCPAv#9;sgDDhDsUr|Y`A@M*HBZ@hk zi+~iYamfc#?R1NK!e2!7hl~~f5Y;bVy}+T2XrqKta)MYD{;nDNC;}kU&0?is4hAxj z_Q}E2P%!1QJuu9o1*rs6BNrWXK>I4uYHvtt3%<@QLj)-*g>&16Wfwb4rj4*x-Bfafnr{Rg%WzDK>ZKI zOmy7kp{SXH@1o>&N&Hu-%#Cs@&^@IM3x5&YN&Jm%$!eG=@sG8k_)rt->-R`6e{4ZF zg`I^9dd*-WWU-(x+Mm8FG>VQc2!(Oo=0*!?`u^`}iVQZheVR1C*dk9h?qEY!?wXpJ zD}VRtbodvRf0e&~YM!I}U*4*tbU(SYpnI`D?}+s0NYl6$1YcGlaw6)r=cfLdY zdc>^hq!(H#t|!^nqWKCP=B{=&PG)DIXoWee*=?qt&U;5wNntCj7z!#E6o4My@7K{^ zjr^;i!Cu!3ze8ur*5xT`%5`r z^1NUhnYv&U9uL57nwk~?hn=8CFhxP~VM;TQXg%i8X?xP*+g00F{973M7V&2?m*t4& z8fe~SNlQPY6*r&YCjH_N_khXmK<7|vlNxN?3d#%QqnkuWG?WN|Pt%v7@(jF|j{DA* zUzFhA`^}CGdP<$1o*C}GE{T1CPjug~Q#@`Nvdw83a)PetgPFX8=I?H((GHXPwyW)q z3Y^vFS)3ua@#k=oTbw6gWPCmz)OH+gI^Wi`h<(?sDc8Ep%M(w0)siMI{x`9qpk1KA z01QTV2XDdf?9vA)8ltMv;5(k&R1K{)RWl!g%i?ShjQcPSV6@<{?eKPDUJT0zyYj@% zZp#OiF5}LSctNiVQy>mT^iWL50qWYOKxPiHIAd%gZaT^ z5+>F+<-xM4g(2>I05Ab8wbwfK9n**}c0+tbikPNiF?Qc%NK{J7#Gj<7n#dZ#$ViWg}? z4^@Q>4(KJ{v1F&Mj_n(!o`OjLMsb*%s_f!6T-r45#$FpCIGQRU8UD2k)R_k`d7R*& z{o$51dZ%TLA>1Bb4e#@`%JbUGGJ(&lDgU0y#7ifAu=u! zBz#7&ajzn;i-*0PBUf%^hvp`+uoGov)y91Z+3*HBSE}epU2VdE$nBw_`lxK>m5UrO zJ28QDNXj~jy*eq4>Qk<4*}mG~0j%pC(q2um=r^WZn4FXhs!(fBk}>OO#_1v{S$0TKXydL>uHn+l ztfbyUhyx2@juM&dhy|18yeT;!DtOR;p zJ{9x;o}bQ`U2MDj0-jd2lnXwvE8L>$f+2XzD2YD|UnRksQ)*q3BJtbdZL2+<4ukC} z@z-$%^+LdcB(`q&iYz8q>G2_Mb5^j7$adS*-FM3$iH9f#`L$Vk;TwA^~v(#)-HvO^GSN z*v)dVOm}&b@m9Wu@ZIn?jp9!!uv+4m=+t%GTo-Yhn^>)Zg-CA~0>xHAGKTVX3gexM zn&-w%aVcDTtGs|uK6sBh>qx*4vFCM|$cKN1&M99_DhDqKfO(eDple)3+}bHg!yjA{ z@dpq5VR#w&V}OqM1LMTzP$azPG@xG2?yasKnu+&HP4fL?ZnFCgh;SayduC!h(^ z#%y~D(aeWd@m%Yy%Eq4o8Q+8Lb>2IC4_b5SXkl-6VcJkIQMY%!-nSgzA z9{L1k&zS~opY$}yeF8>F@Q(B%mpIAl5@%<)#D$si`D(H2^$Go#6bu<+Oa^wP9@R@d zyFG!TPfkhv-FkHm7N#J4-5#2(8TX;X)2jH}+6ck>OyqgK{hSbJU5#rswk>7fW6TYh zfRlg`9nui1CbU73l@954YXX*O?kXvU4+u=)hExpmaG>3hlvR%s)0GBq1`mwfdY5zp z{!c7#X;>X`<9VH^q(S(bAKHtI#2t-W!Hj!<%Rad%ZWr?p+a`>BT~y147jWqbrbf zu<<*p2RY;`)jghSDZf#s=`cZr$xOYa{1wUv21Je{)q9Og+#~T_|D)H5=lqq6ED}HK zcRkyq)P*d6fXFX-=97}b3&uf?uW{L$JmaF^M^A%X{a@p&-v|U153%Y~l!feP)jOQ<@J819y@J711L)$nO2F65Vxng%^`o+#`8M0K}E zVo~sTx**^2Ir1Y7zKA2XoXx@LJ{c&ft_wvM63y+A6@vU{&l;i&bvdu6;a#L|Fi;99 z{8Gg(CEj;|DtP``B}C)|OhgjfJL>*LjDu~!{0E!a;qld3y<&0VcD$!q8zs+1w&RtZ z)9Wr}W+mRQ^zc~)Hv4E{`AK$sJC{Agpxh8_Whr0nrbz*IMqii(dQp$Q)eb+Ie_^m} zcvjZ$ub!2u+qgWP1yozj6XWXhK|sUF9-uXwVI-5-A1>~Vju zU%-jUei~I7JbTz7pQR!UYWR{Q_!AvRqZKbqJOdqcJ#OY_@->yAO}p@1*~{0^Z2X(| zyIrHVr5q!>U)kxiy)sN1l|A=nP`Uh$U#HA=>(s1})c zo1EmuZ?+H$*V2g;xHDhDAShxC(HY`t{rpq=Pd^`v=E;0@(c|)Fr9|iv>q4@zV)=5` zug_y?a@iUA70QYEip>1h2I;YBd|rV_zd75BY*@D1k&%xsd5+mRvxegIj|V#ot$Q6C zT^L;KgDKmke?{?;s53hYd>|CKgivY*^Dk`HZYVF`%!;ha$*WMBAhglr#I@?IyG%uX z2&^soFkFS9QJzXFW<8{U=DL#UW$si;?&GX6mKs6sz=<-sltm!`HjSX$On#)nPOQ+u z!XBIqYHb)W3_UEbXdKtfI8|*P&*jmLiMSBT|C4$)jiZ)|f83!}=hG|FF7M7$Pjq{T zeWunr=f?3i+B>PX%%5!vqr}sCB`rP%b_>y6&j+~z=CVnLW@S5&--`f7TMS>Jf14$^N=vL{Qk4%>QD_7wThjgqJ z-QEqmm)LP&0mDBKWj~*PdRiqhI@c>{z?nw-0IO2`k%q-mzP_$5+9~UyqQsGwx5)+Xcz3H1$+`nKaEx@!P17@;mqX^3r_A*0j=NF=_o2tFh{|RBOv`e)luWREsTYH>+ZWA?4y3 zCq}yiIn$f8MxI8`jtP7EuN{T~sKYl~e5A10u^ySqOPS>()FDTCQ*kHq9@$=gOTW(QxHH ze3#j9QK7e~RQm73*Nr5m;olu(l^#KDsHcGnzbJLwhv+ALimggI44XRqFb^>`0}DAUT6 z*=EpCUKr7GcUR889+s*LQj!_77^AP?H2boPqhA;8ikn;w7i2s~;Bpy{Bi@`pF;$}N zyDFU5VKM(Me$B6|dbDc&ljEq^*mkExPo5 zZ(=U_PXT|94@MEF5=yG!+GM*&>uSZ0+ZS8P>H-^I)c?dsmS_|&4xhDPgL4Ed2 z9iRV-=|z-kzZucNdZ)cD#Ci2D69XPClsCBV+83wq8V_wGow9U$)@}!aQN4t?F1R(b zt!G-=n^Jp_aHKl!qK=46+D1?J4sTY$7t9j6*QtUsvhfRLB=@vrn>9cM8T}&y$E4o* z%pX1T9;t{@?|igG4r1ZTVAMC!Ut+d}wGv!@@(ZJVwclAKo+_;{S?UcjLnp~^_}fYT z4#3frz->?;B8@%aq8{>IuQv-n(GMf>NR9Aa_gnEEb0c4#9O@wh;lKg=`aXML`8wT{ zID?DriJA6x5mI+!uek-iu&OrQyL0k)8*-r*dos)1rZRo5XCyf9y#3^d5NbTd!uIrK zt!}HE@AO_uvC&D|2;RJyE1-i$cPq|eXoQrmn2_uGI!O4miVsb!L!DbHEd5qR`MFv zK-iiCULT3`DnWwa-2g^n6AfnK3s&gfGhgW5iJ*oH27&P3P@FZ48e?8Wj;+b}i1WXa z|LB*7?0ZMk_R%{uj52caG0|~S3ej;^P+(>N1Em^j3O_ga6HZlAnrNEY;gP6C#)g&s zBH?ei2*J*KjO87W?EZ>8&5EXq&gy}a_BSoo-%lu`ls|CyTSvyXje8}ut5SCPV< z)V*SF!|q=x%9^}>HI>ygIg?nmnp+?PhBP8gAU!D^{o+M#Ev+W0-ljt?9UivdI9QQ9 z!4lSwxZ~hTPuC%;{`2{s6Wvzh~CWpu054 zD_wU-=ywQu4oA;T^qHBPzx>a4axHl76qq)6m?dY*gxT)D+?h-w!h0%yNB#ULPM50n?K8yV6$8IxQ@#f2T4JZ zb`=PMg$=osxWE5CD2xJX`Oayoo@#g}n=G|H9eRo?SGOpo&$r%ADiTeEj6 zz!Wxoa|51Z$@rVY-euVGg#X(#58wmb?@ss>Op z1s=7^L`G3(NcmhElBAuIvp&P$pR94RW{}+S(jwPWZKpFE1Wmj2^_zk{>lY~DuIaV@nFaOMSEy5GhrqAKivE^ zRrP&CTA4mUhFyajY6Pr18gRKXYslv};h(g1cUHRzIzFfG z>l1Ge-wI?v9iI}HF48!pu!&*es$(o zGuD}Qp|RV$Z2YqvH6bC~u2=W9+q?RDw)NkiR#Hme8dtS@^?@RPrs~Z zu@@ea9aq7KK{@)scB4R@i`=&Y_V2QNHbhOeQqQj+W^SUg+@C-An}JvCU)Lu{z2=L9 zo;R+oU)PO+*3k3Uk&>77%b@&G;HKIx@VVj)bP)q}>T8AMO+ROyZ3iB5ggW-IO!n1^ z4~Xx~ojHoVmmFI@gb=9wF^DVUn4?{*ExzJK3)AK-r8iRO#8X;W}V;P<{aD2-!t!@De( z5&*6pz~XCq*lo&4p^&`gwts0?+aDHf9DbJRt+qrFsR{N<6#4bnzHc2Lxj+lqBoeI) zhsK22yOi8pR3d}YbmK>c78LWm@e^x`>BEP_cvb9iJ1pwbw`sp6W8MW>NL&R9qzwqF zOWdiVjN@j$Iq-x196kzU73u-WsBcw<+>9C$*Z0kiJu6H@-n-{HJ?bGJRC$#ab1r>) zoM~lH&+vE2R%hmC)n)&4rk3DNXA7V*91+L_D)EOj{>h90K5-!%CZYHYkM}%>7(I~P zh+NlVUNNGzF`->$3Iv;$A->##xrwgUllZ!elfgZf^p`3C+0jmK!5^76>Z%$=lQ!zp zFACCIN#;c_3djdPTItnWx{X+MX^Mx**aFr+;qqQQwbJhg>^RY1BF1hUI)Jpt{Llxk zL{SG=esRLKq9|?xA=U!hlmfv36Dq{6tL_Pum!pA2NGy1NxZY8!x8QScHsjtr`QS^g z!U5jfk_lpV*r$T`Ci1-$|R{!-oO$BKRm%{am3_WhrY^} zT}qjQ*;AC;d;kx7Y2jn%(i!=TfkCT58C17s8jm>qBTx8KP%uXGH;m19(yt%^3>+W+ z(AgBP_e8~yQI*#*m*WYN(t&)=;`Em07{;$3>Ap|df3`h1#dZ;`V;CC^iJ2(trk1+f zcOZ~Cr7wjDEib>1@DBLJ6*&4FT^U37m!bUVxJRFSZVVuUFaG*qMc=VYyTAaLNC;BE z<+%`}ALo_1-C~q!Z7T573L7K=R4Q2VF4UATN4ndhHJnOy*s8QA?R~Spa1L_=GGb3AA&}eA_ns=Gf}d*X&CJ0B_x}!RWV) zZUPEteq5o0n*d{G!l1K?;mfbdZ8>yv0Uk1%T$T#THVWSZbWmR`RN zRk4SAZvnNzHM(+NOlDKUPxUDpB#ipYZsLX9kvfQ#%!kiHuC#dI#zzDTRW+>D?g^pN0K?BxFX?yC#dZgs5R24QEX2o=akqTt6B%! z8iH$rN2YDc!B+wo1eH=Xo{yyZ3of|{mw971{>{L@3y2gzv>u!{f9gCH(x(xG$hYi` z<|mG`;#$E0Ec{pV5Ozcd!l~@~y|sZQ{dB1BL|i%)Ez5H8%|aE@A%|(j$v*B!bkSdm zmCX#LCoa+*z0=%Q7opv4TB-)wW1&pljq=A1Cw?KHK@Yx94U~0>8dMq;=7Ax0yp}sg zIKG~ls-cARE9gKpe^=D>hoJ*)tceA!4JgohM>GwgM;de6&!H8`)E_g2$cqSGh2e@y zb4T>M{*@qOa6KKOKbH<ceEwK63HN1F=K5lcDCw1Lg0`uOF8RG*qlj=%6`1D67 z8|&RJef*%;4xIx|oF&TP`A^zcD^{Jb!-M25C^EuOBWV%|cn4808;QzP zOQI6B^gUZ=Ua(kIEg2yyV;7HAvhs~zRlQ^VD}8qyeJ7k1bJvD+;`+LKcuWuku-zV7 z!aU|R&;6W)B9!2^0*ITnxMw48{)&EyA-$nW3>v^W*>mQ0qnePj!FP&3Q zuD|3fCpokdi9g947i%5Q0Sk`JKq_~7UNp1P|B~){tN%zlkqOEtLHulxx$6`^B|$x~ z#0fXFCz@;Ff-S)XQ!E>)f(v$g&nIqDn|?B9M>%J49l$P*b&+~9*PVEr(jIqQEbl8O zb@yq39XH{IVW35g<*;%Jw*!#>iSE>_EJtD>@{*y~4X^~1M$%fYFmFzW{+9{cO zqlotb>& zA1d!g)sL@ltxKYuMd$V)pNmE?N}|Y58b=ne#f{2%2eS+)lwv^kmWqRi5s%IZijl=- zt^&dSWoJE$^OArdyK7L%wrS}$Fybo6rZ^VX6oCa5#D+PA2jT9*R7?kff;+$lkryTN zYwnl5*9-9tiy1P6cxS1=C7dSKxd zKo-JniwoP;dx_h-s@J?q>ZZ*X)gDIsxuE2-h<_-W^Nns_zFB~Ku*&{N%r8eDqJa2uK>Vnnh|vFDWl@6Y z2%ty{;!h&6>6*3)w#ZzJ$p~&=QTmW&MP%%nN9hz85|VVp zOk`z;C`nKen_K=EjnmPyj?!Vt5@^O^Aswja!u)N(J_U>_Y%uWsk$le4nvIty{Nd$k zZPOz6thD%0v1A(*vjzR5ey&Dzju!yRqbQuTwBoyH<#eeJExPu@i@W~X0^ z8l(}U8tu|mj#$#Gs`0IYHQ6@?NjDbhSq70{ZBSO+$I?~I>v z{#05tRbS%DceRD1`OLq|t@(pGRt^%iDb>E*pN*SJx>nE)YeH7dfiZG?WDtvi2`?+sba+8~#(MxJ$_slU^FRu*xeT z=RVG)77!&4IBxW1quf*NOSEyQ<~CS-uuf6`7+$>B*5Ci{ld=9TSUfyKTK^xs_^P14 z120Hb*lwPwKc7}!TWkHQ#fA1PT>4=IbPPADlr_^r{Mtd_n;cNNE*Qo z4JUBz=yPU^mNn?Jt8*?uo-c->FxHN?^KhMK8YlR;v2Q={K}!Ud%`SN`i0#X{LI{qQ z5fyh{AY6%)$@#5PXdg2nWBx(Br;e$ImT+WYkH}!Rl-`y8B7K&yB6`s7&bu=si;M7f z8@-t6;XtPG@#mwO(k1=;5ZwnY4zBJP1+u;<6=ts2dNtvI6b0Bhk>D#?N{`IXp!zZZ z(TS3*@2`v=#h>-~Cjf^N?zry+AGfqC%Vx+<-1=vh=2>FCi_|AA%}2q@02{lLuPN_s zP8bCP0=P&+lm@k04WN2Bq@vEcs_;;X)-N`WK!|sqQQ#h;(U<$#MZHien-ec_oXA*9 z0!yj23-L$9<*nNnmHXDW@Tg2)45r^XNdrVl1Ma+3t2Y1o;p${b-}+)hl1N`Ehwb75 ziJF(=(ki~=(Q;aYwx#+y+eL`Zmw!^Hy^*iBkbtD6n0QumO2n+Eb>wE$&xZx`tvK=! zPrNDb>P8)BZ=s>n6>&@W;IQiaDr4U14i6Rv?ESF!6~{2nAfIRzij4uheH@VLYdU%- zYWBR!9&;{P$kRfTkUpfO%iBT~JmUK4u`VT^2+Oh1R}#Tcp!5#KjmzPunO}OWlOf4E znWUNHbNo_+Q{7iE`vKc46+RzIOW%+AJb`{skYddFw~+H#-l`teZ@KbB+IA#Gj0o#4 zG3PsAqz0;3qob7Sk8%T^=&ORTHOM*}1uu*I+l>8b!yjiA6_ ztP0@~xe~IAglcJv0BL&xpmN7i)780hS1gER&;QjH=V;j812wJU4(rn~rwguGA)6t) zi^=cLyLt33fv47(`*&EwKG+R*hYig~|v74p1l zEb|temt7Jys@GL~6b+I4!~C^x#&ViMD;#5bMGS@>Q_|yae>g6gFu0f~4s`xO{)WTi z7+cCXoq+5*{G^i;ZM6A4&-77m_hs2F=2i#khZiu_hr`6sH#zO4k6>cK0 zdnO#y_pVzHyn9{VX(%O}HhD9%vz+I+dP=s8Wb#URBRxdHw?d;!$nDgJ*F6KGr(X-X zwL~x{T8C^Nzn3-muW+BoC>sZVP4?0(KU(lWD!Zrok~WW`81-L7$Dl#h&B*bZU?SwS ze_zsid_@tMYD~+zQ%?276XF?k75EZg6@C!BDp^ia{Yr5SHrNat*Yahco!s9`REy*h z$|S+ev(V1F)#aI%Oi2F3hdNDT{&az-Cq(pN=$>hM3dz+Z*a&xDan3c+qJ8kO8;@!F z8tLd+-c}f_RqcS6hmO>5EzvH_swXSXlGH#2E*|upaT|V^bgoHS;@Uh&eZ%U~IwTv~jG!TWM&nUJ{pCN>4-z=Rj@g!x|FV z!(30w{NhN2+7cBtw!38&f3DJN@vi7)KspV1qTYueVTEzO9mnTE-mdMhjuCowoAXn& zYk+N5WVKeUBjo{GH!^}gHX+ZEHOs@vw?dne`fRD=WO{!(E% z%@z&XmMlrdiYtY=#()#)nDbK_1;;&<7XC>4Rb0(#2UN#P zy>sS(u3t-=(o5;nDB);GNBD=WO-LcP9G6OYxmbBY6eZIum;BS+AyfXnRYi@4jv2zh zTVI6fsg#KXBT5yD=}n!y1)V%yPNF@hXo;=Ge-g!FWp5D7h%aN%P^$+IE%94|x>y>! z9kSm7!mO@wk=84C%p_4+zkZ|SXcPy+FM7Y^Q@j19Ygg&*yN>DE23 zG%T3Bdf`);?z+4s$yF8w)gHORLy^Ruf0U}du&%1RYc>fk_=qZ9ST97xAK}@pAHeI1 z;;?&UsU>}rF&_DHEg@tXr}WvRCykO2ofw1~8{J{-AK^IKwSq)(!&1HoPCnJ4hNwjf z1HQJ%Hdy^M*mKmd5NaOYDjD`daA5j|Bb%UNnQ+)kaYVmjzyFWj9@`bE-m#+cy4}kv z0Y@fbMr7&npK)Cy`nPnXuOc{AyX8&8x+XZ4jRbDBvUTRXcc1gVaIUl1J6114cKwX@ zhC=LvVkm^ZX@ZdSv@}X(msgn@hKEM)N!-?C69heo3;5a}jjnMKTYP;kvuN3=s=xZ~ zQ`IfXZY%QSWS?SfeYBegv zYr?vrND=DPIN=_BmN*)kdRwllo&G3!x@kD|*!flhlw+>TDa-G|+&YZ7^$L)#_SeMG zzk>21K6nLF4UuJ9j9(G6WuGfA;;}{h6j>wS=<3+I6B^?Lyd7o;_!J9&Y{E76} zqZW2v@M&r*L!WWFpM{+z#SAi$Z3pWP$>{ln-6WqSazz%7qY+I%nfEz{X@kb&*197K z2ywZ6_*JJ*sF1xp1n>oCp5QU;B!KI*D(z@}QD%+M$8t zb;aR2aooBZ^Uh{&rkm>_g`AHaHNbdy4VSLSyR<($T-tE^8v<^DKBjcu2^F_&P;S#^ zao)AQv-doUx6XK- zZZy{yfHv`WUQRaTpEp|1L)CblFCR>Xe+dp#yE>Qli-dnO zrS<-+P9)Xy8EMa=3BEKKqP=5l-NGk|1!6MKBbJz)#=*N8OHX!2_UgJ&>t{7wvn9S{ z-R*zyL$-vh7i?ulT}=vOGf?y|SeV5jG~%M+nK2KV6zKtCWT{dyNQ`0G|2A^2FvDZqG57aW<^om%7r)##;t!8Fq`B3BmJ&iJ}5AmgHS-kM#ND8i{owr&fdq_atrp#zq4Y z%yg8xq9Y%(TyU+3d9g3rU1ooVDh-UFZl%|p=-!Vm@42dy6}Jx7j``2{d{rdrPr~L+ zGB^q~KHIgsWyr=PZ{y)JHPUFu1do@m9{DBMBD^|xi-~x*I9`> z*X)&3ss9A^)kLfG;cxfyW;8)9`Jiu?6Ux$qvoqx3Vr?lma=2d{?RkUw9n8WA3J;_< z)S{9(w`f4bbM$dRie)>=gE-R!WTiG&`B|&5qR7vwYzbIS)5;2wzKi;AwYa4_Xb2pf zM*iyCKHkZtFqs@P^1{091&A-v&j6?m*+_aC+?bQB!L{ug=q(BeofT*et_Uq}dT&Hd zidPjW(w25aUNKw@5xtGL=l)nC`L@!`0?)Aj*x?l2Bi^AP)}BopD|g39WE!6)1pv7Banf6gSx!`g5kgRwV+*mak7dm#Q}n_ji|?Q}vX({xt@U1EEnyd<7oS z_$XSLyQ6{ z>TC3MI1kzISN|pj5d@rgX}EE|=QyTO%xQ4>+ECMm*K5P3&q;=m8U`G?u|qo56@a^M z#^ZGbi?ED8pII;pW_4LSnM0?BYN=aGP*gRQDK53GL+zT{EoLd{>I!j~>`-e8UVZKv zuP4Y-w$*#&;@>vhcnH`LPe=c$J(&*^zHh)UW8v%{H!*8<<~^#X$F@RAN{JJ=kkbHF zN53a?GF(8H1!0cV&a}P90H^-=q!u>^h(n5;60#40vhwhBl@~?*7+<4h@Sl{zwRDdA zU6Jc7we9BRuw(0gs(rFxkCpnGCy@MuJ#tU58#cI+aJN!ms2H^1Ci%PKR(gU9z5VyScZP*bg_4bU^133Z*@C)5#>_H)(!Li?HB8vW9lFuv$g@*!#(&N>|EK|l+EMe|?$vfBI(sLQ$Uqx;3(evJFP&B$l&&I1y1DmyLK1jiwA#%!ZX<( zv2ictn@xtgtvJ%UWr^alUGlj>ZwL=;P*g$qPFd|vKM!5!ZdH-yTRHOHEg^0-%> z_r(9xtk8Ma7WYia^|OPQz*aDJPN^%`PTF_xnPt?=kcrSEuL44OO76g7xYH@XRi@A(^*`oCgbu%w-( z14)w+uY4HU(;P=yDI_vNPE!85;}Q7Y8_$Te3;*sfd5%f5PXml*pn5{GC-L$lO!7d! zUOn+Dpn&g5q<>`!=F#_jJ2nwQ7HVSnd7=6P-Yd+)+XDhyc@)2bR@Qg5-aW)&U%f2I zaq;yI%%IAlVRXKq-1gX1_p%IDTG93CHVvS9`BzP&4dOr12B~$!f==JWawp&Z)QID5 zxLfOmAQ5Q{Om1Z+a^s_L_u-j%;&%!6p1Rq2!zI}nsW0wFyz}X=bgq0K2RjV~SGb8> z-9bY$5WUC^EHX%u?od4~^vV^4B0bfb>dZWH${ntLeleEbB{~~UhGJI}*D1ZhE>(v; z!Pw&at+xH3m{cGjO(sN@+tQ!myFVDLc|L}}R+?h4<6;el7z z9kz?4IdS9xRsVFTWJG=&wtpP;%C)f;?X?O4q-F71Je~bog$VKyrRTB&ZFhYaG}Kz> zP3Gaha!`mG_)5jTF&K#|r-S%i|3=ODin@){yZDJ=t`sc4g4!gxb>|Y4cU*iw@Nh6fiBPgC$*!c6S66z|hY_kbZITq_ zwy&;joo7ig&KF7KaDDkVkq2_H6>;fSs^}C(_c!#}|y>LJdI{tAt5h&h?g-m`*HW5b?=TQIPv@P%J3JqXUov&1otiUn+y zeulDr^B)MkqS}1@pL+cNJDooNoz54fRk4f9h|Dp`&ckIyz`+K*BWpr^7S*8H)#H*$ zSdz&O-{DW~N1M9jAnH9Rq{{HyYF_;hSVe+YbUM9NmW4QKdLM}a|AkgHy`dvd^|I&{= zr#Ca4KxhG_A~f4dd+JXn6KoN+{@JSU4I6CoAvMUl3QlXJ{yw)7_P*+cUuje_DfYfd z>6>0TqA^?}WjHB^re~!ZQkTOuZSsBjDxmQ1ns4PHOcSstb*=;HaUlQ8J}6525o}ftPD!Nbmb|PS z2l{-5<}*BisE`M|m(*Uk2fU3x1m(@#rUubyAArdF)ig$03*a3@8eWYHUJdD*YV-QP z9^!2dx7r9S>_1p#=84n=D5m*#gu6YH9cJYWr_FV4)8%ie?JN3*!J@ZRL~ZZtY`IUU zUTGJe$Mrv(E=%xCu3bOCtg?Pj93}lX;bZc1p%L(P=DPyCH@ynrtMBlQRPNP+>L=P%cXOcR|B95k_84<{eH^TA60)9m+O`@5cB zwLifb&)HkgH0Hi50Lr(_m#@{Z2_B!!DVjLy*=u7lmECoj?dSWY4)Hzv7(iZcYih68 z-BJj|Bp#*<*UZH9Kh1&)O<~IzIpBwY4WP9BQPN{3r(|)<4ILN=em)Pn)Pk4%-7A9* zcYz;GHep*V55RWiONr|cGZY%Yt!X4dmm_pE_plX~Uv&{wff?{S@p9+GKd4vLDh$iN z(2gkj60a8a-yeyM-hbMuU7vy|q)<1t+JesEmZQq#EYvZ4RKH8?QLFG8VEeJPEm;E2 zUZ&`7ZTb2-R>9M4ng-GHB!~A)kWvP~6mGVsq_M!KBtM!jbk5D%j@?KgJq((<8Q7PHUyS^WB-{j%`u9qDxJ-AXo3xG^aJ zC(QksId6n|+&OY(<-5`3H?J6pv3c|+Jip%>_3?>h({UCqzsSVi8eVmlbgz)j)Sp`hBCw_R-Y;3%urf0BlG-!jp+U?>U#=0n)ts zy%uhom2W3n^$#igvmsB4(~H#=rsYDG<&GyP?E@DN*@gZZ!cwHeOW#9{V91ShqEZ*# zx*w$^7WE^gX2)oevj!beAfHqFY={Hn{DD?x$}(ve=2@g8?;~mC70ILt_OY)Ancw0J zEg(LdA)ZMgI_fm@_LkoKR*(!Df^Vjnrs$PJUQL^xHzb1MA*~vt)adzYsaky+*g>)T zJ8Oi*WIILggJF*lkP#W|DO5!DS>vE@bzEWOi*{O$Xf=)x*E7<$`gOI#k6SEwC7kAIP|j58R)>R)#9s+yg!_*$I$i~ zJTjL0!g~7ywbwjS<=d<&<-tpgo&25TlEzx0nKe6nN#|Sn)tEeP)J-$kI!r?7z9%Yo zy^l~>NRWX-Cvso{&1q;eg3Z*AlBRB0MSo#C$)1w`V!5#x`{TbC!BCq99~MiosdJ8f z#*9K*v5T9v-$EQ^v7#S24iv^al#}@B_&E+*l_#+m@7qlAL9U|aJ2Hh@?Fh`2+|Kkv zOFvH@F{3NlcYVGsw^r0gSBz}voqQo9b>KNFB&HG~(rskVpzcgSy9~vAJ7Wz7qba9{ z*=6UDab1i|#Qfn{b4@p6L;op4ni^_umrrk0MIY{ETEE`#squ}bd*_eu1zD9S-+!m) zt1*_>(F`~RrudGgY)Sq-3rs+~PZ|oaBHJ0Xs*ve>vVF&+dsy{Wrl|0odSR~tiH82RLnr2D&*QuLN-Ed)RV zAHG=zmmO_+ejYJe&i?!4hTDk8?Op4P#voY!b8vm}=dyP{s*@);WJ7Q55IA@EO!*dj zF-y77iis%7_+|0k(kO2m;s#==W*|ef&K`kUUlddsImRv3Xk6O$CD!9-g0v6g@=n~J z=aSG|U3U72holxmm4mm?3*Gi0UMFH)wX8$N;UXP(bj_yxLFXcAYqPK6H)R0*MAz%<IATd$eYF?CgcL{9S{!#G{(_FyCw|s~Iaqys5pwzmoM!GFW+>=IQu$?WD zYAwHDESGRC&Udoh`w`WW$icCx^`!RWm=zaWWf>8D44QoQF9M6fZ2bIPhOrx|e!+^Q zg}=~=#=B(Ih28r-{TgLJO-#D3Kt^hP0$)W9L!M@pWrAI$tJR+n^prL6RtY?trY^5@Wa+-6{(PY%fqtKO+8*`r&obNTY@i88KEF-b@pQIo*(~IhQzRXpUe8_A|Jq<<_HU1kWJ15Wh){ z6?2YCMCLAo7heh+*^HKSG^WxMA9ODScHUd4$4RjTj6L|bpFEd_7H>wNwpEd{_zB(3 zkEOxZW9U|+NO}du!Wo(5-KBjS&;`#)Q=zxQnIIwc_wo3;U@uYdW+{f^+jn%bF^>@j zYH?w-4nGx_bzes9bu|l>QzYsEUg;9`ah*>o_YsYuLnI49bxWfLd6N?L1DZ$yCR)Sf z$N?szpyJ1_Q0kz~@?!Cnlbves`0nQ=R$XB{l9Kxhd4~nY-kN2&2VCFATYY!dQM-uV zub!Bgp4YZccSvV?RAZrRJ=UaGp|D6hjnP$XB>!qHAo2S5j1^8HA>!MA3)aa;3+kx{5_k9BVI%lbqg=~v9`nH z>zY6X^Edn3H{R+=r2L}I=vEI;oPdS5bu}YNWcNGoI2?S@WXMTO+%sgnX+%N)oHQT^ zgJj?A&zhsB$9m`*k?J{KuBrrF=?bj|rVtl~m2>Eon%X+bHqdugTe{qSGZ#0PDl_oj zKZiHO;QmPu2#&xTVjuSgzR=KdJApl2ZLc3}Q5c(L#@J0pD=TZyq-!@Ux}v6oY2AdD zGTgbvwdbsPjy}w8-Q2J`(YDYDcaG2}&a*fFiB*t|#FEw5o_2c-*?6D!dfup4{r$V- zT$P}^B{E?tZAk%9%Ele8DF(s{(aia@+({I|k9kS+Ny|s4-EV1oxH;D6 zqSjK+#%n-(mWmcG=kKKu+@X}pX#o6K$F5ZSY69!f!x2XhpV9W2Up4Nme%@1#Ia6Sd zeNeyoaEK}&vzlVUH)A#(IwsC2KKiLLM>&vTOFU8yIlrY44Qhisn%G6f$hd=l1`B{R zb&N6#kbPx%Hcqnj0d4eAWKKc}pjb26njWwo!?YdPRc>ZVwEL9Si)+5tjrRPbL9UYE z2f2h2O9-{x+NA)R?QW49;Y#W!7qq3copaT77NE+2+_=GfA;0nQAfgRBprp~u5`}TE zduuXxarL`3nEJDn^=oyi)F_WR*-u7zITm7;A)kZ-oXjxDE0z1i z@9E4FwdoEOgc7-g311yoEp2b3i7D+8s`U$1ZRjr7?PhJdJHMNx~ z-0`^d4uX0`3H8>;LXD{H*5Mx>)Wrvg{EfTy(yTB93tcD2#P1uSO%H1A2#a! zmHaMzOuvy$tzR_uQ39S{h*tlpF?b%Eai@t|YzVvM9O?)LlBRLLYp_y??6{uk$`*pw z(%bC;B?u^CEvt}LtW3o(O9r6{nq9CA6A`ISU*7aAVO4U^dwrJt@qt<8zv6XVhZ=@d zy-C^Lccq1`eHM~J8sge zi}79zY;jp|2kL|zDzxl5M(pQS0|BR*Q_M~0M6Sz|k0xO`PVJI^Na+pRzs=@}3BJqi zSHxBVc?S9f(Xb2ZDdS~ddlol!z3n3}Ynp0KZTXn=f+f3A6YdRoPSLbD`LbxvdHSc) zmO&uw(5wdNPK~F{p9ov1Jh{q{ZNR-O)EX{ou&s!K->D`cJfVigqstVJY{T2x@(HF-XE?-p{`rnfZredp5tqsBA%HNu+|VudRiy&-6Vx=xQlFqwH=E2l(Zf7LO+~%>Ezk0M&R> zl@|tpk*XFsEtwi&uotaKh;t%m|BIO&C%6F4hAHprA3Pp=B^3l)|H^Q3_5){=OjuJG;e1w zS5+sVH` z7>!B?x;1!$`tE!TNpw-|9d}In*@D@zMo(d)k0&qT9-6MLX&xQ{4AF%V{c{)k%**cP zWe_HSvh5DiY9{^}Tm%sgYxS?Oe>)Ac_I5G5~9EWmoBTXngBJDmBn4Dk6aqMA; z?+(x8FXLruB6Wttlk;V=w@BZ@$!b1BH4iroq4=mNHV=+=(L`X4=}gGx^tM}j-{YW% z9>lZd19_qOk3rKdPBlpO{neq4zBN>pOF2;y)ld&AK9bpsV_sF<)5xF&Wq)cQ4}yI@ zInxhz@E}+^SRDjE0`L9I7nWjJ4{3v1oCFPkHtuI?nGYiKvKUNsTT{NH8of8(;716~ zQ{F-9>T8bEz0koVU8e!Rl7P3?fd9hHI#Y2|gPK}77foLdrdhWEXn?5~iPj}jO- zOV6U@C(J@SyfJ%erQS!953nDv`A1`AB=mItVxg1CW||!%E2A;$3GI! zPy2Jnm;n$r=+cOexTA|JwcOM~bj;OV12FvArDl#q<|Y!uNqhV-EYtEtcN7?&s#g<3 zqAie2;9FWuKlIb5Q%2SykZqwNTTdW+J78Y}*cR0PYy+L|nu`+a{+1>7GRV|qt;Cfm zaT{OnW_jRB(Y!ug0-6`DWxfiTdo+-Ihc<4u25`|nr<%2uY-NLxt>ggNAN2C$SuPY0 z_@&XIcvjrE0PWLm+GByNdG*}~Y|0lT-q70tCi2Z%_3dQ!Peg}i1F;rAFPB_ze6N5O zHwGN+r%JB@Mt$mQ*K_nDisxj~Ond`jkwfBS%qRVs=STjf@qCxRB(aOLnAjT!s?e^L zSXD)dX)q1a5L;IQ^?@`BXbnD)Nt1p4lYHTt7$bz~gFRJD&F(^0lBV7P_&s?g1-8#| z0n;m)LCn*zKeNJwixRu9IYVlDlt$F)QaehItfw;%^IxH*fm-4vQR4IfwS*HT61YA~ zYIDInrcME*+@xh5gv{rn{g~(R^Z@30S<5;^(&?KJw_r);nVRayJX~lP;LnY`H1oXB zS29n7`F|OMxaTUZ{*ki&K_TiFO!uF4;G%6p3hmxEh}5rVG2z}nF9~-WXGkq}s1=L{ zu9ZjuPlPpFLewc^(|WFyO8;bC_hrSNedu#vX*tC zZ0a4RT1g$=Bbd~aI?5|{YA3aKdrCl!Wp=g3sp|X}5z6YLF?wN2aIN>F*4H8+`|M%G z>sPkWohkEANB;XFLSR{2m(o_gy$CNm&KA_A-}L1UT2LiB=t<6ydW;5DNq3e{QCnQ3 z-ldC0i6phe7*XOAtwaGz9OW@=IoCvV>E`wUU0R@Jew_Q?l?7rLCsC8}V{KgNmuNF*eRK8a7v}*qppk1@{@iwFndE!qO^+Tok7h(<%n?lj)lq zQ3M7kzDXm>d$yg=hfQ2>n`Wl~@jl8@C+#03@eUh9br(yk#2`l-g){=baD!&DMYFRt zs6PSEq7aH#vB^4jV*obsTDfwG%`h>w^`d;V!Q!@bbt?D8L3iBFjuS2=tIh_f2oZU|tvS+x3; zo)YLWt`*Cf7@>68Xf%oD0p@yMRcmF=TbUE0sAGviZ|jYhi$Zm_`$lGqm_IeP`1zD% zi~YS-vNcTvUVn?di;}vtud&8J61ORYQnH6Mi-gqNt9vJN{vzg`j`sWZGUSp((-s|MQ)*psW(+e(;>hyTH=AmjJ{2>rhu z!OW>9uy#Ljew&6mN3Zr-GOer~%nz>m^xVA zt89$O%St(p+`zK!$&L@n76InqVQda&Q-V_wS}JJMV)^$8p%P2^+S})IHZ4GBW*Zk$ zwa={SBc3 zeE)d0Fgb*D@Ty^dD4d+I-#+hz;5t)ofog$hgR5Mi7|z-&>=1{{qqf>TW1HKRitgKqSzYIm1T|UDD#3uJQc>YSxS4e{Evs=1XTEXU%6Ac-R|^EAP{{rs0uUv zrqOSd)EE2s?ib}@))zZHx#ygo*?%}aQ;xwxAyXB<)Ye*xB2yY_Z_1Qo4rPna(lT9~ zHJV=?XAu6`K-2gbq`r}3Y=j25+Ce#m`XMw2p%WnhC5L@@_W{4>#S!{Z6zcd^~ zsfL5esPzi@~c6sa!!*r}) zYt;@}Yow_4;$FSh8$_+|?hUT>6`F~Q>rt(h4{(+419NT!tlz+G>hXNnF)Di+7nt(t z{B$eZx}u6>Q0_XXGNHNuu);YBm(SboS82mByFX-p9i46zcSYa;X>qF#Y|BZyp6953 zRG*xl8XRR?PEwedEBGp*y}h`FO?McztAtwmwJ!NLZr#>B!L3`HO07!(md{}d5z_%C z3QQxn+nG!CDTb$<3S1cBR7^*Dz{ulJT+uE*cRnjM#JTe%)r9mBBWO9dONt~_RJ!7B zm@NuTx1ONqABD1*fSs4NAPJ%|Y(b@ztqZaVqro7`b}~e^=i#qdN!gy{24+Pm+X%DH zJwu*hZ{~u4GM@c**e>-EmBjRuWmdM;nm<|3e=qWPap3Hy%UT|YPEXDp4pJ4GI#r_8 zwm70gx1NH}z6-Wur4m6ZZ${-VC>vdeT*_veiZ$gyq9sYqmOHwu_?q2Q z!$FVKg*2*dYYPe8lID<^<6_u4mf^G9(B1FsooLmyXw@GL#T7i515NX;#nGbQGL_T3 zS4J~)X|FRo4#xB}>@3Xl!) znJ4|5dEUR7u|~gUvfM42=@iW@m(4U7MKhySi?Xs!Zme9POm1RhRS)Ov);cvZoUM;L zQU^u(EGxTd$^ex&hJiPB)fa@S=k(;U%O9WSpGf;Cr?|^?FVN$Y`^!%U6atDI~mucUqX zlihIc-)>Fao+QuxXD0K0{A#bZAHR4^E`E+~I7`X3Wh&*$dE43txc&9~%z^r?G@B}# zH9+@Te&*X!O&|DhrY18X&*lCu$EBDKQ1blq(KxiV(}5Fi-&NkoOp@CKtxe7>%$Ns- zMjpPj@BJvgG~+LvN*$L~Xfxs?Rk_Ez#-LpqjA`k^6b$jFv>~2aPYyXg^X-G9T}^e* z(ym$$1I9fJ<7o}XDYkY5-wv#p?oYyeAhbAX>b=C*)NwB{J7e;(+HT!%F1(+IXnz_WJ@$cCzKsm9GKs$mZCTEtIR8&q@RiGZp1e=k-8cV(JNO#50u`tQAXs+q8#ZF_u;mL}vY--1W z;q5-ln_c+8FgrsDEelc0?0$sxF=|&-OylE|XF^y=L(ch`%B+M8mvYudG?S_;pQUjZ zePw-?X`b4XW{(n{k=LHa+>jNC$Ak1(>9DOmfM1(!?RNa8(>^vy?i_MiI<;hX0qyz3 z@rS#rapJgv&$5j=q+&SF%3mg+k55oN-&|v49Sm#RYV@;U&OWUB$F*A4q~8;bhTM)c zy-n!Cf^7BAa!zaCNkjM?5DtUc1;?(4lCLL*Hh{#+0vAx=+lUZ{Az;1w+Q6pp9Mp_^ ztSdWn&12M>KS%`iQX{A(C08=MDC|p{n6RAf@L5)M3XrpY?55?bhkTV0Dx%&~4K;H^ ztjy8?S$c*-4O7f`HtzElZg&KF@`Wz4Bfex!e(HUCWsLyoo(NSwv6|lOC>zv5H0X}Q zvOzy|{VR01IqT{vX<-5ao>6~b!5>jlb$;fxtm7#*OvDbA>Sy52;A}-jR`b z;h=h6r9C4Nr5789Vn!GU;H)6p9@mi%fun+-x@b8^Am`o?<{YXpQmt^dsIdAcSz&Kc z;qw5~n!(%)FmD@GN_#)37r>a4^_-KDbEZ)oJ4x6r$4+irpJiMkkDDA6u<8Y-qCjd0 z4AH0q?E@$mfnsgA*bE;3EJP>uPLK^*-GLhtqc$Wbfg7^DvsP?2ifuN?X=7IVfNA4x zJ>Mh9_nJYcFimlvw&%sdgHR7L+r0Mhj8ME(cw%Q`E!y_bw;zUfk_df+YAvo0w37~P z#9{URp#w(Y{IJ)%W*59bR`XI+`EX4HLs0&<1dZ}dsdbNI>W}9(KSgb>Tr4dQU$qsM z2j+i0&(k0u)GmIO1W#TqW&~BIPrMP!mnah|L!vQqG|vP;g02+}_xQ&{}sy(K1Ht+JfQe9XijjfUbg?Vwgc)CF(Bch!MT374`D`1>b}nxovf;TO!_VrQnKR%hGnFj7n zb9$zn^glX|>%pDM!|bfUjsTw7J1e_tsfu4}Gc|?ZqQ&9-**n<;aOKr(0+2CPIM;Fd`1n%GN8S5ZTO-c_PN+BE9eJ7!HPG9eYQtiR?*)7d7!pEcfGEr zeenmLqS~&PYFd-3ri~*WFJ1@eF9=}Au4Z5fDllm+Nc01CrvUc-x?o`2XnHCx2CxAF z*h>P~-l9Nj$ANV^uxkXcf*Qc)0N82(`-hWaTmsnRMY_f2nRU9wrdqXUz@K29Zm}`( zjFAjzAGMPe$%O|fvh>Q-?D(dlZV4A!y(h2x2h_j#vouhwI=yeD(CFW%XXmGyHIc)FOe zB6w|>LQ`ZmlIrWLJlOyLWhu6J08*JAp&4xu#ftSZfCaEmP)*2pDmJr%F`mWgVL zp*kvQa>?@Al&?c*tJ&kCL~5${(JEirP1n`i+b|yfm9oo)g7{Z^HD&d@HeCP3l3-KYY947*^BcLiDDj|?x&uz*@44D&b6E=$P6o@m~Q0o@w zgd>Gb`O$?N7TxDr1o#_KUr6>`&*wn0lrv}`l+qq26wDLm(!Yh!CENLIxHwX=Ijew` z%C8t$r)*OdX6cJ+>XZ}sBdcwlN|I}Z;H5+kwvuj|Lhrd(d8^w%a)+AFijJmUc5gMi zD_9k557IeLWS#Q~Elv#W|1480js7}k^HoOGSiVIr%}L<%lD=1CX-211Jk^{DH5r|s zZi_a%Kjo2RgW|c(1y%91SK}0^$TQ9R0_SlGGfPHLRtK^sH^aI?yVu=Bn=LKG8cVr%L;lFfEbL;}Z3-p{<-Z%Ozu^N!0jz*QR`EVTDI8$(S*FHmzD9mMH3dC2PgW8|Qe~V&`CD-n zWTn6joFua?aqPoHEp&J?zln!s0gZEcW_^=r_Zg6w%)+63Nuw5W&EB)kgPNw-IuErr zXj=13VhClfABW!*%`)ufiszf4FNTa~H}%}+wQWDIjWD`B_YUGV-5=tpx?frQ(xd%%Y^}ViIfloH$q3ZyeTNzCw z(2Qv!wIp2Okn!H^zp8z*ZR&n6sVNF=(+lmpLXP)sn?z>2>?Wf`aXV1F^9q38iN${U z*=ipaa=$D)ki~XIh#)!~7Ar7BCI*Go^pi!lZFn5F?UnCj+nS2DO`+MU#dGu%7H~>~< zLvtI1Q$QWLb4fB-1XKplqF%tG+Bz`STsS_KXP~dZ4p&k#$ruq^L|6F?@IUvs3MxAh zWw*rzr#8X7uv6_;bN=sU?WF9$W^9xl-jpa(&u-mdcK^eEBHz%IHJ7&rTXUKQ^_`_d zQ=>sF-qwre{9H44%FV}EneDAOuXV~guFb~ZO)oY@O?zl%b);wD(Cj+Oh-EdpnNjrx z+{p$0ZX{O6V4fL+;8a_)5L#|BWT|bo!kfaqo$C1l>w6EyF(sPyDUmH5POE8nGd}7{ z!T^gL=I3Y^{{^KtZOTCi>1jX{H3;Fh+*sbg?X(ys-2XCg` z2bdgu($DO+R%6ZXZ2+YFABDS@^{AlEwsS$$St_E-&1@1xoj1-2>KtzxM4dZhE=3(` zE>njm?eDz}ql1XkB&K%a^so9XC|_RImKm^`#JU#Rfsx3{Dq&RHeumSt5QWAbN*`KSMytA?hPCPNbif@Xj&zDV@wlOc|&|( zPm(eq%+OYq{6cxGMEW$~*M@MD0`2k~JhRxRVX!q}k&x&>nRbDII}t1hPu_76np;r* zchNN~|6IiQTo}s=2hO%A8ph{oaV&YkVHP5I-*^~`Jkt|ldhyJJxrN$%ZDTR0GdP0Z zwGQPGmd6qi=@3f^iDXnab7Ih0a2vGUXQhj63u1`e!31yXL0nJXCyXYNA|i{j!6DCq z7mg@mH`>`NNc36f-5M)dR2q`+v#pJkbL!)5X-+-Co^A|RoNER`{*qVjRI2S3y*8{* zENt!6Ja%W(L^*b!_th%`sxs$iL|sCpBC?p>&uB+PK;eq{EJB6(EM3e-gU)WPqXMNS zLg=fX5HDmM`#(Y)Q%praagkGT(#@D8zcDA{S)>|HGSat=f{^<((qO1Xl&i7AN();W zFDhpDCl>rv#;<%&ItU z&R-J38_kbW(y){orZ?}lklt{n+hefcoZ(LCX;-GlL0O*URHnzGt6;i4=m-^~Y!BeK zZy;lo!6Z>2*N}{m>UKMOVVnsv-#XLb-JV}$3PpN8<21mJ!1<<7oKD%9*?pGk29(#w z0c=UE$`HXivzGdwjtBQ=h)~Zsw>1XQH?x*V$Md~RKJVb4t9@|3r5ZPLl(4TC!upuM zfz6GRp@x_oDu$H0W-b3o&XAX0xV-iCmfaE|*R1I!IzL<&A=j*1OZ0{8N=lRy_zngj zlB=+0(xgHYIL+hnJhx=c#WYS6i>F^AcF0c8)MQpqI9(g#N8QeRGwgTA>V5gt8` zz9yW4W^Nn-G$=bW5#)$r>6yJS6m#S7AdOh892K)pvzOeL_1WGW`K4xWKJbOy znSB*)K%~uHj+9AB)x>B<^f4lkQ5P+bT5)lh5IMnjiiGCNp~V? zTR_t7NGcKz5Y_c~SNX_BiF;X;(J$wC!6@3&RlgTHDq7o?X&_tQt)W;0{hIk9 zTTxB2f9ycKARs9VNx1<@eUOAOT}2sf)pXQQF-VwzUWj6ZCaMUH0zx+gW^IS!Z8$Al zO*12{WnkK0M8%>j1JjNnt$ASDH-g$NMb#Fy>K`MhYD-|&H+fOHE?VfaThc=IU?dAE zIN`MIBR=6Y-DjyV8EdT7PNn^I1Q8*LX$F}aYWB!lSi5=IHI3sxJ<6u#f&kOx{_EmbTv-^-DVb30HSXQk=oW;_xB- zRq-yreBaA_b|E+A45B}ml;)#YWOi*R6k_NEA>``xcy>e zG*bxoUx*sCSaJhlO}&y@*@ata$$3pqG}9>~)-et;_f9F(@~JS+6a8AS#q)V&PR~@f zWiXH(QzVQzG~Y4Y|Zt;XF2Ut@ie=`#QhXYBM>Y3IM9q~z*ke)`D%(S2BQcMWhyhs zt0@Z6N=}+zZIHgmvc6S{lahoiyqTpwRDtP#$MIl3;zTJ z27W&rtzS+kGxinc+Ag7x;mPlW207EHUpc`i_^hTDMm=<0{~*ibqXxe#BQ)O~Ms{Qv z5M06?|26W!ZAWv*q2)U^Q^|;RD%sJts&&#Ug`UD(%7&b1+W6UgyDG!!k7^pV@fqo) z-C<}|k=CkoTsJX@_E}B-Hppw4q#=zmzZ<4?-CA^ALwWT?J?y_khhdKl^#%u<_+Ht> z!;Z%0m+?4cy?1Hv=M>9qD9O%hj5Uz)wX z{fCc+JXWmjdBzpX$!^bI%*cm~T9rH62!VywaoH8u`RTWGfBnrBk@a9QOscvla!`)&jvl54UK+O3UjpqEPNNmee*1OEhH+V0e zKy$K`GdA;oHdPXL$6S5Ez{ioSr-(l84Y{}2trf!NY$FzR*@{Fo-0zu4Z(YDMpN@MF z>cJibxO|DYHB&hWrWwHuJ2W}VU6nTiPJ?;o{8;vti23|Hdb=WLoN%r1dVW$hNjWxH zby)Z6vpjGS2#xMWsRWZjX!Ehnkz!9jd^RUUPn4 zm`=@8Kj^jrhX}CsP8EK(u@+2P2e$nnbly$4UZIbR2&>t(v@XJDk)%W0R>=O}WWvaZ z0Kf6RA@OQGt3sS^Cpr1Cvq0-_bN&SS4&%Z$@2V5J{*|4mYiR0B=cyDl^E5YFd-pwy zh4oE?RNdHxML&dc7|j`f6NMy^m7JH z0g}t)U2R7{0NEX*Rq^^Kx!zNto@beqhzS>kI zwJB8KC4C8B1N9b!7p93rsvO^Y-WS-Q)fNyO_pz$i9eCUL-NHHy^G9LK5kk0lTpR2e z;XLB)`bKq#TUamQUmz}J{pUubb}6f!T?>5J7-pD9t%EmxwhIQ5i*}_VOF73%6+0_c zoIK5KLeKVPrAm_jt*kwGmVF=*dys5w@14r+al$l(6A_gy_+8Q7>x*aQPF(m$5>)v~ zAv1^y8Zqc(*0c<*%p)c)Vx`D-p+R}}PlIaO;EuFWycPw?C4MVmGkp`Bq}0kpwDvGX@hVW zgm$&~#x|_NNawK_bMYgi$`s9)u+n3Nn5QaEu`Z~CC-A_2=cjd@P2_S`Wb9pN47%4~ zJKdX`De~{u<2zX)2!JLrJNVeh1ArJN$G$_LGLt zI-g#Qg=KD`oYfxr9i1t4K2LtgZGHJ9=V@9Ptn+yTnS0~@01nBrJrkAg_TJ*B_j&3J z_f-6cfn#{$tKwYyd57O^rFTpga|Q==P;V`*Ibj5yU!Rx@2r!-v= zMs8V2fUfB76PjddE&)l)+O#B=n06(T;alpl8uyqU3Ao3U4_60WVakKubmms0!Tat> z>I-YC_g2;eU3;gzJ|N*v?fQVNx2o3%1g>8=$&h|0ZEoC$Y1m0mxAICcirsmHU*5Rs&du7Qmwso}kW)!o2+o4GXxs@kX#`sAnX(X<&B-RW1BiE;i%UwYDECb# zAPdrH8sbvU**&=he9np1rib9+Re(9RoeR+te31_NKL~R^c#bP<9U_`R3T7ua; zW?`RjX&Yb1$BlA}n6YNBb0D_h6dXR<={;QOce2)8mP+_BrWMBKEZ5f*4pP?fj*A$! zAn3-rn&&;n(2}H_l|uaul{njc8!L`l%{Y#i;bQVTae}9&Yd_TF%laS6(S7Q;LYz(C(GpylPF<@;ETIJ=yHc&XVZy`6v4n{9SCC8j95L2G(s zGnnVYeU=|94BBxjwFk3+!V!xgj#-|V5_gqm74R#cuZptY!Hxv8w!|Uafp4AtjxGGv z>6yGGj)=uU5PaeD*M;d{rYw}_*}oBouZCCncaErk80x>%qV9$Q4`Jb|@CPxa(vw|f zmQl4@Hq4;>#-HGDc{=GLPsIAEB&Bd$#id!+LgXS zjY4bQ%u2Cu*cPaCxl<;uX6b)etkXI&*6bd`os5&ggKBD5ZiIGaAZu4fhSsjYv02lu zn5)*q)MIDm$~LG_2C{O+T(yDH_X^d@9;A=FY}LvdO|`PADN}+~E3X}ZI-cYOBE{y4 zLLu63Jce~@Jpyk)yJB`PK)Ur5rAZCT3|o<~r3n2;AFn|>H1jGe_!0Z}&f`qs&9n)$ zn(jM>g>D0;SyMYN%NY&6wKdqA+mN?t-U>vNIj@dFzVVDzGQPYa#JNowuP(>rcFP*G zg&uRV?A8l88T8?q3LaU@-_u4`!FzIKy+9dDaM-16Jy^=ygkHDe^+mky$9a9?Vr%am zM==OyFU_UJA*N3SFRWLoK*9h7(HzQlqSTvw%72H?Qp|<2=CZTAS>*T*Ip$FgmP4C0 z8=0`etkKE8#a8Gb+($cUaGgA#HX;ZK4fp2Zr^eBl@s@!XW$&t){}GJgmRq zVZG=VeONn>Xv2E99M+AGa-gW-VNG-%M+LLoNAh~*WC|vC5N7TiKCKzE;a46W?cSFB z@hD|3!KuHpm{!CePBXm%|1tw!dz)pK5r~{7)WV!b4#eG|7QFW}96Z#wTYfS4Tf~Wr zcLB&90CK*O7^t4y6*O4a|BS&(>kN<96oF3WTN0hq^tA*rddluc(b7gj-!u^e^X|?1 zQFy9=b4^FC7aFOH87*U($`ZC0VOVqb86d=c$7%`GF9G-r09QXM_ zo*y#Ao!&zt1Mc*;aVY-Y&mWd}#t1yWc|+p4oj#P{zRj|Cx&1MLc;2u{J%33!aJKi5 zZ5rd?qOs3f$2^C!M|zytlA(OmTgGKRK$+`fLY=~Oa=0S9HRen?gs{^b_|F#Wn14Pj z=e{{z3FA8sGsZ0+F=~uYcu&yqUJc-f8uAI#Jlr_YoeP-W{2b8+&l_oHc;+GA4b~$N zPOR1dkPryq)rNY<)6VOD;UUE4Q0XZY;y@zL?555?^S&jeTyi7kRF`#2PEVQ$c}{)t zXP#4szOK!w9bcE^f3;l2;!9u=$5`~9#>&m#ISzc5xWqSGOt02MG<&eh)(Imv#*PKJF@ut~yFwLgS zY1DK`PNO6oHQ-rvTRC(u!8T5!Yzrzz5>oq|?mkP^Azg|$yI-NIOW=rJ_7i%)1+Cj9 zds#feYXjK9X?IJ4)FT7}_e=fG{NyNSe%kY@#!t&%mHae_GM4YWcD(+DxX+1}vMl9m z>E5v|OF8R(b(L@$l_lGwWH^-sgKaqAw;u544)}Z|N?S3C4g~BGIZq<;tc#LshBz7M zvB$|>-ZareV&3xKsOiGxo$!X9@X#z-qrEs8GOZ#KJ#WeUQK;k0B|kCAF*NLa zWl?XNtbRN^Sed7m|HwRb{w2v%_fd|LgD97Za0KM|o*=U^RL?{$zNoR${AQ&c|3|502}2VHIvxGr%T_ z<d_9s?A~USCt#cqs}BqJp-$KOd$kVPZ{XM{8FqNJu4mKcZXn*gOhuf1 zgoOhEZnn2$kw7d_+!(z*69`KAK=|2?(~kNF)C4BA#vI-!t25^}4%6iVv->|no5*W4 zEw}f_!<`;WHOlz|qF#nbZ@>j7G>y)s?#PL8T2mM7gKnykwBt^b(-lHAQL7sUK-oxorccS_IPT?dHa0Kedcx| zCfdPo>@2H4u+{Luic#MC$HrMmj7J@>$qV**R?lC zqFB90&2=wwZ3$CfhvM~f?R5xV-xn}0?qe9IpO-L-H5h}CD?dyn(~Wo)k@aXH(lrW9 z_yT;qhEE%8GC%od80M$w|3}=Lz(rNHkK-3`6qj*unZyM}LsJtSRzcJl0UdNuTu3w( z5m8A5gqcKB(SVGusHsV1rP)HOwrgsDS}wVkrM~r+)?0RwOzSPTlKDN)bI!eYmOE76 z@Av=t`-#rIcg}gv_MB%s&w0){Co}VRm}>*(YUzhE%L$q8ORu~k6Mf3_IOb{V%ZUE* zFI?CeW!QunE)%zV>8uk^pdX*WA5SsE=GHGbuj|CR_{8J9i)Y~nmi=kWPSK$iUT5L= zoo#m^MwI(m%w0q{xD@XdKEZeJ4>^n-&vKSW8Mk7_(LS1sdlFu9dN~DM*mAkE^w~4c zg|~HAw!7UHG-FZyqFr@}lehypGX)RWI-GMmk8#rL@)-XIt9TQuSn0#YIOlVxX`-Ls z>dwzIpdAnB+u#orzTcwe9r&>!*KLJ5*Y&U0TQp$mvpHPIUj|3NC>ODa*^N`e65XiKYieln>78*dt-a>CU9K6aE z&Q+q3suS|9@3D1fuys2HKI2r9%X$`>v09uME2~$byY+{!E0uIT%{MXdw9KAQ5crGT zs9Uf6OP*?t9rF~86Iotj`K3If6{qmBm(6&qc+yg-pT3@5M07^#P>ORr8=2qlte@Cp z>QB872E^y01naCEPU>^$mBc z@7hYQ^=X~AxEERh1N^H+{8tiA`JV#Y{i=6v}DUY^uMZ zoPkR4*wtf~9DHMeMt%A@?&=Nu%tE_*T@(1OUfTp^SMMDQfAnzo(|5x=5Kv}`)g7ru zN9AO;=en`lhwad_=z_Q&R>G(H<@DMdt;Amas1qgWgF&OYu?-JJG!DaM_pz|uJxGd8F6HVqB2T*U^ z;v?X(nxOe~@Zz*pOb7(NNF#Ow#`guX2ZF*=p&w7zPz>vZ3A9BAE4rbJ!#LtIKHU*? zqWh>6dxj4cP}+s$dLSQ#AN7ppQTV_Uvf02;b_Y$ryQ7ir_Y-KCAQ!(O7V$v}909sK zKWh#&=^M|`o>I3d;nWkr z{=P-CXTy)HJ)1)gc)Gj)Cq23NjM9^aqr4}dJ;Qo3`p94O&pbMuiQAqoePxx4Or*9{vZw@tj4QdY+;b^D*se!<5qfPv!KI>2U(4Kqz zThMV$iJ(YEl7`EU^Fen~pJOLo@zs$UzVw{+<$CpJ3+=40-*86I*(GQFjuD;vCv%6lvJEMf>h@tDJC`~=HOP#;#{>dLkZCQ$#3 z4{7J*dUp7zAP4?oQD-TZIJv0lpLWW(^{A|`a#py4=PSQ#Si_uBjgig;^4VzHTJsyZ zXUduBCYMTGi%QC@__U=03%xH6V?N+1!{<&kvQvgfx&U^B@>7O0)t=Vlp04Z`c4(IB z7IyxA(ozeKlJ5D|YSk^we!u&v!1(}VcP-X%lr;P00S#?nxO{DMX}EB8_dQBAth^t0 z035zne&}#9yvG}!IRsS(~$#)Y0d1f>t5Jxq2@d*g_!Ynl?=_32MY<@;d{SNXn&qV>2P2fe@XC{VvX zmbj=Af`@F|83x5_-3$5Z9>u~V&Z3IS6G=91-Dr-z6vqR zgCyA}i(dfRC#sA7@)3E3|K|u_^lu-MKfQcNUG%Gu(~#&NbzSt?i`1i!EKVp0<1>@~ z+67MI{Nq+eow^v6^N;IjrvPukF`)(ws|U5CL{Y+JF)1V_QM`(7r)6|?5gjJJg)Y#z za$*CQw-Do-(Zyouqo!PHq!pvJfl0pcaU}V^0*UnRBTVu=MT(s@#4QLbh`xSFitI~A zMUCH9xyZhceysA9!z{{|14o-Y+Sr{`;?cHQ;I~70y0pP~>DpntK8JQ$* zjyj_B?Alm!t&gk-#OVqEk?c0qabxh%SUSmWzhNTH0BEEcFi<|}XhT=!+>m*a z@ngC7nM8L!YO(T?q6a?fyaXN1(4`hE1Q z@3nzz6rDFXX%v$_Vj88WoA87p8~%tk!-}YQT7cJ3Hf)Zv;nk02+3*_ED1MYhTo}wK zs)Zyel)Kky%7zE`sdD#|&DF-s0@wgXK)JsMETH+JeX5%K42z*Pjcj~p%^#EqGC57g zPv|TVH*5_QsCD28WJ99y2zp05e8thh*Y?HRgT;Lz-G(-^`w z-qwQJ)X+^lg?q)fKxkz(wJyEoOBF#Sr59S5BR#jP(IMk#qRw+rA@A6IigFVz zD>tEkq1=4T6`S_8jif-5?rq=8&*Ew*HLxPwQ99x>+4cUVafHv~T0e0$-JA!=b72h; zQ>_qN<+UmT9iW4Dy23i8Z?SUUpwIJ_zI|D8bnYzPUKCN&$gjsj$|r5y(?kbZ zZ(3{hM%+kL2sjJgUA;8KBE9;idMYfCb}oRUA4aYblPsQf7%%N(+bAnFuMt{Jk=#>I zDuTQ$&=EQ#PL@5^9a}1%f zqwWVC#&NtljC|Cfqbxu`!Zs>A?wd_q5nZ;)MG?*0#1+x^)^J7i^)*h4=#RCsBKpGy zh1jeoViOdx$yE_8-RGu=F8NqhL=XGQRxMOSA6czQY^Hpu((cI`Ck;8VnfjrMQd1e% zz6aMiEmHFyqAIlD`Vm1$0D2SE{X-%(Q8Q59b~G2q{xzvdG9(_w=0#Q z^P)(w`�R`}Z<3=1b}VUJpP7$KpY7dbtyvHZs96LtRwQKOj4-eMolpcePYZ1hTUq z?K_nU+2PUA{!>XUjgk7ltMW4zWXjz|M1OWK)ALh^?68aLLNSVpd~qEM$>6dw50Z|5 zQrf(mk)1QRNE>%@JlEQ1_q4|u${rIm8LXC2RR5^pxd6RfFr(*j&A36DM#@Tk z^>UCzcW=d$AP%pj4?rV30DwNJJCFoRK)|Ux2;SsHrLMS04r@>0+Ck>P6FML zv4aWjxMgwlw!CHWl;AB`jYT}jg4GO%CQF^E!9n5uNp*{}a@B31RZ-nK^yiOaN|o#W z8xEJy-gN z!`{PTY{3?SO|Ee<)_B^?a#>3IQ`<)PV`1tILr>?HhzII_q{-I5_ApFU&4C$A%k!oCH=)RH28sF^~NqLS>jys2`u?TJRe`2YhBy-8OEZydWvkWZgP&TA^=5B zma;`U1ykG5630%8dW$++r9I0YEyZDtwO7$ya8rSD@)lNO3kR4rF@Pq+{iFVea^B&+ z^5UcpmlL>m5L{h6uDVT6kPL|D*BnO6PI6z6v%QDej^9JIR=I^jSi{2N8bep%V#LLz zDZU?khffqE4FP)|Cdjo2xriX^o`07Qb-YC!4-^y-uKY7w1RHK&?@Nm1YfS@wat9l5 zcud@ZBpb$+`g{cWuWJ-ThP(W}y=$;;c$f%^@? zO&`w90ZN$u%hW`Ct8$%xQVH5^tU0U_LtV$>l zeLDigCkUc3ri|s4GM;zA1AlXEGsxC}8#ph##pgd-z85K!&3%iexCv-j(wDEptm~wS zuget1f$>}1cWl`>_BYqI??_keHrwf`7+J(dYJL5WahfB6<47pAg>c>ZM~89qJEVqM zD^qq_E0Yf4R!(JFt@P(sM8sv#QeAyHEfOfa>_^Uhmp{U<)(OJj08aym&Fb4y)|8Tl zLGV(s5@yY|lXH>>R}v@rsf;+uFaRJ)Z}S<&VLf7RZLYl=M}Md+8i~dkD>XI6K|5ql zb4tcEC>)A~F_@|+B8a*_u?Uf8n5zWmwHocRR;vi0$6Cc7Aa5(Hcu0Ed4U_?J3Ol`~ ztkx}BPD3YfEPx?wL6jMaD3j$W+K6mg_%$!xcHsGwB)Sh*H+MU}#4!KBFW)5jxszS- zh`cJh8=l|J#=~5D4;_9?187lSB4LI$chnF72>mtPoVGCf;^FFqeX(yb@2a3(Gkuy3 zEo)~1^Q2ib8XbT=B^1{T#;!7Li!|d&+Jb{gxfdtp5;3Wik`L$tN4~Bd#+Wzd9Ri%b zshAUmY$d$6H1~~0+K#re*juUw>Ap%D@ve9n;|v_*5^G$P5kQOIphyMc6ubw$A+VcK zqE5e|ic_tLZ9WM@E}nB&{>r~v3;?qb;6VF$hcV(U)(5f)u^vcgpGE|RVX2+pQ4nOg zAI5&hJCu1RMd?Ta$q`mm|7RKmKM$34ohIq6S*R@Pq%W;B-40d0i1aCTSVp4dp zyI&(T|9&CSiO|s;#s7rQdmbe?n-R{h(YQi_lHfC4)V}u((nHG^^88EH{Lf0FGkFFuY9lIqtwGZdD0E9Tu4Et3~BZol{dXxl`1SO+j|qmvIEBnMSv*lW&=j+K82 z%l8^gJh2MBy{zH~7l?W}?051!FJqo?UWZk@21EkZYa>ulJbQ#q)DkNJGZ4sFpk)QG zbDq=78n-aOQ28erR?UH<#Wq)o;vg+fDoJ)6Y#79Hd-4#K&WyJ5qpeA zms)_-yB*POGzU@(PNC^L?L0{(H#a*qb)>I`=Ja=!m_QSZKTQ3njTPBoAMOa5fC4S>D{3gTs_7#Lv+?nm% zq4$vrr+yN=?pZ_YJj4j=JS80H5PR>1@5920nd@I6ay27YKL7fXk}Vjs-GRj_>AeHK zH&@@=;rq2P0(0iZA)9;3d0hwpvW_s{X&7=}7W*eik( z2W|mPHpPM4KaS$Sjd2(+yriMq!c3Z8WX#w;7~1-LHMRBF{k*MN@Z+AfR974h$txy> zQGA4TKWU=%$z6J-k1AyG9Em(DH;g7SOvxuB#^GwN$*^qqV7AdFtu~6fjZ0+BlLTtr zVjnspp_{bKd4pzH61+Ct4c+JnVxM%^>s**_ZYN>-u4Tj|55wY;Hdo8uqR`HD)PQ7c zz_CHt0NHa?U!*Beeh9!2cKX$HG#5lR^SS&k%YS#BE zq8%lN@t2pJZ8t1qDrW4bQHg5H8S%pZ#+K7;n_|n!+45Jm9N-{c%{d}qBX9IfZ1nU& ze_!j=y;STn+oP87+1|9odA4<{;I*MIjM*F*Gb#2}KHKR+4X(2zSKZq!I4Yb57I7Amky0&7m5UT*aVM`Z?#xW#ASfIBTfp z&ECc**NZW>gkZXJS#FH&yHz&Eu6aggg8irY>BkopFw{r`IEKiA(_(^xPLngIRuS)Fa~YqTAR7`2@DqkL;2lvnEk59ZFS|>7I)<{U5Yb(v_Hj0 z#@$mt0FTq^xhE*<{OsJy0ZTLq9b{}MI?gE zcRl9*H+7+A2TGrz4pck0z7mT^U~#Pj+tmQ9JkP63N%%8}YZsj1twVVK=}RlR+MV|L z(g@nClVhP0`-o(55^nURRij`Vi8Tjc`yIXr)8TGAV%hZM*KthRxtX10Ig2k{o+RT> zHBGICmR#*T;ajkU=DylJ)@3|Hx)IV9`;cV5@g9~UVyI}`c&8v7_8pqn0G`Hc0K0Ey zo9|~)nqT=uQ(6+>i&ebnWjVO*P~=+Ycq{ z(hi65o-OP+csU01;l+1i@g8^4nmbv@arS|QF8p!sLe3vY=HhQikLVH$_%iViyJ&);y0f`u55vgAG06$=+cR+nlmE_M`m- zhT36q0A`c1x5s8ORP=q)C9=R1chJP0O~JUKDQ7h=%>MleraD;Tel?U$WN|p_^ORlZ z?RgwAEAw5L!SZ}gOy9@>>>JAB12tz{_vI7ZK;v@C$Euw2NfsO32~dhcfS%ce zJi>mKs3W59pBq$RyQ8N>M!2$rIgEDF;$p_rb7}LX%3=J}sqxc0X{b{v=pJsbN{Xn% z6B^8c;4HRk)sjYsc#iz)+G*C(h|Xz|xU&)$b!!tE+jkL?7~h+VR`z2Yqz`kQkOm{X z!vt>`qK6*siM-syqZ$NNLY6 z+7$2QO^o6Z-%3mt(-ev~7^-8u%U7mfUZ@^pt;eNl8x_`iT&jKSZ|;H`%C>dX>|)Tn z^Kf_;5Soz${~43un^mFIc#uT+Gc2TMf)dgbZ-aCe;;XBewEm#05WkLpp6w#U=QJh6 zTmM>!@8=x(uRTVpB2hlkka#!+MfntWQJ%&Aa}njuAj><6@@A0bNt8E>K4L4B!Rhpt@JW45YYhU&!Ih_QAO>qDSsrE_xizf~EQFQ+(Nem_^HW>|9#5bCLSD z-{fjceJwyXrWyy&@m#Z9+L*RpmTC=UIRTpM%~+7dkG;W?L-|o-=^EENE&p}_ULtyA--5TmJBNrMXC(IequR?>i%KgDS9--b2`IG|%$4@PR&jg) zBP@IM+pB5v7tQkFd&A~n$aEIa`Pe#~uftYDqQ2!!ym-?GWQr2AI3AYxe&+SN zi`;jE#7|1U?N)lTnZ3m>?)7`qe;4=qJy7~xH*?%U+2OZ_JN({qZsjefR$>cNDo6OF z_?ZKC(`IUgrEd~C^)a6=Dd`bqPs>pDwO-TqxU2*@HTO`gYG{RTjJb1Xj~i>9kf=XS zLPc?)!?^D;l@H&hK$5x>Gh|SV1-rGB;OyF9FNNsfYkDKa*-WSq&~!7 z+X8<78U~N)OVx$Gfg(D)4E1SzgiT;LaQx&J0Yi0FAdR zbn%@HY8PvW!~9(TQ44LtnN&jJ1oPA=tP}*>P#^{SR>MOC;`v(Ix-K8DcxcQR&lR9y zm1-^fa8%mT@vD^Ubiz65y5@zwb7}5zdQ*#~*2~r1Y8c?hna+ox4m6il+S5|`d=~RZ z$#DX6Jl9+kHFbtrF8E`~?M;ksogtxy9;LW zcKEt(_H$ zi7r|Of1MBkuZ|~?5%J)WQdG~%>lSa9GyR5{uF>YYt}w$*G&9TSnL5LTyqRZk@@4}3 zlKdXy)7)z+P4k^IXquZLdM;YcCo%4z+V4NG&WET@OvnQ-HR_amhtu-JiMI7 z1R6h|A`3Cq($#e;t|+AiP(bUu`)La+)l49pT+y^ZR!vad_)9ex$hxeO1+o=o-dPo_ zE5vf8Sq5y@Dqqb`p%JLsVO;qrjZJ$_?DyZV(Yy8tCf-+bs|PyQ$V9MSZX#HFMFiW0 zvKpv5SE1tp$raWR6v6~LRFZO*76wiA&*?DAcyL4-uu`KH-LVzBNzqHH7E={btPP1` zA7C8~eH3}D4asBdYk(}2(W@bG-#-w{pxM7*H$e_#G8qPlgf8?=cGOw@4v_5`u>IBL z8ZGXPEyhz5o@>e~X2Z%|&;rXh;7unf;zdB~(`krkpCgHN7@w_Bjq5;S1|qcA1TRv5 z6+^OLA8vX-)zbsg3Zu#PQ>&zR%lLk3wbc2cCcSYGTY*G-SjEvtr~IZ5X>?@GX=H-| zY62ps7}Rq$7Z@}dx3@sA+Bd5$+rbFnMXw%p)m|;DnrFu}YO#t(EtUF-$#|3eLGBcp z5{2|*0g83is$(R`=LHm2;Spc*EJ~?%_J{=Sr_U-?#6C;0M(r)|wq2C)Pf6)8_UNVv zGK0%8HBYk^9lB($L`S8C9hetoqN^7rs>hGa@X`$75N3{fC04G{~JBHCzz2t7ZqPw0^1e>b6*mekAvi+aem7T9p#|)@sq?T2d`n zd-xIq5Y-ILTolqAmbmc&hSl@yG311+i~W^}+(qJAx#C}8DDRH}ORLzP2`<>+wn~`P zYoq9>+?6sipC2CO6ejhLhZGa~MKqyb0(FBMM)Hv{eXnQ6IR0%KemkY+nS$?i>icMX ze^Y%Qh3{L{_ats?sZ>9i`KOU>k;mWpFvDQgAGSm~w2=H^OU$)-odnq*wz{Faxpoe` zH{4;aorP&zb1m9&8=6D2I+0iVz()v}3(DLAU{o`bk@_}jJ08J7YiNUy8}DFX9;T*6 z{kTety+Uy+iEaP54F`i?&9!B`OVzHQSMbl%^e&%E_~*s0xtHU3Q|FaCy~(8B8jUX zH7k??fxN)GDhvbv^ql&s4ga)8{nV0w8r4Smbj!#-%~Nw-=bzH#Pi!!L=bwkOW+Fd@ zW}Z!?W^PU7&FrK$^S|Wv)>=7$GP}fi8=0-1cM%c3YsJ_-+c3fdD4ka-i%rS;0cPFV zii{SW$5NP^Z4*ek*y1o=Si$|aSl&IDSERhSLj?l1sJFvPmd-7A_61{^_hRP$tu^H* z+QIUW6t|6&jY;+`l5U}FG*uwhA;dP+E93j)xnbk$0^WUg0tI;ee#}-%)Ku4_MBaLA z`XG{){78ozNQY=4jaovcj=IIJ#~M7$?_17Rj~sG{K!h<68Xr=>|z|V zv??~9)!q(>$gG{Zx9%aed$+LF?=U9ran6V)kef#)E)@h@tR+sj?Ll}zZrFJ_E&A^9 zih1PvJ$&JJU#iw{8(9P3?XtOaX*wt&Nd`81RV#=TWG*KoV?`%lEc7H5@()BT9CmS~ zSJ9F8$x3InwYJl}i-S#^ia`}=3y6In0JgdZkHma|(%-ndN%})Q1TS*WTM?L#g9)8j5t!~<4va@0DR$kEX8M2>D-;kT_1a`HmX zE>BVIbFlV<%&HMMig7w=@(NW2l{3!6jL&GFXV4E!CIJ>_!eI=1(3!8Y((|!&29>6h zno*;08=%F5DhA6r7hujPFXtwzvA@L}r;ywwa&ku`Z17(*u`MzaYmLsoQria<8v9c2hKKk$YppJrwZh6VD<9-T>9b`V zvoezivu0TdvpPUwY2;$nU>30FX==ga*n(Wf;0})D_Ojc{oX=9Rj8&L1!AEnDsEgdf zB$?(qqa`c+6c%nSA1V=bLm&8i*rBzLL)cLwV@I`gwMemHq%Hgl?9h}+stG&froMtr zy-Vx-i$z>}Sm2_Wrw79-b_gAJ&xR+miId)2s*YpAo@bcs%Fzy47h+zN@F007SJAF& zt-y62L;1Uc;vnL{8;t~I^croldD%%oto9TTHAk;nKB-(9e zFoWQ9G#$D=Olyiyd7ol?75OQ^T(fu!DOWU+?5yTj%}t>cgXY&CH8+sXYsMwQkWEjA zP$=D%AJyTsXvHVhj6YO^ctkYhT^kR_Q(7p0T8vLT{?PPd3db{McQ3k~RKFkws7Xw( zza4*Q!9pH?Xi|~TWc;C_HZqlz2XINUY@tW|p`P@c{;47oKmB6d;}1PYI+%9+q2onz z?+z644zFJ*e|lu0pu``_UF6!~rGP}zsGk2U{*Xr0p{q>8(_thwx)QwyhKNqv0m{yK zibb?+Cx(2*(83rr8l#(5E^^>Qe4=;-Qw!vQRk{q%@2`cwRqzL5&@!OC%YYv(tD<;B zcQ+LuwyheE2$t+~-wH1Ah+ffAJfb0J;)}Z~p5*a}{v~Kej>T)yt>Sf;$gze5mw-g6 z`2qz#HmMPb#+Yl8^gw1WQ-lNE`$YneNc1I*4@D&UK#557vEUg+Om6fa#@b=bDwLJdS`hQsTE!cRm|vHH z)2_<|^oR{Klz&KDy}E6QipW=zh{22O%p+~qNFKasvJ$*#9DJ%Tkb@Ut14LaM4GM-f zMjCEmG<*_<9{bET#F>cm=*RAtL}FHU0}1GaDWDTx%9ZzvQgKIz-N=R^W;JAB#G=?~ zAu+)7#vs9{NyEvQIYbb&?xUO(5(At)&bY3C!a5@^vY$#A+?iNRfs za08Wwin>F&e5+`*3%U(;MYkB%JWX_q!TfD7erLS27|;ye-S8Usuje|UoJos$S=s%N z77t8}M@%%?J6Xi2>wqGBqBdjOm-%Q9@}v+`B9NRoW8(rAA)OF~IVKu?=gUaBYrd0P zVmrdhWeXU-LHVobizws8vsm4)IL7XHh|~dcvU~Wbv~k@q&YaEy)|)G5z))|)@^3KO z9=m|iiO2nv^E4Ptxv9x(oX#fCga!dL6I7;8HP@gyzhNe|yK(`$kPGB?e{;>-_`@(S zqzpqVukFlkU2Dvx29Jv44eo;tu6ZBr)KdjM5-{#1xK?3e1GH9Q3_)#TO0_5qLxrVU z7bHP@su$qMoW#?=@7~L96tvRr*a_gY`%OMfMmr;&?Tn#FtaO`~wUUR+Hc6)@k=X?? z=3}6ud+wttJWETPusxANs^aZ^%&jt)mim+-njY3~&m-k+mCBr^nQJc68fWwQSPmxV zoANeWMF8AnxK+4||IutR!48|vuWZM%Mo&`%za*9^!ymlR_raT!kcyqtYP{FzZn>Aw3D{JV?(bSCpi~ z-%R+M=b;#&!3y`r#iShwYu98n!(l^C!Y61%+94@~zAdYD7lI()T9%L5x|UMDEA^!j zO&hP4Y5%g81TKxS0TE2pRSi`{fj{H8j(%Xci;n*8aIT|wML}|49_L&7!Nj*V4JW=; zixKg+<+$*z88nll+v0X#xXQOWMm5d1{+%t$TnwjYm}{&EV`;b+Nww0(x_(t8-`~6= z$CXJz>2X+kI4_L?%#t~OhnbjIBQ%+bNns{2(tz1AGl`MbWjZkvO$x%Pk|#5XL1q%K z4BHHBbVZolXixIx%4=7L@GyE82crPFl-<{^K{J-m_K;{Z%r*C8ZC$B0-Lz~zI!W^A z#CRAtyp9gzvXnt8oyi6UpRZ@Ifr;@pFwP^8K_gI%ZCYje`y;?3>3tvF^aw1?@)&`c zAYNf@ovAk6)Y<<>Bd{_<9f99x{DTpgNh7cx+f+Wt`v?$wbN=iwzBJoa>YD`;0^$E4 zg{8A_-A!`!zW2&pU4gO{q1+hAqKL1P&4SPhhq3=`ZWx?J&EAGNPYl#*wjxxdH(C8F zX|C00nQLB0po^*cNqBjVT=(`Ym%6uOwh2wwo!VsGp>B20HrMPzptnO=-KlEb;jVS> z#%yOowd!^l+h#dYH6!x>xq?uco^7uA7>m6W>NGvxqU0!Tte7MdS`MsO28QnL^;4(~ zbidz8Xqs(0Jj}?1he;IW-7k|h#Uhs;B9}f+WFV9YA{G`j>a7d3ey-VjL(YJ?*wK@a zZBI6Cs9YH!g94!zJ#?>YYZfF?#UPXku)c=O;_EBKLNTGXFpVEiQC>yGGKQ2*?4ILb zLpaOxAmyRBQS^hLWN2r0oRJ5^P{ypEM`x(E^tJFmaTFaUzv=jP*6Y<0HiksrfHa723a?GD}e6+B`m!n}FL(m;5QN%?yXp zeBU_ zwk!R}fun8!IdFVy@{xPnJ%iJPxzyWkn0Y^Crpv%dYtg?I2GUZ;>55=2gAT&n8~gnO zf)ADdJJd%|wH9gEI8qAMs!)3()Zqlxcx4dJEE&hSjzMd4&7GLBlBo{&(hw0#`X4hw zSx{;r6{nLf@yld)9@yTkSfZks)!7G_Yr^QX`t zNBC&1RVx}fD2S!56tqpW%z_M?96Q3_K0H~Rph~~6Y)3S0xg$_}e7N>)Nk$47r<)G+ z%0A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 literal 0 HcmV?d00001 diff --git a/dist/pilsner-0.0.1-cp38-cp38-win_amd64.whl b/dist/pilsner-0.0.1-cp38-cp38-win_amd64.whl new file mode 100644 index 0000000000000000000000000000000000000000..1cd879bc32fb7819b1de7170196315e44482c716 GIT binary patch literal 506415 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�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

    {o+${5a#846MiaXH0czalv6cUy&wDC;d%>+5-H2 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


    LyS?I!oRh~>1*#MsK>=?~3)J-F>32&z zOy8;y3BTAAt;L74Rl{NPx4PFQ5tpCW)6c!rEW{_~x7y}#;T|uB8qspAV}I;!y%m9T z<`I|m*XcY@$K>t~Ozo!H7BU6LQ6dP-71kLQ$^&qUn^A+GKG zRCs@9=j0sW6~y%OeJikOd4Coj&Gcp5qLA>i_Jq!96y<;lO3i4_1!{@Xl*DL)6bjBb zvN-xRMb1)duiY!TyExSOj{M!*EWy>@&C0^f%Esy1Q#s2=wwE>Cjv(QPO~*0Gl@-^? zU?^$P5Pis_qXT=K@ug5QW~M^zkG~a3a0MHjnhD>TL)$*Oi&uUtj zW-`iKY{D&=@hKh}*xY>Wcfa3SgNx+}?`dXcw~Jk5=1B*)z~=c;Iy%+iOD^@}?Db0c zb@uxB_^MVgG6tUoNN*3q|MRR{J>a-JSZB}d>igQC!TIT~!H2{E6s?5BT5^80NngSn zL@JL4_{=)nrUA~KRk}K#E>`=qbF@^bwwLP2ceEu1zHkiaXp$re`egjoW&}PQhH%?H z$f~(6pU!rEHOSLY;oUNNyYto{1K54;J@pQr%Z0%e_#v7lnaY2f!^;C@&x#9u)-e#} zRPo?;@KssG!>9nyhA<%w$c=0~9_&p$z$Isz@v!?VF^&Fa8dFo zWHLEsYYHIQm+Qqeg-MG8=}$3u4t_&;l&v@ry+xWOzhSm9!g+P0e;h~&K&+Adi%hZy zW9RK$%RF<(Tp|2cgP>c!dHVU98b}nfbq5(;d0#TKJO+M5rlnwvmllsIzUJZwS}u?t&H>_qV(s zMuZv*THKZpVu$t4Vd?v8@(O`9TRS2%V?^Xy?;|q+HGla8D#1e#9SON2i^g=L@yduq zHYI5D_zEXlsV9=SZmCRc+OtoU5m?~LpEVbR3&?B`Nn27}Pp9Nnx&FIFIZ1dmKZf>M z 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%0DhJ% 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

    J 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 literal 0 HcmV?d00001 diff --git a/dist/pilsner-0.0.1.tar.gz b/dist/pilsner-0.0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bab7da6ccd5b50d4ae5bd8fcd1c54a1f5af3d8cb GIT binary patch literal 20672 zcmV(tKm6VgahhdQ*2~mhhf&oCwT9@x{zui6W!2kp$+R5$_ zH*1l=OwX&Qr{A-Prs+IPTD$(Pzqj+%XZh^H=kV~5{=&!pOW*en4i63wpFVr~44&`p z9UMIS%6s&e#3cyX6Rlk3c@j~d?o?*6X#E_feK zy&vOg{65IS`Ayt98YaOkevjqfg~=>R(1noqpI8$r8IwxDQs4RF%@1Wk{< zaXebi!g&^C*x*$(4O6e4U5DP+7re&T4Qgc^2Gb{7(cHtA;+=OJW!LdC^O7*ll4yiL znqD*?O_yWrg?K%UW)W`!tJ8F(PqqN;GKE24SDW4}9!FRBH>8m*mcwb3UN^mQgs_Lp z3?8QVkfyeYBiV@)FAb;AF#r)k*J-$_e^dy2zrab&_%x;Xa4vmIX zX&l3}QJcSoqYR&5`Kx$3jc;*uqj)}!a8PL*7w!^X2E+J$NaJBkK94i#F6#v@!$K`C zf0bSb)2TNM`K&?9Fvo#Dqy&2aTWX#~!PHyC2{maC)u%4}bnIQ6y}tbA==|6_x$xed zpZ)jAtK(PR*GCud`|GCn%gN=T z!aF;EvUT$I-J6qRczAO9^3Bh$PELRH{tgvS&j7nm0LKC9<(Y>qa#$zF7YOa`@%hW2 z;OEibPu`qd{-EXyDMEdHcJ3W{?~cwdPhS4~=IGpe_w)I?vx{Tsz$<`zdUE>u z9GW?PdwhE7L$mPAJN|F@;a&W6^yUq=^HT!}=G8Gg z{QEKV?db1sj#*nUu9t6)PTn@XS4VG;emtgHX8;Ce3DJ9XeDnr@U0`Jzr6>)n`qks--|J(Z|8I{@PhKBiT>8=c%bowbyHB4A{_iPp z0dW2w>>eIGp8sFs!wI=}eth)m?Xf=_{ANT(k;s3)d7zbI<`fuPifmLgJ`~KdOt!a_EoZ+0J4D!p4ql{AdY$dD1QuL|BnlI18dFblab(LjN_vhX@zgD8`Mq zJ>UqRY`qH8Q4%dO8rU~#upa-YZ}08^JV-dR#WY0u14cECpzY)i82aRWG(rZuc(i$d z-M@4fcZ;Y;|F)vpq{qK5lWEUcK^9aq2EY9DItr)b)Q@1kpv2C5F>QZKv%6{7Sxkcz zICmQmHlqOHBR@_iJBuVn;X%OIarNYzZ@fLJ-gvL7*Hqv03EK?FtJP^sk)-<}&It*gk za+EE(kQt4!g{wQN41FU=V=uj%$Md@xhk}ybeBu|(%0BdH4#Z?SWg|qe<8XnUn~y*? za#b4)1~A-f^wMmMlmeeaiR5V<{AvQaQcDKJ=O@eD>gg6`gle(TE?WF+=w(Twx} zT2Hl^0wFq>FF{(=A5w8@eHa3QgxAn}1$RdBYA{V>>;{OoDJ&o^SUn9xcr+hf1AV$7 z-2+WS^e=e%9zD5bLHyT9f0D*?>E>%K;Rbf9D19!y}{df98L$c;sZ{i2flc$V2*$~z?>xUdzikI zkRH~VHY6^awkZ)3Lw|1`C$nH0{fkXjvYdt~;FgBow;>>J05l-JZB0X@*|QKPe4G;C zMZ8$z5(6Zr>tT)hs-sr76yR%Ebq7R*Kw2c|V-n(4e~&-$R0E>0bCtw1IU|H(^HJzr zgTHk7{P*g!C>;qh*c!8^e)@jWC|J9vzV~wq!zkF~i#*1~NmhA>e?u+oA%TfduL9VN z3aD`ED%|oeV;H9_7|s?zIjMNNV)tfVNA%67iK{nO_K})R7vTu0=px9jNd*<+KoNm( zHITB?ifyDz9C7;7ctoh!sbQ--u;QXEA2o!vid`QiAutSj*8o3(el1hj8M61R6w%jN zIE!Im2{anwegTrGcX%A7H=7(>o3+=jFrF9Q$(8Cd?6F+0o3y{#D1nyG;|%F2Y)cqP z3T)OGhC(AyKG`I2Zi+^;I*o%dZ-@5b!)6876Bz@w)C9WHl)OdO z07i8k-|`M2@u9JjT6#=kI~-Vuqj3SDUBZq|-Shm4&TOp0Rn`{ao(II|a2;$Ge#pFZxj_Dn z#t!Sb2om_wG`ORD7iL0Bj8&5G_hp1fZh!~zl(84^?i%YcIuMPBBZ(DQs5gc~iVOva zjp=f94G5U(^tk2y!WHqZPBaxyMhj&P_cmhsY0kgt#}br;>EQg{G>&iJ{c_tvDswhb_kC#D7Pk~j1(5!_U9M&7j z`(VtP8vt=5GtuBOS%w3nM?VF`LCv68v~VIiNkrHN>)9;03CUh`g|;W$KcRPf9TGLt zi3)8>ZM(vxq75)rn;MAJIJ&w5`Y_J~;i7Xm1(Glw!`@c#jjYEvP=* zb(%xka0I+b*e#!p;^}fWZ+u2FYtA5WARkTAS>xUBXLpORzgKH}I<4KaDXm$2-zvVZ zQP@uvC@f0p={#C207aSc7RP{kj8u~kVXb5v3RMXUu7O$60S?U34A>%*1S}_gz-OHi z5*@|%20E-f+6bPYxGz=*_IU?%uoe3PRUKrOb`TL`n69O9b`W}{Hu5%+2I5|4=B~H(lDRG@J6X>0RL=4$jWMqt! z>u4HtPYya0QyXkk60g8;Okik*rv{-#gBmpWR<4d1lV&4=-rN!s8wS9^LWgDmB1ys& z_?a;+OCV6SPJHS#yvht#m|QM^#ve-n;La=z>lxlYh@0b4;x0wdgxxLb9=w2pvZ;^5RV4OmX3KEVHs&`c39lL9LBbbUeu zQXL@OGMMUc8N8xdWy`$Aq?-MTQXQ@(CX(2Xi!e#z<$?q~LDK7!5H>3E_)WpfoV;Rl zHoDe9@*}+Zs#w@sTYG5v*7@w?^p3c;8IBZ$v#G#sszU`5oJFJMG?1)e z_2H>qSG(_`>44eD%##*{UTYfQ9lg`%GhR7?PFzY<>KneV*>ff~h>a^)~HlNo%5gUetl zc5g6ZF#9uB0PQk@vCu^j&S4029g!tSoy5u!Q7Vq4Oq$w<3u~(FEn>9pp#Z=X+HCRd zuI4uu({2C&jv`zHhJWy&6Yt5+XEO-SU77-@+%ZgiU?jN+$w3%8LvLMPvSD}NHcrO< zG{nh*Wm98f&Ew$s;gs37Fs$jxnmSmWSVx*@jT;MY0p{ye-jSpZmc^nMOT9FL(e^ky~_ie~9yJd0uD@WavHsC>%| zWBPmHwc(I}6W`eHmY$KGb!IEoi3*|n(Yzn@@l@#(vz~p(^4dt;VjcF!dS_yPr{>v} zZM5vve$5KXNQ8kh^R;xFL^V-=6yACA1;G=&vF?fPnX01FNFoT1~Rs{rGN(-$U`V9cT$U}GY{)P(5O2T)_6!ySe= z0^~0yK$+*u*%1DqGL-5!a2KO7$WrCA&IZb)Y9IG5DnMf}Nw05lRgBp}F+B@seLDUI zmW08GO_{REusc?94S>@sPYoCoyg+gnFH~F#3Z6n$&lEDH8ObO?PrM zqnJ=I>Y#(ONp|~BF-}5f*KiUvVjA)Sb$Ap(hAdwe_t|L4(TnNQ_ylM^kK}v+doA(l zYbBnO32uD`v|}{3CTE8hRW`Rm&Nf6n((;n76*oh+Twu^4qOxSL)YRwvRW-L!uRaVX z(Hym7W9BKs^@0JH#Tis>NyQG-)?0-_64r9B)kygr*9RYK5(J}0ZSSLc!rJ`wY0xm# z=4d7vhgkrN%Pb}9vAJF=@24nFI$9Huj?g4ZX3YW@x@W$3%*?f}0>|&eL)AZwO^ zfW|Fg=+uea>Let^DJqc|80wnt(*nKU-rgbCK3-&JdmH9HfrXBl8idnfT>2W?N)~Y% z;X9+#@1{WpYc*@*E`74~60Nbg3P~H}d^n%t1TSXEH{^1S6b*iG=U>>u=$}~t=@LyS?~-^FrgY{L zkoja8F_&?@&O3HC5s`QkKpFHCRqfyy{pagfIb6TW_huFD(vR=XE>66o1=?v~O55b* zuR@#kI%hDu%shQ@m!jo`D#LOJ=jZIn);ZHsr7hNW+k4TW5o$pLt(P$_VAi_4TZC;Q zcspq0AIG=zf198wGyX?LfqlXFpZ)#A!+k6MZ~yth?qmGVm-uLLFF@EH7U%M0YeifO z6nJPH%bM{kPqwUh6^wk}V0_Bv;!++Gk3yqd9e?s> zblk{h;zg>)i99?$gcekf2hmsM;qf1vjr-VmyvJtaJf3V-i|e2{S8*J)9TsZkjd%^d zQ%d48o@|xJVHn_@iU!`s{o^WDG_gkfgx-}+#Yu3L@Y`AzuEZ`fac(|+=s_Kz1FMS(xO&Q(3w|9z$3 zyMe0({_O^b@AhNIPCv|VedGS>8}w7(uz&g{{nDjB`aS&6H|&3Y55Mz``phee|)okIvU$_v(H{}PuasTfP`+aZJ-#h2$El!`j zU$@W-ZO)H-1OD6h^V{BtzxG4?wD0Agy-^3 z{?u+iYSWkHo_^CVf9XO$=`#Q50>5ZW;d@WNXFtiDKK{s?_Cv1b2e=vkzYX~PJ;cv=)BeR9_AB17Ke6FQEViiSH=H+J-NR4#ewL8@ zcG$4r?`pGKxnHmB*Mt3c{{X+;Kly&Wmw&G2mn+aY=ZDJ?`r&@JEB$TnaWJg*tF7u! zTi{1)@*Jgpv-UZ(IltJ=`onJ64|XH|uT}hB$;CkTbA7V)0Ke7;`m?(H|AgbzAASGR z!S3GP^<2yl!pXqyHhR{Aip@{S646{k@RL243{iK4x~2ANY+;FiVDqQuPE?3yz<21 z2O{|Ns;Oz|YE3Wik61&k{%|=V$-6_QkfsMr-7ro=?U|ml5ZZf5Vm_Y((_2-PI!Y#H zq$g$N^|nQSw%e!|6XxC~iNmSwlgM~hl4u)zE*v23QEi)@)kCPJS3ce}c6@r-|Htt^ zLD;DMzYz#n`Ww7eNtE9?8y_%=*n3;zXrDRtNu zbzmNEtGj}ef^J-K>Z2CM4?mzoK)s-1!)m4K>iFNLHSb%mUaR@P#nHUZjuC%!9Y>?E z&O=v%bQDGXX_%pW-5`NKLa`MJPr~|PqtU3`IJWt1y2D#7!?oth{%fspzHXmf<=oq`=RoZ`>`=sy|;0g*OxBoH+h!V(W4iZyh8XN=e3#&Jg;elv+{~y&oS()S#up=JOsd%I8V%>HY4WYVas>qO zSSvjYW?lX=?}7om*;Vv`ncjtaGP{SFcyysD=BiAiJ+Aa@vte>$r~q7Rtdn+0na*{) zLqUmc&8Wa`F&T!+C7yscdDvo#{#K@w8C@Rq$Q~ua(-mfRoOn7$8kZl2~p} zxM@|>tG#5QOji-v2XYv|W14EtcA%s6!ZW1dz3_ISfwv+)fx^9-GR_A55n=sm_C|n3 z7DyRDrHY$~^3Db5N~WcL;9{sx#IRnw;GqoEp|8J9zouheZYMY8&J&%LR7u09eDe2_ z10B<^gz`rY-E|WgOA1`N%x&{QOa-$6IfPzYdD{WuL zLNjQ*&;0--Yg@ki>=Vx%|F>g}q8UAC=9^qODfYw^_NtqM-7{yd`V6i&0)1M|nUDhT zz0sh6JI)Vm^`P9HF(?x$z<~TL?(lsvZEvC|qn#mzv~G2;3V}5KXpXtO@2=4%VYW=> z9(p$G>=kjgrR>!kmul>@Geb#;nk)=#Q=xwRNG@ZHnEQ#%7{NN?84N&!F$-?^4D8Wo z;&rT*#?@HkEH4sE%dmS>+`yU#Pf|c}Os0ahVm0s` zs)d<*kgAH38da?6Y=lcuY3yI28!Q}7Q?*fj+VxT3j~j*8_oSgiZZA88e~TLlhpL+90(=EVv)D=T*d&Q9Q;hmVGYMc_xneIjl0wm%iV__v`7OqFbsn)1;>K7npWxhf^ zD%FseSEWaWzSxwSt$sAnvbE=tCnwEuA!AhKl(rhrFHAVz#JUu0JQfAeSBYc#>F7F~ z1$+y#4P4+-kOjkODBV+~GEn!SF#VW?|MJS+XA&YoU$)s_*be*w?C51GvWX>3Ncnvk zCQ(%Zfkr~nz%*!NTFDie`cao5FGkSMjD7MPu~? zUo&2tr4XRsEW{HZH2zv^ly?-<@>T3-!D?fEynebIqH7CZVf@t;gq>)d&Dqk!27HVe&@@JnbWJN z2`P2h$o2fweein|>i|z0WstF!fZZ#ZkV<qy4TD` zbn752IR$NwM?3MRA}*6cjD$2{pMT1mRAw&2n%WscK-N0`FqsFQIa)4E2|P2Io)xE{ zHUM@Us+_=OXQFYm!Ia}t-!Ssnz3DORCUy`HSESN-WZ9map9~OP`?c*aRG_P*Hgk1z z?h&IKic`yP9e4elm|$+ITCL&2yb5rT)>CJ4EE@bVJUEbV?kl#L<0qya;8v<8ag@nC znD!&+6CV&u-;_2*Mgt3hUr&PxdeS7bXueEUlrRaUX?CWo?)10%#&&6yl__F zE_Bn|);f;zvkX$EJPL$>D6Ba15Dh~f;*6FE2WV{?P(tRvfIr3j`;$2UIeDcc|n>Xauani9e{?+n8rS~5jC0W|$U;wnrx+jxWsFiBmuN|95 zwH=X(?U;)xv86Niv};w$xdRpy6S_nVGb|nQjYu(=c55vDxYo-nc&!3JfVu}g=i!8c z!ZOSOps?jUkiA}!AF3_<0o_Ia7D^-{WIvMmG+9p<^BM>S1(?4z#eaXTHNATA=Dv~p zx$EdD9Ei5tY5@z>$F=$6#*j9c$1Tep8D{nJLHU%RrS4ptMx&>b%So8^H9J1`f>TUR z4%yC!j-&<=O)Zj&KbpA|Ce2*p5{s-Jf5r}DP4ywz9eJUXzU!mgq5=pn)EV+P|;!iBE zBLSO8UKC#yoDZTdkdO~PWm>A|wgutP2gDv6I4^}sej0o;+hc6>Ons}Gc>zQ$bDpaZ z*bY6?3wE_1y;3nvVkrqe1}TchHKIYe(?ZqZhoeGu2fnB1Qnq@tl0jO|wuTRpnVKgi2Uc<`mY9ZfbgVkW^>4h-hkQ_C!KHmKl_%ndCY1 z7_}=Vji#+;EV{ehG_5#f9qFTWgjsV|l1iHqGrRR*Qu!HZFpbw-4;1>0EO3U>oGq0V zB_zqAy^;V+C1ge+lwE3)&!BD^q^?xTi$+njpU6#VOM1EeNyxyqXwy55=V6YIt>U_( z*he{_TF}^oHscYXrl5XTxl+HX}VVT%-t(?&x*r9Rt~LK>Px%UP}gj@ z5`X)kNsX@Z3I>+f4e`qsemJ4(tmB|0AJiqHucDfHTTam)(Fr$cUp2Ls)CnjZhTV|e zl>%EIzY3>Fx5X}Lks1XNF#QF&QAW_P15#wqQMD3{m?r0YYyulA%|oA`NN$d(+Y z3O82(!N*VQ#{{@S6=ZZdN6@CTD|&c2DWmF|GP!yvMQ(RijN~x!!x`GZ$%vTLFP>P% zo&RGga#-Dc_WU1v`@4tFpXKuZ>>fPk|M-IWKkTF*ajNok$XgMLvUH##TI2~5&hV}q zB3C5ZsFFsbNr|b4WHX@abvwunXiq5#BkXT_UT|vKIrdhahr;bkbdL^`3FhI)X@diW z-BkzF{^a!anX9fokmA~}j{pAikCthYCo_Tb(Hu8=KJX{15K9CPqsQC)SROl8TBOWG z@=vGq%2vcYR&7U=FKNl?@-qz5X!Mf&?(pWHS&(&V-`0b4gm*tSQt#V3O%M4^;V<55 zBdyu)j?Q-uf3w#B2Fm6u-DvlTKI-CpZTPyyu^e~epeQH zQi(0eXo}1Uu4Qwrtr6Aj4C=O{vKPzry3f&xQy~6JBPTL@quIv0fUM493t-A}yGA8n zRt^AlrV146=!*R*9zj*LEn_bWZbAhXU8i9?2FZlD++w~n2ew4k%9WLS((qv9`G`@L z=o5z~L$v6^8rzR8y$%*(Dz!P>ykOscLk1BNPbfp}@Qz>bH4B-78EP7s%-NT}yvhxxhbabb%uC#5l)-|5Ow1#LS+?A!l zv1T!(@@|_pJAcsOkR?~4=khLAuF4~7#*SADj=G_SH?1__B9AqP!97d!7tQ4R#%_`^ z`X==z0*<=!rMPqU#V(})t&GH|!Ve}Tz_sgEs=%EFLw1Hsmt76ElkqQgfThhNF0?d{ zI+Dgg^b!_06sejxtMHBSLYlHhK4JEIA?2a%a+!LHY{iO(k8G*%_kcwXSq(Qy;h6S_W=59GC5q4+ly!w-hw)2e3Gn>4Ia=zK7%1;YXGY`mWrWldP+mUk7LQN8Ry=<6^*`$G^-QRu}2-Q6C?0(1|ynEz#hSM~CdX^{nd zqHND6GJUYZO}sE8i-nQK*AbAT9`-_FUPtT(>|xKuL$e$CGo80Yv3;rs1%A@9TNbk> zO?n!%x-|hWSi~6;0ynk}!c_)RM8 zHds15$a$RK;8fANs$%ZaYC(5@K9{&Zz$@k(@AB-`SzFwThc)1=4^ZLA?<8`lTi*sZ z%p@*ICci%G+q687ouQdlFzpZTka~7x{)b7JrRYMT zr|j6%n2z}f&UrksL`7s6bWl6q-tI1?l+d5Pz^6=wqCM6+a~-8ptK6qsZCJL1U2QBu znyo5Bo2tW^YugK(`&938(#!4?q|1}*{1uTRBAP5Xx<7+9VOdxO3=#$4zt$)a`PZ7F zUigswx__;i0mhW9g%mQV1vK%Tcd{rnTpxqQ5e=cvjVl93E_X={<%m&?r&p)8%&xw7 z=igvaMqQWVqX;?OEp&>^zeIT_?UTPq?j0A6*yuD*ntS-r{6rYPV zTv@3L5t5t^6sR40OSt1P3&8!QQ-IY4zFvh}zzx4R|BOk9a7?&Aw>@KI+D^@pAkmh4 zxa#P`#G|xNbY$vi1qwzggUa~TB{GsQ7eiPWm@7hH7^s4BpA8+I$Hp6&gp?eq+TOQg zBJyfp8b#TDO17cqIo`B9o7s?@p&OqkXv3i{DRww@_D;A!uj~BWDAd&OIC?H9l?D$M zgd-W6O);Le0|kX@(~(_MtuBzIy@CRq(wZfNM?b4AHyThiChEQL4vIoG*W6XBcGLZk zoS$%7BBOW)6rr9k;?4&W&Bx&fFZw|Gv$Q|&%UG(umh}U37mJi3K|0bigs7jaDEu~$ zZ)05NicQ0bnuZ{z_zvYb{4qCFPSO^Mr&h?>=BBhafp(QAjCVTSh`jwHmj_c_XB=Ot z1YLB8BbPK-gfwGWi-b4Jfz=F65*Ks&-le)2Jl{f;39qD-_%nn%uvHcfbu}a1wV1>s zz+^OS6oid)1)%V6nJ!_K$IQG?DS6dOF?gB&TS>sq(65av7e1%d&HcKpeW44;yh9c` zPp2|x65XSM8d;X@2z`UDS*CK#B{s!9fo3s|w~r!q$+c3JsI1*Z%tTz@_q}@v%WCNm z{XXt~s`<>%Yz=YwKT`B9)B$MxiR&5@aXGU2_~9~T8QWSWAU?`*e-b(FGszW%5)Tq9 zEQIbVu!SL+`M{#h3LwsORp{=?+Y^>$zS#=ULcH$sFD#{VRxcK(va*jT< zh=QyKjdg{7VUQp`6tMDrD8>Syf9IZ`LPFBlqW(9nDJ`Y)$DH<~Z4ZG9q4qtOZJXA9 zDq!*~zcJCcOFUMon)BYp)QKXgnEA5hQKE|2t27%Omf=?^AUnIRX!<7ityRLh2w1Uc znln4{J8779nv|J9CvU!$)Aeset5D-xtULEK~O!qiDf+`xGD?|l9-TX1~ z(S3TY7hJIEAcM~tY_Rd5gD(<%@R@@U9Ki_q=@ltwc*Fs}MIeWPJX%1%+K@btELQ@m zZYyE`5Rb9SJP!s|6tFoT^)#u(;+oW`_`V7?4^pfDhwAe!+X=UPQkm+7S6{AC zkobH#w==%-sbEH<{)+ssKU4M8D|Uc&Dew(1Io1PJal;yXrX$xzv(56da?ij~n5OqQ zlwgF4sApR+Kzg^@@_1@454iYsJ)imR+5cn%x_f9a1Zcm!;t8MEPd9 zHY4wT+ROD*KwhIWNie3g-J+@?;c;aHm1%fCtT#-79Wvj=r-FC=MNEPZlrf%{1Q$?` zy6sjjv85Amc?3bFzBoXw7)_V;v9;IksZ_aCg1zbGHn=tT+)mGB&>bz&V;~H!m{2Lm zC|(zF*ThR@^`Csl^!a0EicS0RGGis2xBhAQb9L1b*%YM|el zBQ!_gf=e-EghLr6Qg$+a;$kLhZ54nif9>p?Fpl4!g3Dz$5=)!MfS!2 zc|)yI`eHcl5KGf|7P3o)qqzf=fdZ950ZLeOl?P=Q2&55LoE)nyE;Km$WTBnAS9IM9 zv#kQ^-Cjo{eNnO3A<*+|NtRExeF`YJR?9Zju>LZ4g`65w45#2ViCh%s#24EpjLbC> z5Gdyn39JX4p6LI`Hwv}Dy(FQ|w`1?y^snp|9BWfI9A0>Mo4MQNF*iz~wXQ>9p!3!} z7S{SYuCXW^@J0u1;F3$Fw|d~YH7ptYoY@!k1#g*^9Sc8SW67Oqhl?gcn+Kaj=VNu| zf;~`p?wAbqvODh;+~H6@o$e8Ia7&8`ZOR{eJ+~@b`2yuS4gD%uM59bsg6KJ1Xv>NV zk18$gbM64v?_$-|rPm=pd@UCuI_+^g@RN9>=kHOL1;iwpWY4(khmKu6i(Qm`E-qY- z6?t$J7ki{MJf-y51wIf$dF?w~D-FO=X0+N!p8zM4KJ|gEs zEvgUsXc5z=niYwViKW)EBh$VchLdP6egMr^;eXMX2mcv-xps?R(`ZBn{C$kZ3={6! z-bY!W?RDuO>3#atw7Y^;qcPTj4LMeU%T3Wenpo-`@6Z^S27U>80s|-K;sCxVxfe|f zLi?wI{7kNs296s6-<0(Ifp?4YaBYMZjcy2ml4x?BX#%9Y*z~W4jb|2QK-(M;;eek; ztc=z9#^a%}`9nhs*4L;L$-IF9=JGiig{MouKAGD6gSjQ1)V?;ir(~D8j6Ce1EEvP z`3(8tai54$m4ZO2@}(Npj3D<4`aFU;yZaaJ6ucBx`mY*0+qw)kwPb=#IeRjfK4u_h z_Z^gI`%PZOs9MO9VBfV|d!je#H69He{kR9g)Yxwp-zMEExzD8qYDe#nc?B#bM&K|o z(8HJjnTJ}i2kxO)igPqAF=oh6J`HfsrfopQSP#+rYAn7obm*sX|0+P3t-YqVi9ACg&nq&UKsMB88VcCGSlN(ymZu+iUe*tSX0 zcP7bNFSwQLPhr-O5qI_q<7I`dyELn-Cbi^#YU2Fyma+GMq9pV7W8i0E zCjRD0IZT~#S_|g5+q?G)q1!-t8{Z%!v1(Ub-IFH#$!Wv=XvCMM6^^L*jS-4QwWg~w z-1pcZb_7$trHYlUDRKa6R0nk50aqOCg9f^hLEd+OYjb85XXV~A^5EIH?@XX@bC0vn z$#fRD*xm!PY*ydu;%We^h2jmc(YCh2R#Q9}<2I3x#hl7~;MCfu;-Bmktaj>s?o)1a zr<%E5z}2`;H_FIbozkpDUDklT7F<&7en(=vTfe309!xaNYdkbfY6Ue!F6gcx0gd4< zqI;H`R%2zngSL~rr@m#zeNBOfBG5}iL}@EU2w^n2PFcv<2fH9y0a9k?VOh_~fEFi| zDQ52NiJ%P@78fp3OlbT*3bDz#^L|=p#^Mnph5g#RNs<|Z)eNGY$bR~GoSX2jGX=sl4!jR-??ZRrFjS5Ev^zRpw_6yS(sf4j^tvB<>ZWvP5za0=TR+&g zqAIX@9Fa#@SsPN%G)3L0OIJ`m%zK}^a)l*V;BUJ(J!c{Xyt3T;!P~EX(@NyJg&-L@ zo`$ZXGEzPVqhI(62mPBp==>cstb1JylK+i@4jlOlp{H5_#PO~+(J)Khr#*b>;2m_x zWCv29-2BxID(wqci*ML%TbLq;ygjt=zV1zHugCow@%=Pr`L!^)9R7~=%Z;JObWxY^ zYq~2`{#nC3?1|2s6M&Y119%8sc%jW^iSS`e`P!`%%-j#2j@l(!s?v%4?hl+uXd9>u z-gpgz39C$Gc#nxxtvIZEw4Y3Lmr%5&RqeX+Qugy;WV#9Q(4FqW+7;Q1(m_S-m2}Y% z)gq#&Q5AZs*JCzQ3R_S&RY7+x(sFY<=ADA>VOuTw@>@?;!hTB%gg>A=zo88?vS8gt z^Estdj>&Cd*ZGz*t2pxPKu2Uv7yYBIKp_YI$g0?XMw{Rf{P2m7Nm;_nx?0Izqkv%P zfL<8mDL`9m$U1=13eh;91E;7XsMoIC697zs4i;QfT%EG1;Iv?Uv`Kh@| zyIQ0pflAn|SOFTfyGke_EP>qp>b;L@WVDL?)w#^sNEPRedzL%=t-tu_5 z2y&7f3R{*#r27g{eyG^Ah#u2DWB5A9VeoXL^cD{997o(w>=JvuLMA~L%aviGE_=D( z%Zb6MQ0!tsN4P3ZjCI~S7#b<5NJfQnPhw>ho0^{b`LtIgeo7!BA0)0xQNlcY*A+F2 zf(xxuVyL`})E(5^(-+j)Blot=WM%fQ!CxMTQcw9{I^Kx*Xq#oncYp!K6%{+{`;oaW{o`SDNP-p-cKcsCL3z@`RZoXrm|*dM?A4OG=`h$Au*NZV5-1aMY!kL|lnS8V5>i!LO>vESD&46eR-rST7JfIKQxM zG7Q`K$HX#hfBN*P+THauoK;29|Yn= zbsYi>q5C|eBz$AYEQx;p$f7U%J$X*$Ni0u9TaW`n(o4~37nK0+3=ZlF5dugx3n-x~ z&Vs>Y`K|&|rdrgd(AxIKlr*(IHT4GVZH#BS2D9PNbepTjO)~tC_RcoVv_4?|guKCK z*XDABDON`f4K7sZ6==~Iv$@yIjlyM6_#NQtU?aE2x^8!eTBJFKh`)-F#-I;^ z&Dc@(69y!bc(4ci=FfuyHoI^0*+9UG{Ykogoyq>_W}o`GOd)2?O5kE{Xo=AX`T-bDFa##eU9^iOQ#~)VEQ&`4`eIN{${03kLcSO*@!VB5i@9@# zOzVl^>%T99DZeK>cUsc*P}rVw+Tf>bx99-vtxTI0;&I4(jQ$Ow2Db=m!Fh*MC-w9= zaRhZwPTqdQ9W*Ik<6eEy5kL3vCtY`>z5YRat&2C&;ZGUZfl#|F`ln{BX}9pswUSISiFL%UW&% z{D5~Xb)!7!h0)xy#rC;l~af=`89#?13ABR_F>~~?)ch%9U z5=tp)EJs2ViQzl>1M!|K#WPY3mu9hHF0*6>>Y)F(=0r=stuySG1Wi*xLP-tLM^1<} z+~H6Pb<#YA33aqgE4tvy^UT26*5aj1J49o;sxv;uhq?i`U+CoM~HvOx75{=H9tvOr-Yv0uh)cNkk zA!`+$HDjCr^kk!C@iKcn;o3D_+i@KNH>Bk+xs3oT4S!2VcUtRpC)b{-mqoSqAZw{jejKc$X!^SCeBGO&o%H;Yo;4ywQN@3a@WtFYQoz; z#oIj%*MGsuo5>w$7`ie+>jI3a=SXI0Dif^o-BP83);kgsYIW5%UQS-~zEi#NlW;K& zMq$17E9UZof8j5N&e!;z=7x}_Ri;N}wHvj(PD1ONODADZWeqz}$0lniVATBI;>ZF5 zuNt*{UQ}8cBMRdlE7MwYWm>CNM(f?5ZDq8sxmL!WO83ebK&+KB=xf!NkgmGS$+g=$ii1v-7t{Z%+Q__?+h_)bsY- z*%O)KCD;zwFDR!CV?V}m$QFo>97lYDxo5*g<{i@?ED)rgeL}E)jzc*0;yYVWk^~W) zXrXT2ju+1lU6jpig&)+#Ag>ihlhvs7e4l1`o4E?cyNu}S2!Gsw!m?tx2Ri*-Xh8voe)M1 zqPGw&TA~YKM2nK>y(H0s5u!ymT8Pddx*^P9v?O{DMw>bIIrr{w-}{~OedlpKt;e-q ze*XZ>ZzRI`;1xAi5%WI^Uz~F0SVlrC#2d#CW!T2;aVj<4IBlq6fLp#&*ppf;N!vKp zY2``S=_`Mnu-Dm(Yo*I|&n%*{0M~0-8ks`1OK|GAi7}TqB%uC|EnSWRvi0$p6TmwJ zJ#Hb@e_+*GWq=+-^|Tq!`K3A17PxQthQ>SFy8|da=G(^VAE404Y<1*`Pb^d7E|C9F z3Z0h3DFWNR=Nh~pu9q96)YEnrus#33hF>(kp~r$o@8djHo#CQ}46NQ_(1cbm@=kVb zN9S9EkwFY4MSPZGTbD^J9_Xasi|pYfJPKC2f}Cu~kI`9<00HkKFw5lb^QfXxf*ove zTZ@&t;zcvVD8C}sFIzV+x$<*CjyUFL=`7?jhqL>YN?hKV0}7krADryryOPr5=%_FWGpO=*KiQP+=#YV$5CMHPVg74R&tGO{tVr zLljvg6PsZJL97yxOdfhhfD5F@%00c}RE+Afzd;qoN(ZNP3(m)~myQvy_aww3*# z<)Ln9xrSfp%I7&nr&iBuY89sIh4zYQn9ftUYE%eoVm=PdVYCxb07z%H$a*dT@ zrH>xCS~U&*S^Jg4lyA|Ty|J|z&$jpTeXbH98LUNvut|QgUHexg5Y4@*KN2ezcyD%D z)CP=ezW{1$zM*V_@03G3pi<=D_saLL6UnpR=yeP_TIW7}?~jq4?%|+g*49nt7u>$E zIjQ<-1Luj5vjNCk;r;xyx*NZ!=KA;s_q}M9DK1Ev2EvXP>R5}!;W|HfjAhHx94Gi& z`)Dddh%}7dEIYkq}<1&$9*hbA@^wHaKmclf{lrj0*Q5qA7LkV2(lLw48^znCgyKZ#8?L*9eiBxcJwF3Lq-fJM*5m8=f^U|>agM|HnD z_PVGeyt6N0nOfzS*xUhP+NdZ2@s)Hm7}L=4=&nh%AB()Af;;*#1%hBk8TliO{W@q1m^C-+uzr?i#<34f;m5`xO%a{uNP8ww zE_Vh5qPVWWQw7$QbFAeX$Dh|;ausE3?uGp&ep3KD>hzG>12#;ui^Qy?(ZS!u?||hS zAvP}#gIB(nPl$$Hf3?zRcsr!qrRk96z~JhiH}ct^5Z_TGGGi#*Ru_j79O#NAcV|h< za;0c8Z{h8_{|SEU=C_>^urJHJwm10|+ zVYfD?a1o=74o_wiNEIRSquWXwOaEH;<4TKpJ(>HHXd!yPy`(tmh=TvQEK#9e(jXHW9P5sf$tOwx9QSjR2F%?yrx9s+OL;NM zmH(skk*#N04=m9ri@0Nxl5E0AV3lT|zMN9}crZI_Za36VdO#p0?f64p5u3SKT&*EsFUXw`P z>q`q#fmX_bfK)fd>5Emt=tleD)-Z8_p4)sOs2UL8t#u zd7mafH?8&c2vTS|78Qln9p?>l0N--jLK$21ho|rT(A`c%TzTDL! zo=XfzI!FojFyj4}zBg+{OvFq1c)H5|xRJw^BP#Trjo&z&${8hfRnaE2UsjnUOB2M$&^H1;7 zVLam13JRg?(RjeoDHxFb*4$%EV^&@(G}7Fbfx^n&omyl`9vZSoFpL;l+yX7JP=ovn zTXSif%c&Sd`4csUUAZiJw|Y(5s$VWWKmcHA*>^?A+rMiIooCKLR-|caebq^_SYvD} zeT=6sbB+!Uk??N4NWRqq@EhJpn}i>xG4bX>6o0|qm(+Z|E!u&gKh)&TRK?}heF8Nt znigJn^Iw4SQ3ESJH048t-H`Fs8N<||n`+O;jZy*z`tbRh$k~8j!J;Y!8sf#)aw8*8 ziJ>dY5?S$!tclDc*hB{9wnRH1gf`Nb8Q(_pDVg!z!$%5v^;WgTt6JYam4~#{mY_JI zieezyGJ*}r)p?syFJQ?c^WdlcKVfe`gNH!1->CS1guPw5gJtl(oPqAcUct=lFPIF` zf6sY~K`rGm*uFF3PN%B?>S&SvA1lTTCw!5;VExR8E%kRX8CuHWbOLpb0e0JV5yE|v zpJcSYMBCq6CsC+d_VHBFwvPw8qlr7mEY8+fs)q2p3M;ll9{U%_!mvSS|#@C~qeQw#RSD16PHJinzA=a7qFUGrOFSzj zlG=?NCiukR1oA_Vo5G30-A+2U^mV2OAb6p~QkFv1wWX>o5GaVT5MN2%fQ?VVoqVqLsDUanc7 zTUXXHQF>cIHjj9LO=7^;7sH+>oYeZ%~uF7%v?bYfXg7EDlX3 zI;eJ+MNp;F$Jg(kwePp{+EnJ%O{2nf?O8W^$Sm6)DNA8hmDG`f3iB3xlBmMmv_^qp z;3|+FROXbCcZ;oM)Q7RYyw`Cy9)CEqKSajT=eH0kOJ*G?Zd~=M;viQ;*<`@QLvKu< zcvDAip5{brSf|x&fl^^Nk@myK67YJ>=PyY?exYgP=sZ=)zJCH;liPCNGEH}sJ=+md z91kFSG~eBj^8pbj-2*wdiIclm%qRmcHW3B(Wuue25>zle#!L(C?~cChW@rPWd`JU7 zLAKS$iR;7ceRfITs*0|i;mi%PpvH6xY{fI17O?Zd{+9Qhhl+ zX_oj|^earU(ZM!f~ZDKcOb>+EHv8h$QAVGHL9a(JC^QyF{kX>$I}y4T=O z7D1M)<+0A%s7WOl-qf8OLv$UNSngwd2`G^Fmqhh!;J_F^51kjjKtyQaXLhzC+^cJ$ zm~HcObY+jt#o;2dKhD2F`Ti|k*AKZ@{qC@_+an-J1KWjSm%xwTYT0_u<$~+|#u`jr z6B-v!pFmt9Ehm(>@90p^{U4g^%M0IHx`$m~-B~}*9AFY?3aiFI7Z)Sc?qj#lyN`PZ zFi_FMK;NSy%Nbq6-F zf7OjTQ*|7u%?pvA{vT8sgw zVD}mpr=Wn?y7oH8#av$gGlXT08yLm4;OuddfnE@4qzkL?84ecWeiO`6ydSV|Q`bTe z882xXF9p}XCwhzZzO84(G#x_EuEoMYog=kvd7ZD zK|ftC0;||}zm*7WSuJ@;`F$hhy#{-M1978WV)V-^&YS<@^+HJaN`?1f&^R5vpIc<- zYB_PeNt<~*4`67|ejwD)P~Vze{e@m$jy)?)ZRSveiPd|o)*n;?y+);GS%gEtxl&Ut zF`GS8twOQ!o%ENjJ`Vj!87K$;hW)E5E#M$vS%nrdA#F240&9b~c^QD7IWBlaR}mfG zM^0(wI4vjD!)DCprXZr7C~}h=qf_n-DcJ&JwH%}3bau~OmKgV047$u{G}g(~!c&dD zzh6SKIih1iz|ZZeQN_c^!UZLidvSJ|BGOIah%*H`Fut~ac#H|WQV8Wx`rEjGJH9Cq Mra}RDEdacK0Aj|gyZ`_I literal 0 HcmV?d00001

    iRIxwG*KTqg?iyIFIbQt>;Q#dm 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