From 1f612a968ca4def28178f01c0579d5097f48e91b Mon Sep 17 00:00:00 2001 From: Si11ium Date: Tue, 3 Mar 2020 15:10:17 +0100 Subject: [PATCH] Train Active --- datasets/trajectory_dataset.py | 30 +++++---- .../homotopy_classification/cnn_based.py | 18 ++---- lib/modules/blocks.py | 2 +- lib/modules/utils.py | 22 +------ lib/objects/map.py | 60 ++++++++++++------ lib/objects/trajectory.py | 24 ++++--- main.py | 44 ++++++------- res/maps/doom.bmp | Bin 198358 -> 0 bytes res/maps/oet.bmp | Bin 253750 -> 0 bytes res/maps/priz.bmp | Bin 202678 -> 0 bytes res/maps/tate.bmp | Bin 104958 -> 0 bytes res/maps/tate_sw.bmp | Bin 68070 -> 3842 bytes res/maps/tum.bmp | Bin 132550 -> 0 bytes 13 files changed, 102 insertions(+), 98 deletions(-) delete mode 100644 res/maps/doom.bmp delete mode 100644 res/maps/oet.bmp delete mode 100644 res/maps/priz.bmp delete mode 100644 res/maps/tate.bmp delete mode 100644 res/maps/tum.bmp diff --git a/datasets/trajectory_dataset.py b/datasets/trajectory_dataset.py index 4dcd4b3..de019d2 100644 --- a/datasets/trajectory_dataset.py +++ b/datasets/trajectory_dataset.py @@ -7,7 +7,7 @@ from random import choice from torch.utils.data import ConcatDataset, Dataset from lib.objects.map import Map -from lib.preprocessing.generator import Generator +from PIL import Image class TrajDataset(Dataset): @@ -17,14 +17,14 @@ class TrajDataset(Dataset): return self.map.as_array.shape def __init__(self, *args, maps_root: Union[Path, str] = '', mapname='tate_sw', - length=100000, all_in_map=True, **kwargs): + length=100000, all_in_map=True, embedding_size=None, **kwargs): super(TrajDataset, self).__init__() self.all_in_map = all_in_map self.mapname = mapname if mapname.endswith('.bmp') else f'{mapname}.bmp' self.maps_root = maps_root self._len = length - self.map = Map(self.mapname).from_image(self.maps_root / self.mapname) + self.map = Map(self.mapname).from_image(self.maps_root / self.mapname, embedding_size=embedding_size) def __len__(self): return self._len @@ -35,15 +35,14 @@ class TrajDataset(Dataset): label = choice([0, 1]) if self.all_in_map: blank_trajectory_space = torch.zeros(self.map.shape) - blank_trajectory_space[trajectory.vertices] = 1 - blank_alternative_space = torch.zeros(self.map.shape) - blank_alternative_space[trajectory.np_vertices] = 1 + for index in trajectory.vertices: + blank_trajectory_space[index] = 1 + blank_alternative_space[index] = 1 - map_array = torch.as_tensor(self.map.as_array) + map_array = torch.as_tensor(self.map.as_array).float() label = self.map.are_homotopic(trajectory, alternative) - - return torch.cat((map_array, blank_trajectory_space, blank_alternative_space)), label + return torch.cat((map_array, blank_trajectory_space, blank_alternative_space)), int(label) else: return trajectory.vertices, alternative.vertices, label, self.mapname @@ -56,7 +55,10 @@ class TrajData(object): @property def map_shapes_max(self): shapes = self.map_shapes - return list(map(max, zip(*shapes))) + shape_list = list(map(max, zip(*shapes))) + if self.all_in_map: + shape_list[0] += 2 + return shape_list @property def name(self): @@ -72,8 +74,12 @@ class TrajData(object): def _load_datasets(self): map_files = list(self.maps_root.glob('*.bmp')) equal_split = int(self.length // len(map_files)) - return ConcatDataset([TrajDataset(maps_root=self.maps_root, mapname=map_image.name, length=equal_split, - all_in_map=self.all_in_map) for map_image in map_files]) + + # find max image size among available maps: + max_map_size = (1, ) + tuple(reversed(tuple(map(max, *[Image.open(map_file).size for map_file in map_files])))) + return ConcatDataset([TrajDataset(maps_root=self.maps_root, mapname=map_file.name, length=equal_split, + all_in_map=self.all_in_map, embedding_size=max_map_size) + for map_file in map_files]) @property def train_dataset(self): diff --git a/lib/models/homotopy_classification/cnn_based.py b/lib/models/homotopy_classification/cnn_based.py index f9b00d1..201892d 100644 --- a/lib/models/homotopy_classification/cnn_based.py +++ b/lib/models/homotopy_classification/cnn_based.py @@ -18,21 +18,12 @@ class ConvHomDetector(LightningBaseModule): def configure_optimizers(self): return Adam(self.parameters(), lr=self.hparams.lr) - def validation_step(self, *args, **kwargs): - pass - - def validation_end(self, outputs): - pass - def training_step(self, batch_xy, batch_nb, *args, **kwargs): batch_x, batch_y = batch_xy pred_y = self(batch_x) - loss = F.binary_cross_entropy(pred_y, batch_y) + loss = F.binary_cross_entropy(pred_y, batch_y.float()) return {'loss': loss, 'log': dict(loss=loss)} - def test_step(self, *args, **kwargs): - pass - def __init__(self, *params): super(ConvHomDetector, self).__init__(*params) @@ -75,8 +66,9 @@ class ConvHomDetector(LightningBaseModule): # self.linear = nn.Linear(reduce(mul, self.flatten.shape), self.hparams.model_param.classes * 10) - self.classifier = nn.Linear(self.hparams.model_param.classes * 10, self.hparams.model_param.classes) - self.softmax = nn.Softmax() + # Comments on Multi Class labels + self.classifier = nn.Linear(self.hparams.model_param.classes * 10, 1) # self.hparams.model_param.classes) + self.out_activation = nn.Sigmoid() # nn.Softmax def forward(self, x): tensor = self.map_conv_0(x) @@ -88,5 +80,5 @@ class ConvHomDetector(LightningBaseModule): tensor = self.flatten(tensor) tensor = self.linear(tensor) tensor = self.classifier(tensor) - tensor = self.softmax(tensor) + tensor = self.out_activation(tensor) return tensor diff --git a/lib/modules/blocks.py b/lib/modules/blocks.py index 4d6b08a..f2baad6 100644 --- a/lib/modules/blocks.py +++ b/lib/modules/blocks.py @@ -106,7 +106,7 @@ class ResidualModule(nn.Module): self.in_shape = in_shape module_paramters.update(in_shape=in_shape) self.activation = activation() if activation else lambda x: x - self.residual_block = [module_class(**module_paramters) for _ in range(n)] + self.residual_block = nn.ModuleList([module_class(**module_paramters) for _ in range(n)]) assert self.in_shape == self.shape, f'The in_shape: {self.in_shape} - must match the out_shape: {self.shape}.' def forward(self, x): diff --git a/lib/modules/utils.py b/lib/modules/utils.py index 80c3af2..34d2caf 100644 --- a/lib/modules/utils.py +++ b/lib/modules/utils.py @@ -133,12 +133,6 @@ class LightningBaseModule(pl.LightningModule, ABC): def forward(self, *args, **kwargs): raise NotImplementedError - def validation_step(self, *args, **kwargs): - raise NotImplementedError - - def validation_end(self, outputs): - raise NotImplementedError - def training_step(self, batch_xy, batch_nb, *args, **kwargs): raise NotImplementedError @@ -146,21 +140,7 @@ class LightningBaseModule(pl.LightningModule, ABC): raise NotImplementedError def test_end(self, outputs): - from sklearn.metrics import roc_auc_score - - y_scores, y_true = [], [] - for output in outputs: - y_scores.append(output['y_pred']) - y_true.append(output['y_true']) - - y_true = torch.cat(y_true, dim=0) - # FIXME: What did this do do i need it? - # y_true = (y_true != V.HOMOTOPIC).long() - y_scores = torch.cat(y_scores, dim=0) - - roc_auc_scores = roc_auc_score(y_true.cpu().numpy(), y_scores.cpu().numpy()) - print(f'AUC Score: {roc_auc_scores}') - return {'roc_auc_scores': roc_auc_scores} + raise NotImplementedError def init_weights(self): def _weight_init(m): diff --git a/lib/objects/map.py b/lib/objects/map.py index 8f8a43e..6734c51 100644 --- a/lib/objects/map.py +++ b/lib/objects/map.py @@ -29,11 +29,11 @@ class Map(object): @property def width(self): - return self.shape[0] + return self.shape[-2] @property def height(self): - return self.shape[1] + return self.shape[-1] @property def as_graph(self): @@ -43,6 +43,10 @@ class Map(object): def as_array(self): return self.map_array + @property + def as_2d_array(self): + return self.map_array[1:] + def __init__(self, name='', array_like_map_representation=None): if array_like_map_representation is not None: if array_like_map_representation.ndim == 2: @@ -72,22 +76,26 @@ class Map(object): # Differentiate between 8 and 4 neighbors if not full_neighbors and n >= 2: break - # ToDO: make this explicite and less ugly query_node = idx[:1] + (idx[1] + ydif,) + (idx[2] + xdif,) if graph.has_node(query_node): graph.add_edge(idx, query_node, weight=weight) - return graph @classmethod - def from_image(cls, imagepath: Path): + def from_image(cls, imagepath: Path, embedding_size=None): with Image.open(imagepath) as image: # Turn the image to single Channel Greyscale if image.mode != 'L': image = image.convert('L') map_array = np.expand_dims(np.array(image), axis=0) - return cls(name=imagepath.name, array_like_map_representation=map_array) + if embedding_size: + assert isinstance(embedding_size, tuple), f'embedding_size was of type: {type(embedding_size)}' + embedding = np.zeros(embedding_size) + embedding[:map_array.shape[0], :map_array.shape[1], :map_array.shape[2]] = map_array + map_array = embedding + + return cls(name=imagepath.name, array_like_map_representation=map_array) def simple_trajectory_between(self, start, dest): vertices = list(nx.shortest_path(self._G, start, dest)) @@ -105,36 +113,46 @@ class Map(object): return Trajectory(coords) def get_random_trajectory(self): - start = self.get_valid_position() - dest = self.get_valid_position() - return self.simple_trajectory_between(start, dest) + simple_trajectory = None + while simple_trajectory is None: + try: + start = self.get_valid_position() + dest = self.get_valid_position() + simple_trajectory = self.simple_trajectory_between(start, dest) + except nx.exception.NetworkXNoPath: + pass + return simple_trajectory def generate_alternative(self, trajectory, mode='one_patching'): start, dest = trajectory.endpoints - if mode == 'one_patching': - patch = self.get_valid_position() - alternative = self.get_trajectory_from_vertices(start, patch, dest) - else: - raise RuntimeError(f'mode checking went wrong...') - + alternative = None + while alternative is None: + try: + if mode == 'one_patching': + patch = self.get_valid_position() + alternative = self.get_trajectory_from_vertices(start, patch, dest) + else: + raise RuntimeError(f'mode checking went wrong...') + except nx.exception.NetworkXNoPath: + pass return alternative def are_homotopic(self, trajectory, other_trajectory): if not all(isinstance(x, Trajectory) for x in [trajectory, other_trajectory]): raise TypeError - polyline = trajectory.vertices.copy() - polyline.extend(reversed(other_trajectory.vertices)) + polyline = trajectory.xy_vertices + polyline.extend(reversed(other_trajectory.xy_vertices)) img = Image.new('L', (self.height, self.width), 0) draw = ImageDraw.Draw(img) draw.polygon(polyline, outline=255, fill=255) - a = (np.array(img) * np.where(self.map_array == self.white, 0, 1)).sum() + a = (np.asarray(img) * np.where(self.as_2d_array == self.white, 0, 1)).sum() - if a >= 1: - return False + if a: + return False # Non-Homotoph else: - return True + return True # Homotoph def draw(self): fig, ax = plt.gcf(), plt.gca() diff --git a/lib/objects/trajectory.py b/lib/objects/trajectory.py index bb47296..f0cfb1b 100644 --- a/lib/objects/trajectory.py +++ b/lib/objects/trajectory.py @@ -8,43 +8,51 @@ import numpy as np class Trajectory(object): + @property + def vertices(self): + return self._vertices + + @property + def xy_vertices(self): + return [(x,y) for _, x,y in self._vertices] + @property def endpoints(self): return self.start, self.dest @property def start(self): - return self.vertices[0] + return self._vertices[0] @property def dest(self): - return self.vertices[-1] + return self._vertices[-1] @property def xs(self): - return [x[1] for x in self.vertices] + return [x[1] for x in self._vertices] @property def ys(self): - return [x[0] for x in self.vertices] + return [x[0] for x in self._vertices] @property def as_paired_list(self): - return list(zip(self.vertices[:-1], self.vertices[1:])) + return list(zip(self._vertices[:-1], self._vertices[1:])) @property def np_vertices(self): - return [np.array(vertice) for vertice in self.vertices] + return [np.array(vertice) for vertice in self._vertices] def __init__(self, vertices: Union[List[Tuple[int]], None] = None): assert any((isinstance(vertices, list), vertices is None)) if vertices is not None: - self.vertices = vertices + self._vertices = vertices pass def is_equal_to(self, other_trajectory): # ToDo: do further equality Checks here - return self.vertices == other_trajectory.vertices + return self._vertices == other_trajectory.vertices def draw(self, highlights=True, label=None, **kwargs): if label is not None: diff --git a/main.py b/main.py index cddc2ef..d64b765 100644 --- a/main.py +++ b/main.py @@ -31,7 +31,7 @@ main_arg_parser.add_argument("--main_eval", type=strtobool, default=False, help= main_arg_parser.add_argument("--main_seed", type=int, default=69, help="") # Data Parameters -main_arg_parser.add_argument("--data_worker", type=int, default=10, help="") +main_arg_parser.add_argument("--data_worker", type=int, default=0, help="") main_arg_parser.add_argument("--data_batchsize", type=int, default=100, help="") main_arg_parser.add_argument("--data_root", type=str, default='/data/', help="") main_arg_parser.add_argument("--data_map_root", type=str, default='/res/maps', help="") @@ -76,29 +76,29 @@ checkpoint_callback = ModelCheckpoint( period=1 ) -# Model -# ============================================================================= -# Init -model: LightningBaseModule = config.model_class(config.model_paramters) -model.init_weights() - -# Trainer -# ============================================================================= -trainer = Trainer(max_nb_epochs=config.train.epochs, - show_progress_bar=True, - weights_save_path=logger.log_dir, - gpus=[0] if torch.cuda.is_available() else None, - row_log_interval=model.data_len // 40, # TODO: Better Value / Setting - log_save_interval=model.data_len // 10, # TODO: Better Value / Setting - checkpoint_callback=checkpoint_callback, - logger=logger, - fast_dev_run=config.get('main', 'debug'), - early_stop_callback=None - ) if __name__ == "__main__": - # Check Cuda availability - print(f'Cuda is {"" if torch.cuda.is_available() else "not"} available!!!') + + # Model + # ============================================================================= + # Init + model: LightningBaseModule = config.model_class(config.model_paramters) + model.init_weights() + + # Trainer + # ============================================================================= + trainer = Trainer(max_nb_epochs=config.train.epochs, + show_progress_bar=True, + weights_save_path=logger.log_dir, + gpus=[0] if torch.cuda.is_available() else None, + row_log_interval=model.data_len // 40, # TODO: Better Value / Setting + log_save_interval=model.data_len // 10, # TODO: Better Value / Setting + checkpoint_callback=checkpoint_callback, + logger=logger, + fast_dev_run=config.get('main', 'debug'), + early_stop_callback=None + ) + # Train it trainer.fit(model) diff --git a/res/maps/doom.bmp b/res/maps/doom.bmp deleted file mode 100644 index bfbbb542b43eef445e83d78177d71c3a526ffe2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198358 zcmeHvJ$58Jvs^zt9UVE^15K?!HjjMmflKLq$f2R5b+oMoNRA9H;rTMIPzB@wo*-|KVS6%a8x^?{ByNoc5o8x!wMITK{tUk1PKD z@Ba1nfBw^LT`RyJ?zda|-|c?STl$#7+vD-LJ^t_G_HX~|f8K5%pJ{!il?or)Xg3qtC?rD9e^+@aIcKf=e^^w+RS}FOur}drIBdwp(_ap6}X?>-2PwP9a zM_NC(TMBRAA8CE2^_A8=t?#rRY5k-jZ)ts`^_kXJTKBZR(|V-!lP=+w)<;^OX?>-2 zPwP9aM_NC(&s!Sv_L0`|&sSRaw7%1Nr1g`J_VJPS&$PbMx~KJ>)+4Q-eC*GUw11}c zmDWA2@3bCi{p2h8`bhg{T3>11)A~;9k=9SXuKP#YKhye3>z>wkT934T@>PC+r2R9k zue9!IeW&$E>nC6H<0I{#X?>-2PwP9aM_NDY6MX)Br2R9kue9!IeW&$E>*sb)=fB@R z(ppabmDcjlcUq6Mes1@VTUsA!eWvx5);+E7v>s{wVhoz^3*pZuxt{gL+1w7$~1r}drIBdwqO zY4Z3;`)68TY2DNMPV14@&-y8J|M^J!XIfur-P8I`>yg&a?UBy^xP7GcnbucY_q4v# zTK@UTpIRRuY5z>?E3JE4-)TM4`pKVmpC4)eOzSJHds^RVJ<|HgpORl6Y5z>?E3JE4 z-)TM4`pKWJ_m8xHruCK9J+1Gw9%=pLPv!5Aw11}cmDWA2@3bCi{p3&c$4A;f)A~y5 zp4Rv6-~Qh}xBroN_vClG{j>h>_Rl{{lves@ftC-~kLw1m8@O)Zx`FEkhHoJK%CYN3tBUhjMUH*B5Ydf(RVoW5p$HeP-!xBQTk<-7$5_ln-^ z2F&AK@B3yiv~Qg2efQnpyQ{DFefJmIH{bQX`|j`E)z|yJ`wQ)x?|R>T_xJAV>wVw- zh4#&Nz3;yJdw2EqzVH4*`{pa}+xpWf^C@6}eIs1zC*HvIzE8Z|H?Y3m_YEH5i6gwh z`_c&G`xEcuw^`Gr%DDhVjp%zYPS{pOK<6Z{S8 z`8yTGazBy{MAd~3@OzZX?@GKI=v`r}zWBB3SgZSEbwgeoUYT#jaJyTHPM28}i!l%A6b6aH}j?>^K<+>h=SI9;G(CGUo<*SJ zicU?q-uKkc*B$^mddf!t&Uw8QHeY;n5YQputr+&Wf z@Ynlxujtf->wQoCeBI%%_w8QMsR`Hnp8EN^!(Z>)y`obSuJ=9l^L2;+i{5wgsNJh; z5SCVrvMo&utc8zE9{L1y|D5{&7B+T>$Y%gw8w~K6GA&?bFBm)PnOM<@XU`D%jNnVJ z5gu{Y*(f=5pFQ>a^P}sTojmdxz^9*US}-s~rp%uD{rS<+XD5$*2Jq?UnidQUktwsM zet&*+^x4THp8-6#8Xyv76;N{MK6~o-=SSBwJ9*?Yfag{NM53$$N)Fv;PyPP<=z69n zkBs_wZk7H+4t;87tb$SU6mR;}Z!d_BKRtM4)WxSe6+zc{17Yhd@2iV0VavqDt8@QQ z-qNVjL?@WQE5DN^6URiVb5f+_ybw#V&Wr-ekQ%!B5AYN!Y*sOifa9ss>BB04J*XY&>qi>Rh%fLghfTR&>{rmSWE?zK$^77-jz3e9LyMFdkbK&@QLtsgae zQ`WM7_u8fdD^YzuRcM8aD5{&90czz^ZvCj)o3fVuyVo`ySc|Fy>Ov!4G(mZ_t7|cN z;jMzkhuUjX)^LCO(xwAfB7MZF5GSj|FE>gJfu13VeRUHJoK6Kd4>(lR#~l)suQ{K) zy7?s^)$N#9BJ)p!<3$ zKDSY72u5z%m$%Rn*FV8&&HTh#I_jW%z7&rfS3LHD4PS6%5aYwvFDAwlKeduhIq0A7 z!z0HPkG){ScN-bR_^|bhiSfiwt)x>9`j`7~*ty~qLTLDILx-?1Z2e+lIPh}|>6C*F z%6(Y2TWI?hNq@85dPv{%&oFv(KdGJ$JLpW;f^-KbD70omFTiH~yyy6*>ix-|!bryj z-`)iPefrnZo_|%xW|Rww5Za~kUJ=dr;yqmgbnIOV(69IHU0AN;wY@06-goSIcC%je zp4jGk-`y`aW`Gy}qWpT_vFF*%deM7go9lgdzucGsUi^#l>wU+bXE*Cb?}=@$_uc(+ zV+MHfFUqg?9ebYLtQWl}wt4gS?O&^NpuXr2FmTQn<=6YZ=&fJ$p4jGk-|Kzr8*n~D zYC@D1VN~9TZysl3zpXNy^F?_Y7drJ00QBen`Ezd=GyV8Ded|LRcx^Ar(;1*s?^Hk^ zztAG=`A^n2k2Be4FCFK6QJ%(zPQ8Nw{d(Wth2=V4+l%t+eaD{XrK|(qUd;<`s^W$~ zKjQ0m;xF8pkv5NGoZbh(GtKAvETGmUF9!O~_pRK#c0H^zNJ)=>hB}^UKG&xNwJv!v z(8n*d2$d&VZFwE^Q1+({@l4Zsb#hQwH75c3=J!RPk~ie$3I;i4mdx5&w%UMn$r>h+U$?oAa8m=5iOv6{uB;4 zf1sX$)K_mwb7a8Q1Sk&jmIc(%0m|o3;ehi8Y8pUsC~b`}WU%LZwpQ~~*5JnG&(Jb} z+F;t4Va%anfF(4<`ss5x;QVj(_I{*iqKTd5>^fkCG3r5jq3q|J=2Vw(@B1eXB8URl+l{ZdV z`($E`ZO#0q%B>I-!lAFVC<{tp87D#TAd`7~%E~CyDriUIHPv=h*BHfA>+D3Qy+eQ7 zGR?nv4^O5YGf5-+VyCGxl&S(blxiztdI?(GH?H9^HssOilvSoEV0UPnDoZIUP=!*D zBSl}snEB2XJjJFwIG}hHf&lv?+fzJsO;8LD0#{MR@sf(25|8ul7@lEs?jDrfxJbYeJDYOAu8gb!!w}Rgn*sfd?~6y+k=y&> zuN*0%KUc6IIZ*^D5f#)<90jG2P`lSW%#e@u_s{VJyK?8a*-sU)ft0X9dCZUsM@7VW z4#>*cfmx@>ud8Rs@C3VZ=fK5JD%c>d5Hn^-g(K51SIEoRS=wc0G4M_5wAc(8^J!pn zYftEOFEpv3F0K$WW=Mr2(=S)Z%imd@0-vE!P4;3%-5q-VbJ*??w1LyQl%=BiOB`2- z88f89Q4w)Y0hvWR@vircZYbe=NfH#c0oWz35G7_vg(K6iRLHEcXJ&(tOWZ05x&{-3 zpv43{(X3B(`WBH?&?T-AGiFGIBh#-`$gHtvW`mGR+$spV1`~v!#RNRjtWS0N7LioY zC9V)NW=Mr2(~m0T7VnuE*F$S+F=){3AcWd^OD0|iM9u)kRVvsft`IY3NQEQQk1FKW z*jH+!o=apH?OlTjLeyg%cbnDnLUF-bUQ^aA6I7vA=wGuO_+S&U<4?A5AjQogG7Z52P_rj@>?a}H-53-~gewQ3C~!7B*hK6GzJfJ* ziE(zUdpTp@apo5Q<>a(ZMESm!j@472EQm?55ow69l)x6o}0naiPQ& z_7Dm~^TEL;Vz)%yaoY5{>Sx^+69m7*42sRNwxELvdq`u3=7WPx#I8C`I9J6-R#glV z)Et}#T_YH~XI?=E6ZViM49y1zn}}VBdJ|~@a&;|=QFC-2_4RS=o>>JQOxQzOFf<<= zY$A3Xb!K9o{pnnl!m#7MzZ`b<3fL}l3hD@|iZ9kGVhBb^xNoA0XebJsuLZF{o>bxp zHHYVMYo~(UGo_$0zoM~+wMJcpUomduT`Ww4)0B%>)5qAneLGXA>Gngm|Z9s87cut+?y9)v7tt^OC^qoYxY>e71VIS z`DIONt;lyQs3WW@zF4b>As8XJ3&TdprQ9<2A;nirs1fZ_i6i3T9xGG@L~$h%RWT01 za9?WMke^ft!Ce?OLN4W&>3p6O8TVK$l>v>AON1KA4bcOLTy{l)N=j8R4y|klV%w0J zR0zRc7&byK<(Bz3z3Ze$}RJ+df$-;rmH$+xA#r9QXvF) zVb}<{lw0QC^}YiSOjmWtZtt6HRfQnf6~lx;rPS~eK(+qvsEbG{=pq%0kP+vkXzn0a zT&R>(5&Y1XZA5JgGSU^o>RmH1u9=h}Yt50JoD|I+K@+J|0;IV)YTX=^iUSo+6~zmgSAxu` zl1f%pe6i*eLt{%!xZ05-xgv2W)jDEAKd6N%BZ(9Up@z?U%c?KLOFX8uyJP}3^w{zvg}zwDp4I3+7Fd34#7qdp~9)6cp>vjkU3RS z$*PJkUies{T)YU`w2KW!o9sZ8JptrYIx;jAh^`TVlVU=JQ$_JY=9M6Gs-%)t6<@sY zu|m1>B4~bBCMKMBvx;nL@r+2zh~eX+YeXPbOsH_GC|=0C5@b%5RI;k#ix)mtDEGXm zHo8|Hn2egVc-b>zaL0%c;H+x}pjA|;aH=R?$h;C1PR<-bMGM49h840>xiKMTH8disFULJ0g$<#Z7=X8gCqXNM)k2h$u2*oDGOrZsw$I z?%<%fP~lWjypVZE1k#|m2@pr)jbjg~Of(h|MMjLX0nzZ6I%+5z-<6fb1n5rH%)ZUV&7 zc;nbZDie)GM3E8WY=v0CB&NM8s)XvzUGbMtaiPMgqIe=xq%zT1L}7%pt;8BM z+PW;6A$ow&*GN&I!l|OTArtop%D88O0+kms$|uw_=?aDfXG2pRJI3sZnmLe8U{p(_J&kS zj#!E>iJS=#I%JO8^bpG(CNxdMf+*46kaEe>a`82RHv(b@Oahh%IPS8baT+E>iS~w+ zOP-dCuL-;n47Pt1u-tFB&w<8ixDX}U8&WE{QYyY^cV{r*&S8%B+c}PWb`PVeDd zBThv;K@HnUVZx25A~q3GT04qbT&khw$vL&1-ov>@oQimY8n%HzL_}%rC~9%3hMFhm)OLCg=K?3yPnmxG~hb}^yj0PQrru_@5p(qxEUKBZK92z$)wJM5H9`Q7e znmxJljcgQUE{qJ-zqEqC-lP1BSRr8;_A!OfLKUE~@en|X!cf>b3W=(Knmze|t)k3@ z;atiFI8rGE0pbWe8foky6=-~n8@ouKIAZbvf$9>uDau?J8OqnMVMv2g5?~-Qb~{X{ zUF4Z?qO^9Dx42Y8&7Pb*(;nF<%3K&3^2Im=?oeu+4+V~4f`+6_g2uk(in62;77e$#1BSXG$k3cQFT7?m@+ABs$Dgq^O4Jw`^P{>pEhG;1X(TzIlsj_Mi z=@exyj11{~e!cYYiwgB;QG^mUc}@{z){qfLoFQgJL8x2{k!lOBIz@6tnF}Ms_WPD< zD5gR%3zcba)0}D%QiXh+ohZ0FRD@7cE91yUQRc$Pu=j#%mrzWFXcnsHy~A?K zMNgI5uF8l4d&LP7kko0Q*#s-+NUtb!VPyE+_pQE@DR~2qYZ&7 zaXTkawB4bykGvFRE{qI&@4MDRF%`mDh>&*X6pVBFBoKfjpei>ES)v0ZMY+~M97(p| z$~uxO%3K&3KKXt5i&LK0K4+QDIS^FBL#WRl<cxL#3o?V@4wob~kFcJgchv%X=->zJP_D<76?Xc>y(G*~2s~!F9Xg|Npb`JP_D<76?Xc>y(G*~2s~!Dp#;e#(Az&T4xD$=F(8nX{Z|;4K<(Gt0w=%zxs?@R*s`d zeUvq0DYRys10eLSnssh~W}Ihskh)eHEIJK!W252bhMSKE+;CjdVX|W{==j8CG)5-Yr*bsoJi96yI_%9l3XGBpW)~)wq|%O1w<~YA z;_87t(29F(3DAu5Y{u#2ukxa!2!|uw>_WtnRGJaW_T|l1QarE;T1k@)5t?zHy*SoT~mK&Ppd?B@`GUVL@T!>lY>aa~Y=*?QfGD$REuJ z-?XC{=f#b4Za>sUWIEDPjaRXdDmW!li6T@SkVma5{D3}kJ~XR3%_eBZc`@QV1ry#{ zrefuw&^i=OjSuuk!4bKP(}<2}#OFh^M&Eu3%{VVo&X=HXM~q6Q5~}m>c2%u}F-0mt zWX<*?K`Vgw_gNgWDSAPxxfIPfCmRM*Kv;j*sw!q_h3bSE^ambXl!_lQ@yNh$h3GLI zvnzUGuc;i(I42hdmVm(SUa961@kX6g+z9E%kw^8BBXF!8Rs(VjT&Q6&URs@z?zS5R z(TsC3V5kIAi6hjs^T4MqN>$J~d|<4pLyIBLz{O&ViHbX)+inyLn=1q4s8ST7q@4#Y zZBeR%&hmkfQ%j2x*T4m1kBQ3ajC{A{&@osbO9Z6WHH(T0yhf@--LPRZ zURt{#z1zA)Kr_xO5u+o)qEx(WqyQUMl$qpD15uw)jnn}?_4%>l@OrOf(KMS&ROd#P<;1Tj{VNohH z8!5ns6(uKAAFZSL-mCWW1c=p&B}2xGay!Tb63&PoA<+~Tr2?~&0&G}Oax(ML8ZJoF z!Ivo1QLE}pLuZt6D4f(-giI_fN`+-31=z5n&{)#4+yQ4JaF7G9vGt4*?PUu*K+`6zR6_Sk1;|D3Qu(98q6^ zJL611;e@V-!xo-XOpw$$@`(}3G8;q^A4k2KxUCUdA#L^pv`8#POp|P`N|+RlKysR2xXZGB87t+Z2}zH3OU?9 zHDb)*PUAzMaE7LPQ3=Plkvc~{F+y2pf=J=uMq2=&4$@d9e1>)e;&yNp&eZBtL_+ah zq|T8~j8K-DAW~S|NC^Nc!MFp>`Ar`(w&d9LxICPu(V}RC;hRXEBcB+dEHgo*u(**D z091l;2ilX~*RjPxHs&}#=MBHY5eAE@pwtD6f8i63j-&xbn$?U^C^^WaP)9&>9s(Jg z^1A7fSvXGIq)3F|dz88qulJR^fJpB0=m;9AH0)G3Qdc4smbxIXe_t8VL^9SInYx)i z3k(l@wx-7SFd&{NYEcwY_AN?XiuQfQVu^&Aqq?dyWCppC1Pl*Ws)3n2hYeWO^w=bv zCTddzQuZCF&eiU1F*65bV0Rz}snP`u7gnKjm%p5>fr9kvk z;rsOl8cU^8qK3;<$rv99#Dlm^3SDZxp6gWZzAr0!0XepI@o2Gv8jGRMI0r!3p0eZd zL1QSdS)ohG*K^%3FDO%HgV>TQY{|$(&=q$H6U{P}9iI@ihOzAmTME9M>wbAbnKB#1 zmQ-O!0w(vOk5qf@tuH%1Be3lhf(=VaV8vA-*A)gKQ)UD3u_+tc(jbx@BJzHJm@=;Cm)MH9I0weJIATPEW_-B z=QMqL{#hU_V-Nya6P3j=MGI7(9j^xvnHyGV~Qfu99~%- zp3KcM%szNd?Ax`^0-+Uy6=?s4IBT#W<>I(RgznjE$D^}7leM%5&xx(N_E{jbVjw{H zHkpDADOUzdNbrsw91l)+4Azn!Jf*qEu74g*Xk}Odj3pf>Qz*k-8LT1Jr*kwsIG>(p zQ1Ik2yY_iZp_Q=(_&eTr@U;%4sT-aMae%Hg3xrk-1UTq@LmQkp$kjm42!pPF4$g<{ z_V3;+&RfDH6GEX>-uuv#|*4`N750%!F_Ir0PB(PAr zfU)m=d;Y5aiZD9k+vDBK2~MDNg|Q&(o01|^D8pSDbVJlW|LYY;vJ;#H!GoAQIEUgD z#)9OpSp~#D!777(h(q)h$1<@0dGhW(1V>T2!Vsha0{z^tm}nxsUK3&e^W@$8367$4 zg&{}<1p4cJqlZfe3~eP#j8u_HU8q1MV25+|aOt+-Q-sClLBT z1Vaocj-^2V*QDtPjYj!^4MML}Zm37&y4+}i+7k%9A90Ty^aV#VV1Ogj!BI`iL0$YQ zQVfi71W3ce$UvVi!YBfdi1s`j1~@Pso*8>?7LrjhptQS7!$QqKq!W5S0*}7na0X0p zU^+S~wj9-kU%#-c=QE_Ghl)P)6r3}<*4q^_jUe23+JMIcs~1G z#)R}JDouU-J~|CzGt4m;8~M;_!$%3K{d zyq7?FhT~#qbTrSD8MHD*VVGAcd-+hNG_=D431mk`&ZYh?kw51kY7c?J%$PwdPZWlE zrFy~p`h&m}XG!rejk$g53|g6^Fw85})89851Ex4jipOcp?Neva${dAZUa9P_jdhu` z&<+c%SOP3^Ua?M;@BvED7~QANpp`ia!@N>CFHqMh3+=E#g0y2vaz#20hSsj50Bp&b^o0#Ti_=LrLS zjwNm!!Kcok4f9k&C(0`ofoiYnoG3ykj61JFc06T(XKx(Br_P`a^Hf47$}1ItYOm^? zD8jCg4bK_i*&CI~X2PbGAsyiyUU z_NvZ_B5V)Y?X&@&y>SqqI)gUMQwg0YuT%u8y{dDf2wOw;I&pw!Zyd#^&Y%tRR6-}p zD;0riuj-sA!p4xT&K%&`8)xyUGibv+mC%XuN=2aBt2!r&uqkAta|d|##%X-&4B9YH zC3K>^QW2>3s?LcbYzW!r>;ay=aUP#KgEq`l37sgfR0OKMst+Ve>W2d!r=j2p8-x4Q z8MI-ZO6Wv+r6N%6Rec~)Qa>E}R|10tU4q}agGkg_Ll z-BQ3%I&df_OIP5J=gRJN689eKQkjtRD@~z{y9g-k*nub0$X0p4_o# zsOy`VNMrqIfCgSZ>h<q1=i%X;fswK+cl-?$ zHONG)8hH;u12^xPoTZM3bLK|MuH5lAP}E>0+G6>y#~Paeum&Cyh))OO*_;C)WmoR_ z8)&|Pv2gz&WXjjEJR^i>cFus5UAg0Lp!o*I;(Fh5C3u%lxT&gz<8Po!Fq9aJ{qNiQ zn}$xicZKl!oH>!QD|h@2G~d8jT<=@11n=@0H>Gv}3mEV3DL18> zIQ|AwbUzeDsSCi7ube^I>dXNi*f|SQcIA%0fw~PuQK$lN)HUf7*z3drp3*rAQg-Ez zzk#|9L{X>$aMU&F6WHs-0iIHhf|X-)>0_gACy^AY033Bq`ULhmae$|kqhRIOT>99k z+esvaDgZ}alRkmHP8{GVUI)Ip$foJ*Q85et1}09N;wNwj?JZyjk=vg zQm6uO)HUf6*y_vyo-&(08qA}&+`IO>{o32b%dpnJ+E5n6ZFZ7JeH z6@a6zNsquzrw)3jd{(`6Y2BV8E>rYDTj>~!j&cgm5vT)+t1azx*WNGh~~2*43> zH}C9p>R|KnMX1j&=%z?pd2un7k^#81slO7j(K!QklAU3F{zJ`b>y#CD!41Hror9eH z-!AMuKI!>BIiSj>on8E(crL~K015!bruIq%c4te~N%n-^v5)psJtAvGp)jHj;$(By zeejqant%F^s8#k28I7b&kRYNC;$n2pXz-X#T6prNs#y#zb0N|?vWPl}JC3J<29MdI zHO||TwQCL2REo5YDx!|zj^VkWv12w_tphiOtzygcdf)c#=xXbZ{hFvtT>u*yitlMr zYqb%v)-%Y)rtc%0Ic(<2>_wXaFe@Hq`>ilday64hI@YJM~^HXjU)Dpbzy)0R3`yj*-{BF||Io9S{=uDJ*~ zM=50hc@=6j%#JHe(SgusBJD5}&-6Gg7cWE(QYsnnX%%H5`ZTYC%$(Y07U|HRyUCHyjSl5$rWz>BL;qhWSjVG0H!nTgP4AfK`S1>ABYa*_(b`&wxP8jboc zoNC1F@1&U9`@V`XXZ<_a>iGLZb0rg&Mmq)!b{I4Jg{;B*8KdF-jHxmUwWE2z$Eee< z+S-m|z#AtuBG&FM?aQGhM6iZBAZmXEL|XjKOc_x|g#RtS)NOq|(kM z*lAAvyV-a*yK;S1vqoAw8%wWQ<*(<<)f^D1+nRP$+WBzlHm~{{6yZC>hYuy{iepYx ziThoZ9XGJ$x+Bf?zB?Y`NmBo&w%N`ot9U5+YLB3J@8AJtGeEI+Y>xh z<-SzEV^8MRn_$1^#n^BI-klHGI6|d!svSs)ukg4Vu(v+y-Bj9Q4;gKH@uqITT>H4X zB{j7!Fy8lKPTYXG_Z?a#HMU(qiLdbOZ=m~}hVb@Bx(3uYVBW6-XzdlB;08MHS(i_6 zo@+$Bf%*ws87i;*6gSX%Qe8X6VXh(V4d_RVW2?K6v)n-Zs#H14Nv=7YH&C9l$+?Q> zy@Bg}&-->GlV9&Ua!cpsT!^E)DV z-s^#X$FtHY%=2CkOjq+8cISDo2mTEYTh4I3?=N~xdldJ1uPI;}=?`-q;JSh922Okf{~yey5bOW| diff --git a/res/maps/oet.bmp b/res/maps/oet.bmp deleted file mode 100644 index c93c030701955247a24ab5010f127bf52be038e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253750 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 qc>?DNoF{OezwC-6Kc@c#j93db)1 diff --git a/res/maps/priz.bmp b/res/maps/priz.bmp deleted file mode 100644 index 99fb8589ea03a1f5fad4599c87f3cc71439621fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202678 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 F{{i|5nOXn< diff --git a/res/maps/tate_sw.bmp b/res/maps/tate_sw.bmp index d55d73c387ff83d21ecb4704b846dff0f25a4a90..85d41f515e03803b53726f9dc0d99539c6c05bde 100644 GIT binary patch literal 3842 zcmds(y>1jS5XWs2u>~hw(4uoXC@HB}L~6vVL_(syjVMy)5$+Wz(`BO|9R<=oLKd3q z$VzDzFgy8=?fvkcR|lsg5^-eT?));IPy6o8+XqV6@e1p6%rBTnm=b?HK0g-X$s;$d zz%NA9f4%ePhhIlc?huvZa2yFa%690|P&M3C6)XY!^A~K^X{!|-S9HaCziCBj9kTgN zv&l0G_uTJ%Y1q!ECg*g`N-!4K_&(a-ZOAp^Mu(K$JC19CS>G7eLdK zgnp!a9Fq@NSY!u3=qe$aQRen+nWlWmtcdj@OgUF>g0=BQ_S}}W@kREujB~aXLq$S8 zTL-(RLQ=;Vr*Mp=Av+^Fs;HjKXuhPBmiQ~U3Y=>&+!HNZ^jS`P9z5gr4)t*UXgZ_Q z3)}fUX5Yi5u;!dS))O&3Zx3v~9Pa7;bnFzK^z3nbCDo3l6vP1b@mt3Ny&O(um^Rmg zoCR#X4$~7&h1J{rIjov}E2K~r6g;ES#{F!36J@R^S22@Yn2SwG{9 zOE9LlfgSt1;3W*(;qD2|H5xE!T9y)iC~#hc*K6|Yp z42dspWmKihjy1g`&4JLhHYqCD=ymK}VVQ|Bg@R+$F{VeE*wepQjjvCl3(Vdb+tcLtmsMIV*)$&*OyxZ-eYTu^3d<;zxDcx625%@1WAl#kn>6i~9rgeK literal 68070 zcmeHLJF?|Ea^#DUBBYS14bapIWXNL3*B-bOE`^3dww6F!woDnvl0CkRr^G*jDu4jb z?YW-@-_$`>R%QaI!+X1X{`KGf_wWB$%=6EGvn>CF^#b1i@Qum4zxS472jWCrh?l$e zwqo57JK{i`hzs#@BiUE18)8Qsh!b%kUT$2+igiQmhy!sVF2u`?@?5cQh#hetPQ-E4#bJL5HI@`Y_ApThS(7Y;zV4C*K*+g$Fd^K&3AxS472jWCrh?jkZj@OEHL+pqHaUw3nYq@a$YgrK+Vn-Z^ z6Jh>)xmRmlv2KVRaUf2_g?PEwZd~5HLqCv8Fl=9`0crw z?(Z{;w{98+`IgCVDxR}@{>9JP-OVmch*$ZChD0p?&iu>u(=9*ZXvr;Qa#9kRv(slH zQHjji=`)e2L_TnK{K9|4k5a?qW4B6fDU*|uh-K?A&YrwNrh@M8i-Gc2_}gQ)RVq@Z z9MgOii4Zd#b^ph9B$-52*I?CE1?TLtDceCS-_x93F(&$QFfA6#*+0%*9HO^{(e%$P&jFJ19GP{=hohlnDu-R5IGjM#+kGV+#KLg7m zka#6+f>p45?-E_h%DrW+sY=Wrq<$Vn5NAQXY6l09)*&aU$y7HL{EXjs!)LEtGx^Nfxi>}mis$U&4^etwB1B35>`3&1sj`3T z_e<;7Pj;$w>spr4D@D?31m)~TpizGbrtYPJ-}(35FBzTwN7#>>9WE4}p)m%L{xYL0 z-Bj>9zjtW{%5CNSBa(CxqC_2&3eMTl*lenfNd@QZ=IqJ|v}(LW{?S-yNmvEvdshxh z9g_;q*}XYCE3b?;vj*qp$>^2h#zOwg+zLQ&FM($k8~5m$Q^-+rSI?!UKy(?Sg+MKt z-^@FX9QE1#iftolEHN(KiegJy-aAQ+MDATYqyOX|``(4^arFMP%6sNWw^JgH?4MLF z>p%JD&(5Fyo$Hp@H-Fv>>;}lcufjky8GtdDoZsx3wOMELtlKO=Z}x|p56qfJ7fl9m zGA=nEIW+5R-Y*8dpM1xBVAedkXflAqaLM`IIl0d|n{%_BgWe|GcE#onxYap=P_s@n z832(>&e`KGXPwP&1cL8@8=2m&nCWDJ3N#E=L5^CO4G#Q9Q2Jf#PWj@K(s7gXv z3xNYlT37v^mr(PbqR9Y=TyoAHcRA~9J}ht!cQUmvHXrg5YTiRM832(>&e`KGXPwQ5 z1NY80WtJEy9IrBu5 z0T8+5oIUz-r|#nNMwEAHOA_fhEoqgSB{nCX=w$$iSxp6b+@+)n>5U}NiuFdNw+oL@ z>f}0l`}e9OHCxy!>{YIbdY6?-S2tC2-~FE zt2PF{dU%8<-!)dD&9{h6pEyp2S|~%P@SX;_oQ2rE;=>A?cWdz#Xw z0Wa6wHm@SL0^7cEk3>#txId85jXZ2kd9)y`Ou;Fk`d1F7_cR)t3b6-r-@K}6`tZ7! zJ<#Y!Wz%R==^NN^%C?3Dj`s{wp(S2Ou_~KTcPy=Y`Lm5JW1Ih2_Sn!o`^QdW>|%3v zWAkG6N6s#K@dib1I0dBs4h)>=>63t$Yi^rYC3mc@d-)@cEtSoqNu_UK?IcE5lSEIS zG5t$USc>#8f8Ms1~UV8bcf8WuRw(!wfcah_Y`RpeD*+c#T8A}2Nc(`FZsX^xDC z51Zw#oj$WB6}d-VMOp>6{c5k;aKC@h9(v+o@?^*ZM!;UD}cq)p=6V zDs?VG6?meNfIv~+8ApnQ?qooh&XHx^TQM8W@582m;&Z9 zP(EaKY@8h+?ouQ|;DCbFSH9;Z)L~Q6NI;;>*`=A-EDWZAxeSy!JDv*iFqi`7GEnC1 zcq)Uli$k=3$E9i@Ew)czUd=-Y98jY-@%OxhI_xDH2?!Kk(dDu~Pqse0lL~w7%yh)M0PYcnAc)+A3^o#DEKd144Ufea}m%!``Ct z5D0#?RoK>u9v6HM+{pBH#Y`s)RHy?(GzI|c;rYR@whG%CQQ}4_(TB(bujKkdQ-pn3&RgW$jin+!yn7xK?-d#y}+zC=YZk3?kjCS=BAid(iBNLZa z8;ZFQd%${d9!!;0cqp6-WTchW9Zb7=>H{w_acS69G}`9vZZNH{X1jVy0XCnNPw zLiAla(DLNLn%9O6XpQcD%WQMc${9~I-oZ%ylaSnfpc+1T?u~=wz+h!AGAObCtQpmK zzMmWI`e6UK_wdQ1(kAb0Z4BrZxpAXYs!(wraO}XBW2YU$JjL`G)E4AW7}J z$u2qgCJ;&ML%Nl;YiEiBbTaR0<}x~~@0x+7dW2@V3UVNnjZwVR%NmXne26r>!oj;% z-rfjoT~jjI<&HUuKNv$en%rs}X?WFcuHwA2A#g2z1oNh;oM#O$+#+A%(xE`a(Te^^ z+3<4r>HOq9jl_ncH@AtE*(Da;$sSN=GXJb}a`iOx9C@bdTRTX^T_ zX{4r6S}@t=o*^2exG*RIf1(n8R5!f*x%(F0JX4rP2AG1`On4VB^|Dqrm!wWayNQ#U z&IdfkY}lq((RoRt;V4wSm)dJ-7Q^?g2#j~7Rfjtj+PQBq?0LiJZ@cqLe*Ip99b-Kx z!S#j}nc&HmnZZ{no?K+k&V744JLL4BPnAh?s@!4dodQ&?U`3o(oPM0r7 zo3nfVmCV_R*@>Tv958%=M|$Zk)pc$lIvwlo++Z5B%UeD!I9F4htY} zqq0+C)B->7gYT&1=EgZJfV_>$PKi+q{J;;sqmr8&=db|sHYz(MMlJ9IKlqMHZf=~z z0?6B_?35U_z>od#7uN5`V`vj~{SQamBgux>n1p-d8iXI&nzMWUwa(ei**%}Y6J_?h zOcus6M+K0#Q9U`vx73K6=YYABKypA--*OI54lQn;19Ntbq2{9!)tud&U1I{zTjEX2 zf%)DwMw^dHRC9K7c8v)6GL^WsE zn4N1i{{f#5wBhyp{J#J^ggHB&##laQH#RS3&)M-bdh`63nW&6S4hkS|qw3xI+w;WD zbHLnBAUPnaZ$FdX3y7QNz?@xUkol-YHD@dp_E!oD-N6m=l;2 am=l;2m=l;2m=l;2m=l;2m=pL?6Zn5o2+^Ma diff --git a/res/maps/tum.bmp b/res/maps/tum.bmp deleted file mode 100644 index 5effbf698e4076fe0eace9c399db6a99f5c35fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132550 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 L+`zd3wSoTzxVA6w