From c2268a6301b276efd492e1ab020efbd9df209ba7 Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Sun, 23 Oct 2022 14:18:39 +0200 Subject: Release under MIT and added a README file and gave credits to the pattern lexicon --- src/generation.rs | 44 +- src/main.rs | 2 + src/patterns.rs | 2638 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/ui.rs | 53 +- 4 files changed, 2673 insertions(+), 64 deletions(-) create mode 100644 src/patterns.rs (limited to 'src') diff --git a/src/generation.rs b/src/generation.rs index 249754d..4031c46 100644 --- a/src/generation.rs +++ b/src/generation.rs @@ -38,24 +38,29 @@ pub enum Cell { Dead, } -pub fn render_gen(chunk: &Rect, gen: &Gen) { - for i in 0..chunk.height as usize { - for j in 0..chunk.width as usize { - match gen[i][j] { - // Cell::Alive => print!("😎"), - // Cell::Alive => print!("🦀"), - Cell::Alive => print!("{}", "X".color("blue")), - Cell::Dead => print!("{}", "-".color("red")), - } - } - } +pub fn render_gen(f: &mut Frame, chunk: Rect, spans: &Vec) { + let create_block = |title| { + Block::default() + .borders(Borders::ALL) + .style(Style::default().bg(Color::Black).fg(Color::Red)) + .title(Span::styled( + title, + Style::default().add_modifier(Modifier::BOLD), + )) + .title_alignment(Alignment::Center) + }; + let paragraph = Paragraph::new(spans.clone()) + .style(Style::default().bg(Color::Black).fg(Color::Blue)) + .block(create_block(" Conway's Game-Of-Life ")) + .alignment(Alignment::Center); + f.render_widget(paragraph, chunk); } pub fn new_gen(chunk: &Rect, app: &mut App) -> Gen { app.flag_cur = true; let cells = vec![Cell::Dead, Cell::Dead, Cell::Alive, Cell::Dead, Cell::Alive]; - let cols: u16 = chunk.width - 90; - let rows: u16 = chunk.height - 2; + let cols: u16 = 72; + let rows: u16 = 42; let mut grid: Vec> = Vec::new(); for _ in 0..rows { let mut row: Vec = Vec::new(); @@ -70,19 +75,18 @@ pub fn new_gen(chunk: &Rect, app: &mut App) -> Gen { pub fn gen_to_spans(gen: &Gen) -> Vec { let mut spans = vec![]; - let alive_cells = vec!["🟥", "🟧", "🟨", "🟩", "🟦", "🟪", "🟫"]; + let alive_cells = vec!["🟥", "🟦", "🟨", "🟪", "🟧", "🟩", "🟫"]; for i in 0..gen.len() { let mut txt = String::new(); for j in 0..gen[0].len() { let rand = thread_rng().gen_range(0..10); match gen[i][j] { + // Cell::Alive => txt.push_str(alive_cells[rand % alive_cells.len()]), + Cell::Alive => txt.push_str("⬜"), + // Cell::Dead => txt.push_str("⬛️"), + Cell::Dead => txt.push_str(" "), // Cell::Alive => print!("😎"), // Cell::Alive => txt.push_str("🦀"), - // Cell::Alive => txt.push_str(alive_cells[rand % alive_cells.len()]), - Cell::Alive => txt.push_str(alive_cells[0]), - Cell::Dead => txt.push_str("⬛️"), - // Cell::Alive => txt.push('X'), - // Cell::Dead => txt.push('-'), } } spans.push(Spans::from(txt)); @@ -186,7 +190,7 @@ pub fn init() -> Result<(), Box> { // create app and run it let tick_rate = Duration::from_millis(250); let app = App::new(); - let res = run_app(&mut terminal, app, tick_rate); + let res = run_app(&mut terminal, app); // restore terminal disable_raw_mode()?; diff --git a/src/main.rs b/src/main.rs index 7b4544b..cd1b603 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,8 @@ use std::error::Error; mod generation; +mod patterns; +use patterns::*; use generation::*; mod ui; use ui::*; diff --git a/src/patterns.rs b/src/patterns.rs new file mode 100644 index 0000000..8a6f224 --- /dev/null +++ b/src/patterns.rs @@ -0,0 +1,2638 @@ +// use std::path::Path; +// use crate::generation::*; +// use tui::{ +// backend::{Backend, CrosstermBackend}, +// layout::{Alignment, Constraint, Corner, Direction, Layout, Rect}, +// style::{Color, Modifier, Style}, +// text::{Span, Spans}, +// widgets::{Block, Borders, List, ListItem, ListState, Paragraph}, +// Frame, Terminal, +// }; +// +// +// pub struct StatefulList { +// pub state: ListState, +// pub items: Vec, +// } +// +// impl StatefulList { +// fn with_items(items: Vec) -> StatefulList { +// StatefulList { +// state: ListState::default(), +// items, +// } +// } +// +// pub fn next(&mut self) { +// let i = match self.state.selected() { +// Some(i) => { +// if i >= self.items.len() - 1 { +// 0 +// } else { +// i + 1 +// } +// } +// None => 0, +// }; +// self.state.select(Some(i)); +// } +// +// pub fn previous(&mut self) { +// let i = match self.state.selected() { +// Some(i) => { +// if i == 0 { +// self.items.len() - 1 +// } else { +// i - 1 +// } +// } +// None => 0, +// }; +// self.state.select(Some(i)); +// } +// +// pub fn unselect(&mut self) { +// self.state.select(None); +// } +// } +// +// pub struct App<'a> { +// pub items: StatefulList<(&'a str, &'a Path)>, +// pub flag_cur: bool, +// pub layout: Layout, +// pub cur_gen: Gen, +// } +// +// impl<'a> App<'a> { +// pub fn new() -> App<'a> { +// App { +// items: StatefulList::with_items(PATTERNS), +// flag_cur: false, +// layout: Layout::default() +// .direction(Direction::Horizontal) +// .constraints([Constraint::Percentage(15), Constraint::Percentage(85)].as_ref()), +// cur_gen: Gen::new(), +// } +// } +// } +// +// static PATTERNS: Vec<(&'static str, &'static Path)> = vec![ +// ( +// "pattern1", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern1.txt") +// ), +// ( +// "pattern2", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern2.txt") +// ), +// +// ( +// "pattern3", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern3.txt") +// ), +// +// ( +// "pattern4", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern4.txt") +// ), +// +// ( +// "pattern5", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern5.txt") +// ), +// +// ( +// "pattern6", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern6.txt") +// ), +// +// ( +// "pattern7", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern7.txt") +// ), +// +// ( +// "pattern8", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern8.txt") +// ), +// +// ( +// "pattern9", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern9.txt") +// ), +// +// ( +// "pattern10", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern10.txt") +// ), +// +// ( +// "pattern11", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern11.txt") +// ), +// +// ( +// "pattern12", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern12.txt") +// ), +// +// ( +// "pattern13", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern13.txt") +// ), +// +// ( +// "pattern14", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern14.txt") +// ), +// +// ( +// "pattern15", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern15.txt") +// ), +// +// ( +// "pattern16", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern16.txt") +// ), +// +// ( +// "pattern17", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern17.txt") +// ), +// +// ( +// "pattern18", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern18.txt") +// ), +// +// ( +// "pattern19", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern19.txt") +// ), +// +// ( +// "pattern20", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern20.txt") +// ), +// +// ( +// "pattern21", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern21.txt") +// ), +// +// ( +// "pattern22", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern22.txt") +// ), +// +// ( +// "pattern23", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern23.txt") +// ), +// +// ( +// "pattern24", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern24.txt") +// ), +// +// ( +// "pattern25", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern25.txt") +// ), +// +// ( +// "pattern26", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern26.txt") +// ), +// +// ( +// "pattern27", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern27.txt") +// ), +// +// ( +// "pattern28", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern28.txt") +// ), +// +// ( +// "pattern29", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern29.txt") +// ), +// +// ( +// "pattern30", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern30.txt") +// ), +// +// ( +// "pattern31", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern31.txt") +// ), +// +// ( +// "pattern32", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern32.txt") +// ), +// +// ( +// "pattern33", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern33.txt") +// ), +// +// ( +// "pattern34", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern34.txt") +// ), +// +// ( +// "pattern35", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern35.txt") +// ), +// +// ( +// "pattern36", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern36.txt") +// ), +// +// ( +// "pattern37", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern37.txt") +// ), +// +// ( +// "pattern38", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern38.txt") +// ), +// +// ( +// "pattern39", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern39.txt") +// ), +// +// ( +// "pattern40", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern40.txt") +// ), +// +// ( +// "pattern41", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern41.txt") +// ), +// +// ( +// "pattern42", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern42.txt") +// ), +// +// ( +// "pattern43", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern43.txt") +// ), +// +// ( +// "pattern44", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern44.txt") +// ), +// +// ( +// "pattern45", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern45.txt") +// ), +// +// ( +// "pattern46", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern46.txt") +// ), +// +// ( +// "pattern47", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern47.txt") +// ), +// +// ( +// "pattern48", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern48.txt") +// ), +// +// ( +// "pattern49", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern49.txt") +// ), +// +// ( +// "pattern50", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern50.txt") +// ), +// +// ( +// "pattern51", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern51.txt") +// ), +// +// ( +// "pattern52", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern52.txt") +// ), +// +// ( +// "pattern53", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern53.txt") +// ), +// +// ( +// "pattern54", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern54.txt") +// ), +// +// ( +// "pattern55", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern55.txt") +// ), +// +// ( +// "pattern56", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern56.txt") +// ), +// +// ( +// "pattern57", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern57.txt") +// ), +// +// ( +// "pattern58", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern58.txt") +// ), +// +// ( +// "pattern59", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern59.txt") +// ), +// +// ( +// "pattern60", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern60.txt") +// ), +// +// ( +// "pattern61", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern61.txt") +// ), +// +// ( +// "pattern62", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern62.txt") +// ), +// +// ( +// "pattern63", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern63.txt") +// ), +// +// ( +// "pattern64", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern64.txt") +// ), +// +// ( +// "pattern65", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern65.txt") +// ), +// +// ( +// "pattern66", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern66.txt") +// ), +// +// ( +// "pattern67", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern67.txt") +// ), +// +// ( +// "pattern68", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern68.txt") +// ), +// +// ( +// "pattern69", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern69.txt") +// ), +// +// ( +// "pattern70", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern70.txt") +// ), +// +// ( +// "pattern71", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern71.txt") +// ), +// +// ( +// "pattern72", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern72.txt") +// ), +// +// ( +// "pattern73", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern73.txt") +// ), +// +// ( +// "pattern74", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern74.txt") +// ), +// +// ( +// "pattern75", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern75.txt") +// ), +// +// ( +// "pattern76", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern76.txt") +// ), +// +// ( +// "pattern77", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern77.txt") +// ), +// +// ( +// "pattern78", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern78.txt") +// ), +// +// ( +// "pattern79", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern79.txt") +// ), +// +// ( +// "pattern80", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern80.txt") +// ), +// +// ( +// "pattern81", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern81.txt") +// ), +// +// ( +// "pattern82", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern82.txt") +// ), +// +// ( +// "pattern83", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern83.txt") +// ), +// +// ( +// "pattern84", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern84.txt") +// ), +// +// ( +// "pattern85", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern85.txt") +// ), +// +// ( +// "pattern86", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern86.txt") +// ), +// +// ( +// "pattern87", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern87.txt") +// ), +// +// ( +// "pattern88", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern88.txt") +// ), +// +// ( +// "pattern89", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern89.txt") +// ), +// +// ( +// "pattern90", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern90.txt") +// ), +// +// ( +// "pattern91", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern91.txt") +// ), +// +// ( +// "pattern92", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern92.txt") +// ), +// +// ( +// "pattern93", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern93.txt") +// ), +// +// ( +// "pattern94", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern94.txt") +// ), +// +// ( +// "pattern95", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern95.txt") +// ), +// +// ( +// "pattern96", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern96.txt") +// ), +// +// ( +// "pattern97", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern97.txt") +// ), +// +// ( +// "pattern98", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern98.txt") +// ), +// +// ( +// "pattern99", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern99.txt") +// ), +// +// ( +// "pattern100", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern100.txt") +// ), +// +// ( +// "pattern101", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern101.txt") +// ), +// +// ( +// "pattern102", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern102.txt") +// ), +// +// ( +// "pattern103", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern103.txt") +// ), +// +// ( +// "pattern104", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern104.txt") +// ), +// +// ( +// "pattern105", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern105.txt") +// ), +// +// ( +// "pattern106", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern106.txt") +// ), +// +// ( +// "pattern107", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern107.txt") +// ), +// +// ( +// "pattern108", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern108.txt") +// ), +// +// ( +// "pattern109", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern109.txt") +// ), +// +// ( +// "pattern110", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern110.txt") +// ), +// +// ( +// "pattern111", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern111.txt") +// ), +// +// ( +// "pattern112", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern112.txt") +// ), +// +// ( +// "pattern113", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern113.txt") +// ), +// +// ( +// "pattern114", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern114.txt") +// ), +// +// ( +// "pattern115", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern115.txt") +// ), +// +// ( +// "pattern116", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern116.txt") +// ), +// +// ( +// "pattern117", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern117.txt") +// ), +// +// ( +// "pattern118", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern118.txt") +// ), +// +// ( +// "pattern119", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern119.txt") +// ), +// +// ( +// "pattern120", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern120.txt") +// ), +// +// ( +// "pattern121", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern121.txt") +// ), +// +// ( +// "pattern122", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern122.txt") +// ), +// +// ( +// "pattern123", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern123.txt") +// ), +// +// ( +// "pattern124", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern124.txt") +// ), +// +// ( +// "pattern125", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern125.txt") +// ), +// +// ( +// "pattern126", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern126.txt") +// ), +// +// ( +// "pattern127", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern127.txt") +// ), +// +// ( +// "pattern128", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern128.txt") +// ), +// +// ( +// "pattern129", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern129.txt") +// ), +// +// ( +// "pattern130", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern130.txt") +// ), +// +// ( +// "pattern131", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern131.txt") +// ), +// +// ( +// "pattern132", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern132.txt") +// ), +// +// ( +// "pattern133", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern133.txt") +// ), +// +// ( +// "pattern134", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern134.txt") +// ), +// +// ( +// "pattern135", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern135.txt") +// ), +// +// ( +// "pattern136", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern136.txt") +// ), +// +// ( +// "pattern137", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern137.txt") +// ), +// +// ( +// "pattern138", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern138.txt") +// ), +// +// ( +// "pattern139", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern139.txt") +// ), +// +// ( +// "pattern140", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern140.txt") +// ), +// +// ( +// "pattern141", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern141.txt") +// ), +// +// ( +// "pattern142", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern142.txt") +// ), +// +// ( +// "pattern143", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern143.txt") +// ), +// +// ( +// "pattern144", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern144.txt") +// ), +// +// ( +// "pattern145", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern145.txt") +// ), +// +// ( +// "pattern146", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern146.txt") +// ), +// +// ( +// "pattern147", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern147.txt") +// ), +// +// ( +// "pattern148", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern148.txt") +// ), +// +// ( +// "pattern149", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern149.txt") +// ), +// +// ( +// "pattern150", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern150.txt") +// ), +// +// ( +// "pattern151", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern151.txt") +// ), +// +// ( +// "pattern152", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern152.txt") +// ), +// +// ( +// "pattern153", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern153.txt") +// ), +// +// ( +// "pattern154", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern154.txt") +// ), +// +// ( +// "pattern155", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern155.txt") +// ), +// +// ( +// "pattern156", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern156.txt") +// ), +// +// ( +// "pattern157", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern157.txt") +// ), +// +// ( +// "pattern158", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern158.txt") +// ), +// +// ( +// "pattern159", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern159.txt") +// ), +// +// ( +// "pattern160", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern160.txt") +// ), +// +// ( +// "pattern161", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern161.txt") +// ), +// +// ( +// "pattern162", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern162.txt") +// ), +// +// ( +// "pattern163", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern163.txt") +// ), +// +// ( +// "pattern164", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern164.txt") +// ), +// +// ( +// "pattern165", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern165.txt") +// ), +// +// ( +// "pattern166", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern166.txt") +// ), +// +// ( +// "pattern167", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern167.txt") +// ), +// +// ( +// "pattern168", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern168.txt") +// ), +// +// ( +// "pattern169", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern169.txt") +// ), +// +// ( +// "pattern170", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern170.txt") +// ), +// +// ( +// "pattern171", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern171.txt") +// ), +// +// ( +// "pattern172", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern172.txt") +// ), +// +// ( +// "pattern173", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern173.txt") +// ), +// +// ( +// "pattern174", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern174.txt") +// ), +// +// ( +// "pattern175", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern175.txt") +// ), +// +// ( +// "pattern176", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern176.txt") +// ), +// +// ( +// "pattern177", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern177.txt") +// ), +// +// ( +// "pattern178", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern178.txt") +// ), +// +// ( +// "pattern179", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern179.txt") +// ), +// +// ( +// "pattern180", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern180.txt") +// ), +// +// ( +// "pattern181", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern181.txt") +// ), +// +// ( +// "pattern182", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern182.txt") +// ), +// +// ( +// "pattern183", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern183.txt") +// ), +// +// ( +// "pattern184", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern184.txt") +// ), +// +// ( +// "pattern185", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern185.txt") +// ), +// +// ( +// "pattern186", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern186.txt") +// ), +// +// ( +// "pattern187", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern187.txt") +// ), +// +// ( +// "pattern188", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern188.txt") +// ), +// +// ( +// "pattern189", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern189.txt") +// ), +// +// ( +// "pattern190", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern190.txt") +// ), +// +// ( +// "pattern191", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern191.txt") +// ), +// +// ( +// "pattern192", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern192.txt") +// ), +// +// ( +// "pattern193", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern193.txt") +// ), +// +// ( +// "pattern194", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern194.txt") +// ), +// +// ( +// "pattern195", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern195.txt") +// ), +// +// ( +// "pattern196", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern196.txt") +// ), +// +// ( +// "pattern197", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern197.txt") +// ), +// +// ( +// "pattern198", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern198.txt") +// ), +// +// ( +// "pattern199", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern199.txt") +// ), +// +// ( +// "pattern200", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern200.txt") +// ), +// +// ( +// "pattern201", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern201.txt") +// ), +// +// ( +// "pattern202", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern202.txt") +// ), +// +// ( +// "pattern203", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern203.txt") +// ), +// +// ( +// "pattern204", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern204.txt") +// ), +// +// ( +// "pattern205", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern205.txt") +// ), +// +// ( +// "pattern206", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern206.txt") +// ), +// +// ( +// "pattern207", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern207.txt") +// ), +// +// ( +// "pattern208", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern208.txt") +// ), +// +// ( +// "pattern209", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern209.txt") +// ), +// +// ( +// "pattern210", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern210.txt") +// ), +// +// ( +// "pattern211", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern211.txt") +// ), +// +// ( +// "pattern212", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern212.txt") +// ), +// +// ( +// "pattern213", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern213.txt") +// ), +// +// ( +// "pattern214", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern214.txt") +// ), +// +// ( +// "pattern215", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern215.txt") +// ), +// +// ( +// "pattern216", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern216.txt") +// ), +// +// ( +// "pattern217", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern217.txt") +// ), +// +// ( +// "pattern218", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern218.txt") +// ), +// +// ( +// "pattern219", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern219.txt") +// ), +// +// ( +// "pattern220", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern220.txt") +// ), +// +// ( +// "pattern221", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern221.txt") +// ), +// +// ( +// "pattern222", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern222.txt") +// ), +// +// ( +// "pattern223", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern223.txt") +// ), +// +// ( +// "pattern224", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern224.txt") +// ), +// +// ( +// "pattern225", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern225.txt") +// ), +// +// ( +// "pattern226", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern226.txt") +// ), +// +// ( +// "pattern227", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern227.txt") +// ), +// +// ( +// "pattern228", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern228.txt") +// ), +// +// ( +// "pattern229", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern229.txt") +// ), +// +// ( +// "pattern230", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern230.txt") +// ), +// +// ( +// "pattern231", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern231.txt") +// ), +// +// ( +// "pattern232", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern232.txt") +// ), +// +// ( +// "pattern233", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern233.txt") +// ), +// +// ( +// "pattern234", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern234.txt") +// ), +// +// ( +// "pattern235", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern235.txt") +// ), +// +// ( +// "pattern236", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern236.txt") +// ), +// +// ( +// "pattern237", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern237.txt") +// ), +// +// ( +// "pattern238", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern238.txt") +// ), +// +// ( +// "pattern239", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern239.txt") +// ), +// +// ( +// "pattern240", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern240.txt") +// ), +// +// ( +// "pattern241", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern241.txt") +// ), +// +// ( +// "pattern242", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern242.txt") +// ), +// +// ( +// "pattern243", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern243.txt") +// ), +// +// ( +// "pattern244", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern244.txt") +// ), +// +// ( +// "pattern245", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern245.txt") +// ), +// +// ( +// "pattern246", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern246.txt") +// ), +// +// ( +// "pattern247", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern247.txt") +// ), +// +// ( +// "pattern248", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern248.txt") +// ), +// +// ( +// "pattern249", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern249.txt") +// ), +// +// ( +// "pattern250", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern250.txt") +// ), +// +// ( +// "pattern251", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern251.txt") +// ), +// +// ( +// "pattern252", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern252.txt") +// ), +// +// ( +// "pattern253", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern253.txt") +// ), +// +// ( +// "pattern254", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern254.txt") +// ), +// +// ( +// "pattern255", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern255.txt") +// ), +// +// ( +// "pattern256", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern256.txt") +// ), +// +// ( +// "pattern257", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern257.txt") +// ), +// +// ( +// "pattern258", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern258.txt") +// ), +// +// ( +// "pattern259", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern259.txt") +// ), +// +// ( +// "pattern260", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern260.txt") +// ), +// +// ( +// "pattern261", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern261.txt") +// ), +// +// ( +// "pattern262", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern262.txt") +// ), +// +// ( +// "pattern263", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern263.txt") +// ), +// +// ( +// "pattern264", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern264.txt") +// ), +// +// ( +// "pattern265", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern265.txt") +// ), +// +// ( +// "pattern266", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern266.txt") +// ), +// +// ( +// "pattern267", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern267.txt") +// ), +// +// ( +// "pattern268", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern268.txt") +// ), +// +// ( +// "pattern269", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern269.txt") +// ), +// +// ( +// "pattern270", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern270.txt") +// ), +// +// ( +// "pattern271", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern271.txt") +// ), +// +// ( +// "pattern272", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern272.txt") +// ), +// +// ( +// "pattern273", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern273.txt") +// ), +// +// ( +// "pattern274", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern274.txt") +// ), +// +// ( +// "pattern275", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern275.txt") +// ), +// +// ( +// "pattern276", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern276.txt") +// ), +// +// ( +// "pattern277", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern277.txt") +// ), +// +// ( +// "pattern278", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern278.txt") +// ), +// +// ( +// "pattern279", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern279.txt") +// ), +// +// ( +// "pattern280", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern280.txt") +// ), +// +// ( +// "pattern281", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern281.txt") +// ), +// +// ( +// "pattern282", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern282.txt") +// ), +// +// ( +// "pattern283", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern283.txt") +// ), +// +// ( +// "pattern284", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern284.txt") +// ), +// +// ( +// "pattern285", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern285.txt") +// ), +// +// ( +// "pattern286", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern286.txt") +// ), +// +// ( +// "pattern287", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern287.txt") +// ), +// +// ( +// "pattern288", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern288.txt") +// ), +// +// ( +// "pattern289", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern289.txt") +// ), +// +// ( +// "pattern290", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern290.txt") +// ), +// +// ( +// "pattern291", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern291.txt") +// ), +// +// ( +// "pattern292", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern292.txt") +// ), +// +// ( +// "pattern293", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern293.txt") +// ), +// +// ( +// "pattern294", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern294.txt") +// ), +// +// ( +// "pattern295", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern295.txt") +// ), +// +// ( +// "pattern296", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern296.txt") +// ), +// +// ( +// "pattern297", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern297.txt") +// ), +// +// ( +// "pattern298", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern298.txt") +// ), +// +// ( +// "pattern299", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern299.txt") +// ), +// +// ( +// "pattern300", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern300.txt") +// ), +// +// ( +// "pattern301", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern301.txt") +// ), +// +// ( +// "pattern302", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern302.txt") +// ), +// +// ( +// "pattern303", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern303.txt") +// ), +// +// ( +// "pattern304", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern304.txt") +// ), +// +// ( +// "pattern305", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern305.txt") +// ), +// +// ( +// "pattern306", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern306.txt") +// ), +// +// ( +// "pattern307", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern307.txt") +// ), +// +// ( +// "pattern308", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern308.txt") +// ), +// +// ( +// "pattern309", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern309.txt") +// ), +// +// ( +// "pattern310", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern310.txt") +// ), +// +// ( +// "pattern311", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern311.txt") +// ), +// +// ( +// "pattern312", +// Path::new("/home/pengu/test/rust-dev/gof-rs/presets/patterns/pattern312.txt") +// ), +// +// ( +// "pattern