From 72f1df8eabe1dc29347ba9b63a12dff51d7a78bf Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@users.sourceforge.net> Date: Tue, 28 Jul 2009 13:37:28 +0000 Subject: [PATCH] New: Enhancement in project module --- htdocs/lib/functions.lib.php | 12 +- htdocs/lib/project.lib.php | 88 +++++++-- htdocs/project.class.php | 6 +- htdocs/projet/element.php | 2 +- htdocs/projet/fiche.php | 2 +- htdocs/projet/tasks/fiche.php | 30 ++-- htdocs/projet/tasks/index.php | 20 ++- htdocs/projet/tasks/task.php | 18 +- htdocs/projet/tasks/time.php | 11 +- htdocs/projet/tasks/who.php | 12 +- htdocs/task.class.php | 169 ++++++++++-------- htdocs/theme/auguria/img/folder.png | Bin 736 -> 1232 bytes htdocs/theme/auguria/img/object_project.png | Bin 736 -> 1226 bytes .../theme/auguria/img/object_projecttask.png | Bin 0 -> 1238 bytes htdocs/theme/bluelagoon/img/folder.png | Bin 0 -> 1232 bytes .../theme/bluelagoon/img/object_project.png | Bin 736 -> 1226 bytes .../bluelagoon/img/object_projecttask.png | Bin 0 -> 1238 bytes htdocs/theme/eldy/img/folder.png | Bin 736 -> 1232 bytes htdocs/theme/eldy/img/object_project.png | Bin 736 -> 1226 bytes htdocs/theme/eldy/img/object_projecttask.png | Bin 0 -> 1238 bytes htdocs/theme/eldy/img/object_task.png | Bin 1048 -> 1048 bytes htdocs/theme/freelug/img/folder.png | Bin 0 -> 1232 bytes htdocs/theme/freelug/img/object_project.png | Bin 736 -> 1226 bytes .../theme/freelug/img/object_projecttask.png | Bin 0 -> 1238 bytes htdocs/theme/rodolphe/img/Thumbs.db | Bin 0 -> 121344 bytes htdocs/theme/rodolphe/img/folder.png | Bin 736 -> 1232 bytes htdocs/theme/rodolphe/img/object_project.png | Bin 736 -> 1226 bytes .../theme/rodolphe/img/object_projecttask.png | Bin 0 -> 1238 bytes htdocs/theme/yellow/img/folder.png | Bin 736 -> 1232 bytes htdocs/theme/yellow/img/object_project.png | Bin 736 -> 1226 bytes .../theme/yellow/img/object_projecttask.png | Bin 0 -> 1238 bytes 31 files changed, 251 insertions(+), 119 deletions(-) create mode 100644 htdocs/theme/auguria/img/object_projecttask.png create mode 100644 htdocs/theme/bluelagoon/img/folder.png create mode 100644 htdocs/theme/bluelagoon/img/object_projecttask.png create mode 100644 htdocs/theme/eldy/img/object_projecttask.png create mode 100644 htdocs/theme/freelug/img/folder.png create mode 100644 htdocs/theme/freelug/img/object_projecttask.png create mode 100644 htdocs/theme/rodolphe/img/Thumbs.db create mode 100644 htdocs/theme/rodolphe/img/object_projecttask.png create mode 100644 htdocs/theme/yellow/img/object_projecttask.png diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index 5494a9ccb70..dfcfce9e369 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -283,13 +283,14 @@ function dolibarr_fiche_head($links, $active='0', $title='', $notab=0) } /** - * \brief Affiche le header d'une fiche - * \param links Tableau de titre d'onglets - * \param active 0=onglet non actif, 1=onglet actif - * \param title Titre tabelau ("" par defaut) + * \brief Show tab header of a card + * \param links Array of tabs + * \param active Active tab name + * \param title Title * \param notab 0=Add tab header, 1=no tab header + * \param picto Add a picto on tab titel */ -function dol_fiche_head($links, $active='0', $title='', $notab=0) +function dol_fiche_head($links, $active='0', $title='', $notab=0, $picto='') { print "\n".'<div class="tabs">'."\n"; @@ -298,6 +299,7 @@ function dol_fiche_head($links, $active='0', $title='', $notab=0) { $limittitle=30; print '<a class="tabTitle">'; + if ($picto) print img_object('',$picto).' '; print ((!defined('MAIN_USE_SHORT_TITLE')) || (defined('MAIN_USE_SHORT_TITLE') && MAIN_USE_SHORT_TITLE)) ? dol_trunc($title,$limittitle) diff --git a/htdocs/lib/project.lib.php b/htdocs/lib/project.lib.php index a3fbec0c171..b417fd50590 100644 --- a/htdocs/lib/project.lib.php +++ b/htdocs/lib/project.lib.php @@ -141,7 +141,16 @@ function select_projects($socid, $selected='', $htmlname='projectid') } - +/** + * Enter description here... + * + * @param unknown_type $inc + * @param unknown_type $parent + * @param unknown_type $lines + * @param unknown_type $level + * @param unknown_type $tasksrole + * @return unknown + */ function PLinesb(&$inc, $parent, $lines, &$level, $tasksrole) { global $user, $bc, $langs; @@ -220,12 +229,12 @@ function PLinesb(&$inc, $parent, $lines, &$level, $tasksrole) /** * Show task lines with a particular parent * @param $inc Counter that count number of lines legitimate to show (for return) - * @param $parent Id of parent task + * @param $parent Id of parent task to start * @param $lines Array of all tasks * @param $level Level of task * @param $var Color * @param $showproject Show project columns - * @param $linesfiltered ''=No filter on users, Array=Shown tasks filtered on a particular user, the array contains tasks filtered + * @param $taskrole Array of task filtered on a particular user */ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject=1, &$taskrole='') { @@ -234,6 +243,7 @@ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject=1, &$taskro $lastprojectid=0; $projectstatic = new Project($db); + $taskstatic = new Task($db); for ($i = 0 ; $i < sizeof($lines) ; $i++) { @@ -257,13 +267,14 @@ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject=1, &$taskro // If there is filters to use if (is_array($taskrole)) { - // If task not legitimate to show, search if a task exists later in tree - if (! isset($taskrole[$lines[$i]->id])) + // If task not legitimate to show, search if a legitimate task exists later in tree + if (! isset($taskrole[$lines[$i]->id]) && $lines[$i]->id != $lines[$i]->fk_parent) { // So search if task has a subtask legitimate to show - // FIXME - //SearchPLine($foundtaskforuserafter,$lines[$i]->id,$lines,$taskrole); - if ($foundtaskforuserlater) + $foundtaskforuserdeeper=0; + SearchTaskInChild($foundtaskforuserdeeper,$lines[$i]->id,$lines,$taskrole); + //print '$foundtaskforuserpeeper='.$foundtaskforuserdeeper.'<br>'; + if ($foundtaskforuserdeeper > 0) { $showlineingray=1; // We will show line but in gray } @@ -279,25 +290,38 @@ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject=1, &$taskro print "<tr ".$bc[$var].">\n"; print '<td>'; - if (! $showlineingray) print '<a href="task.php?id='.$lines[$i]->id.'">'; - print $lines[$i]->id; - if (! $showlineingray) print '</a>'; + if ($showlineingray) + { + print '<i>'.$lines[$i]->id.'</i>'; + } + else + { + $taskstatic->id=$lines[$i]->id; + $taskstatic->ref=$lines[$i]->id; + print $taskstatic->getNomUrl(1); + } print '</td>'; print "<td>"; + if ($showlineingray) print '<i>'; + else print '<a href="task.php?id='.$lines[$i]->id.'">'; for ($k = 0 ; $k < $level ; $k++) { print " "; } print $lines[$i]->title; + if ($showlineingray) print '</i>'; + else print '</a>'; print "</td>\n"; if ($showproject) { print "<td>"; + if ($showlineingray) print '<i>'; $projectstatic->id=$lines[$i]->projectid; $projectstatic->ref=$lines[$i]->projectref; print $projectstatic->getNomUrl(1); + if ($showlineingray) print '</i>'; print "</td>"; } @@ -305,9 +329,11 @@ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject=1, &$taskro $minutes = round((($lines[$i]->duration - $heure) * 60),0); $minutes = substr("00"."$minutes", -2); print '<td align="right">'; - if (! $showlineingray) print '<a href="task.php?id='.$lines[$i]->id.'">'; + if ($showlineingray) print '<i>'; + else print '<a href="time.php?id='.$lines[$i]->id.'">'; print $heure." h ".$minutes; - if (! $showlineingray) print '</a>'; + if ($showlineingray) print '</i>'; + else print '</a>'; print '</td>'; print "</tr>\n"; @@ -328,6 +354,42 @@ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject=1, &$taskro return $inc; } + +/** + * Search in task lines with a particular parent if there is a task for a particular user (in taskrole) + * @param $inc Counter that count number of lines legitimate to show (for return) + * @param $parent Id of parent task to start + * @param $lines Array of all tasks + * @param $taskrole Array of task filtered on a particular user + * @return int 1 if there is + */ +function SearchTaskInChild(&$inc, $parent, &$lines, &$taskrole) +{ + //print 'Search in line with parent id = '.$parent.'<br>'; + for ($i = 0 ; $i < sizeof($lines) ; $i++) + { + // Process line $lines[$i] + if ($lines[$i]->fk_parent == $parent && $lines[$i]->id != $lines[$i]->fk_parent) + { + // If task is legitimate to show, no more need to search deeper + if (isset($taskrole[$lines[$i]->id])) + { + //print 'Found a legitimate task id='.$lines[$i]->id.'<br>'; + $inc++; + return $inc; + } + + SearchTaskInChild($inc, $lines[$i]->id, $lines, $taskrole); + //print 'Found inc='.$inc.'<br>'; + + if ($inc > 0) return $inc; + } + } + + return $inc; +} + + /** * Clean task not linked to a parent * @param unknown_type $db diff --git a/htdocs/project.class.php b/htdocs/project.class.php index 3232390006b..0fa3b46065c 100644 --- a/htdocs/project.class.php +++ b/htdocs/project.class.php @@ -422,8 +422,10 @@ class Project extends CommonObject /* Liste des taches et role sur la tache du user courant dans $tasksrole */ $sql = "SELECT a.fk_projet_task, a.role"; - $sql .= " FROM ".MAIN_DB_PREFIX."projet_task_actors as a"; - $sql .= " WHERE a.fk_user = ".$user->id; + $sql.= " FROM ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet_task_actors as a"; + $sql.= " WHERE pt.rowid = a.fk_projet_task"; + $sql.= " AND a.fk_user = ".$user->id; + if ($this->id) $sql.= " AND pt.fk_projet =".$this->id; $resql = $this->db->query($sql); if ($resql) diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 42c1efd2499..69877390f2b 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -71,7 +71,7 @@ if ($projet->user_resp_id > 0) } $head=project_prepare_head($projet); -dol_fiche_head($head, 'element', $langs->trans("Project")); +dol_fiche_head($head, 'element', $langs->trans("Project"),0,'project'); print '<table class="border" width="100%">'; diff --git a/htdocs/projet/fiche.php b/htdocs/projet/fiche.php index a2b8ba04e7d..9065b8a8617 100644 --- a/htdocs/projet/fiche.php +++ b/htdocs/projet/fiche.php @@ -197,7 +197,7 @@ else if ($projet->user_resp_id > 0) $result=$projet->fetch_user($projet->user_resp_id); $head=project_prepare_head($projet); - dol_fiche_head($head, 'project', $langs->trans("Project")); + dol_fiche_head($head, 'project', $langs->trans("Project"),0,'project'); if ($_GET["action"] == 'delete') { diff --git a/htdocs/projet/tasks/fiche.php b/htdocs/projet/tasks/fiche.php index 9654c00ca54..9307199e492 100644 --- a/htdocs/projet/tasks/fiche.php +++ b/htdocs/projet/tasks/fiche.php @@ -1,4 +1,4 @@ -<?php + <?php /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> @@ -186,7 +186,7 @@ else if ($_REQUEST["mode"]=='mine') $tab='mytasks'; $head=project_prepare_head($projet); - dol_fiche_head($head, $tab, $langs->trans("Project")); + dol_fiche_head($head, $tab, $langs->trans("Project"),0,'project'); $param=($_REQUEST["mode"]=='mine'?'&mode=mine':''); @@ -223,13 +223,6 @@ else print '</form>'; print '</div>'; - // Get list of tasks in tasksarray and taskarrayfiltered - // We need all tasks (even not limited to a user because a task to user - // can have a parent that is not affected to him). - $tasksarray=$projet->getTasksArray(0, 0, 0); - // We load also tasks limited to a particular user - $tasksrole=($_REQUEST["mode"]=='mine' ? $projet->getTasksRoleForUser($user) : ''); - /* * Actions */ @@ -250,6 +243,14 @@ else print '</div>'; print '<br>'; + + // Get list of tasks in tasksarray and taskarrayfiltered + // We need all tasks (even not limited to a user because a task to user + // can have a parent that is not affected to him). + $tasksarray=$projet->getTasksArray(0, 0, 0); + // We load also tasks limited to a particular user + $tasksrole=($_REQUEST["mode"]=='mine' ? $projet->getTasksRoleForUser($user) : ''); + print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; if ($projectstatic->id) print '<td>'.$langs->trans("Project").'</td>'; @@ -261,11 +262,18 @@ else $j=0; $nboftaskshown=PLines($j, 0, $tasksarray, $level, true, 0, $tasksrole); print "</table>"; + print '</div>'; - if ($nboftaskshown < sizeof($tasksarray)) + // Test if database is clean. If not we clean it. + //print '$nboftaskshown='.$nboftaskshown.' sizeof($tasksarray)='.sizeof($tasksarray).' sizeof($tasksrole)='.sizeof($tasksrole).'<br>'; + if ($_REQUEST["mode"]=='mine') + { + if ($nboftaskshown < sizeof($tasksrole)) clean_orphelins($db); + } + else { - clean_orphelins($db); + if ($nboftaskshown < sizeof($tasksarray)) clean_orphelins($db); } } diff --git a/htdocs/projet/tasks/index.php b/htdocs/projet/tasks/index.php index 4613f292889..5d88989c4e2 100644 --- a/htdocs/projet/tasks/index.php +++ b/htdocs/projet/tasks/index.php @@ -79,22 +79,28 @@ print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorde $projet = new Project($db); -$tasksarray=$projet->getTasksArray($_GET["mode"]=='mine'?$user:0); +// Get list of tasks in tasksarray and taskarrayfiltered +// We need all tasks (even not limited to a user because a task to user +// can have a parent that is not affected to him). +$tasksarray=$projet->getTasksArray(0, 0, 0); +// We load also tasks limited to a particular user +$tasksrole=($_REQUEST["mode"]=='mine' ? $projet->getTasksRoleForUser($user) : ''); + print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; -print '<td>'.$langs->trans("Task").'</td>'; -print '<td>'.$langs->trans("Label").'</td>'; +print '<td width="80">'.$langs->trans("RefTask").'</td>'; +print '<td>'.$langs->trans("LabelTask").'</td>'; print '<td>'.$langs->trans("Project").'</td>'; print '<td align="right">'.$langs->trans("TimeSpent").'</td>'; print "</tr>\n"; - -$level=0; +// Show all lines in taskarray (recusrive function to go down on tree) $j=0; -PLines($j, 0, $tasksarray, $level, true); - +$nboftaskshown=PLines($j, 0, $tasksarray, $level, true, 1, $tasksrole); print "</table>"; + + print '</div>'; diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php index 77779b7ede1..7ca1fd688b5 100644 --- a/htdocs/projet/tasks/task.php +++ b/htdocs/projet/tasks/task.php @@ -86,7 +86,7 @@ if ($_GET["id"] > 0) $head=task_prepare_head($task); - dol_fiche_head($head, 'task', $langs->trans("Task")); + dol_fiche_head($head, 'task', $langs->trans("Task"),0,'projecttask'); if ($mesg) print $mesg.'<br>'; @@ -101,7 +101,15 @@ if ($_GET["id"] > 0) print '<input type="hidden" name="action" value="createtask">'; print '<table class="border" width="100%">'; - print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">'.$task->id.'</td></tr>'; + // Ref + print '<tr><td width="30%">'; + print $langs->trans("Ref"); + print '</td><td colspan="3">'; + print $html->showrefnav($task,'id','',1,'rowid','ref','',''); + print '</td>'; + print '</tr>'; + + // Label print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$task->title.'</td></tr>'; print '<tr><td>'.$langs->trans("Project").'</td><td>'; @@ -151,10 +159,14 @@ if ($_GET["id"] > 0) */ print '<div class="tabsAction">'; - if ($user->rights->projet->creer) + if (!$user->rights->projet->creer) { print '<a class="butActionDelete" href="'.$_SERVER['PHP_SELF'].'?id='.$task->id.'&action=delete">'.$langs->trans('Delete').'</a>'; } + else + { + print '<a class="butActionRefused" href="#" title="'.$langs->trans("NotAllowed").'">'.$langs->trans('Delete').'</a>'; + } print '</div>'; diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 25fb1f52ab1..79aae335b84 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -63,7 +63,7 @@ if ($_GET["id"] > 0) $head=task_prepare_head($task); - dol_fiche_head($head, 'time', $langs->trans("Task")); + dol_fiche_head($head, 'time', $langs->trans("Task"),0,'projecttask'); if ($mesg) print $mesg.'<br>'; @@ -72,7 +72,14 @@ if ($_GET["id"] > 0) print '<input type="hidden" name="action" value="createtask">'; print '<table class="border" width="100%">'; - print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">'.$task->id.'</td></tr>'; + // Ref + print '<tr><td width="30%">'; + print $langs->trans("Ref"); + print '</td><td colspan="3">'; + print $html->showrefnav($task,'id','',1,'rowid','ref','',''); + print '</td></tr>'; + + // Label print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$task->title.'</td></tr>'; print '<tr><td>'.$langs->trans("Project").'</td><td>'; diff --git a/htdocs/projet/tasks/who.php b/htdocs/projet/tasks/who.php index 5ab94eeee5f..36d20f02e4b 100644 --- a/htdocs/projet/tasks/who.php +++ b/htdocs/projet/tasks/who.php @@ -20,7 +20,7 @@ /** * \file htdocs/projet/tasks/task.php * \ingroup projet - * \brief Fiche t�ches d'un projet + * \brief Fiche t�ches d'un projet * \version $Id$ */ @@ -63,7 +63,7 @@ if ($_GET["id"] > 0) $head=task_prepare_head($task); - dol_fiche_head($head, 'who', $langs->trans("Task")); + dol_fiche_head($head, 'who', $langs->trans("Task"),0,'projecttask'); if ($mesg) print $mesg.'<br>'; @@ -72,7 +72,13 @@ if ($_GET["id"] > 0) print '<input type="hidden" name="action" value="createtask">'; print '<table class="border" width="100%">'; - print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">'.$task->id.'</td></tr>'; + // Ref + print '<tr><td width="30%">'.$langs->trans("Ref"); + print '</td><td colspan="3">'; + print $html->showrefnav($task,'id','',1,'rowid','ref','',''); + print '</td></tr>'; + + // Label print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$task->title.'</td></tr>'; print '<tr><td>'.$langs->trans("Project").'</td><td>'; diff --git a/htdocs/task.class.php b/htdocs/task.class.php index fbda91af4d0..7d74b7d640e 100644 --- a/htdocs/task.class.php +++ b/htdocs/task.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net> +/* Copyright (C) 2008-2009 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,12 +17,12 @@ */ /** - \file task.class.php - \ingroup project - \brief This file is a CRUD class file for Taks (Create/Read/Update/Delete) - \version $Id$ - \remarks Initialy built by build_class_from_table on 2008-09-10 12:41 -*/ + * \file task.class.php + * \ingroup project + * \brief This file is a CRUD class file for Taks (Create/Read/Update/Delete) + * \version $Id$ + * \remarks Initialy built by build_class_from_table on 2008-09-10 12:41 + */ // Put here all includes required by your class file //require_once(DOL_DOCUMENT_ROOT."/commonobject.class.php"); @@ -31,20 +31,20 @@ /** - \class Projet_task - \brief Put here description of your class - \remarks Initialy built by build_class_from_table on 2008-09-10 12:41 -*/ -class Task // extends CommonObject + * \class Projet_task + * \brief Put here description of your class + * \remarks Initialy built by build_class_from_table on 2008-09-10 12:41 + */ +class Task extends CommonObject { var $db; //!< To store db handler var $error; //!< To return error code (or message) var $errors=array(); //!< To return several error codes (or messages) - //var $element='projet_task'; //!< Id that identify managed objects - //var $table_element='projet_task'; //!< Name of table without prefix where object is stored - + var $element='projet_task'; //!< Id that identify managed objects + var $table_element='projet_task'; //!< Name of table without prefix where object is stored + var $id; - + var $fk_projet; var $fk_task_parent; var $title; @@ -53,20 +53,20 @@ class Task // extends CommonObject var $statut; var $note; - - + + /** * \brief Constructor * \param DB Database handler */ - function Task($DB) + function Task($DB) { $this->db = $DB; return 1; } - + /** * \brief Create in database * \param user User that create @@ -77,9 +77,9 @@ class Task // extends CommonObject { global $conf, $langs; $error=0; - + // Clean parameters - + if (isset($this->fk_projet)) $this->fk_projet=trim($this->fk_projet); if (isset($this->fk_task_parent)) $this->fk_task_parent=trim($this->fk_task_parent); if (isset($this->title)) $this->title=trim($this->title); @@ -88,14 +88,14 @@ class Task // extends CommonObject if (isset($this->statut)) $this->statut=trim($this->statut); if (isset($this->note)) $this->note=trim($this->note); - + // Check parameters // Put here code to add control on parameters values - + // Insert request $sql = "INSERT INTO ".MAIN_DB_PREFIX."projet_task("; - + $sql.= "fk_projet,"; $sql.= "fk_task_parent,"; $sql.= "title,"; @@ -104,9 +104,9 @@ class Task // extends CommonObject $sql.= "statut,"; $sql.= "note"; - + $sql.= ") VALUES ("; - + $sql.= " ".(! isset($this->fk_projet)?'NULL':"'".$this->fk_projet."'").","; $sql.= " ".(! isset($this->fk_task_parent)?'NULL':"'".$this->fk_task_parent."'").","; $sql.= " ".(! isset($this->title)?'NULL':"'".$this->title."'").","; @@ -115,24 +115,24 @@ class Task // extends CommonObject $sql.= " ".(! isset($this->statut)?'NULL':"'".$this->statut."'").","; $sql.= " ".(! isset($this->note)?'NULL':"'".$this->note."'").""; - + $sql.= ")"; $this->db->begin(); - + dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } - + if (! $error) { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet_task"); - + if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you // want this action call a trigger. - + //// Call triggers //include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); //$interface=new Interfaces($this->db); @@ -149,7 +149,7 @@ class Task // extends CommonObject { dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); $this->error.=($this->error?', '.$errmsg:$errmsg); - } + } $this->db->rollback(); return -1*$error; } @@ -160,7 +160,7 @@ class Task // extends CommonObject } } - + /** * \brief Load object in memory from database * \param id id object @@ -171,7 +171,7 @@ class Task // extends CommonObject global $langs; $sql = "SELECT"; $sql.= " t.rowid,"; - + $sql.= " t.fk_projet,"; $sql.= " t.fk_task_parent,"; $sql.= " t.title,"; @@ -180,10 +180,10 @@ class Task // extends CommonObject $sql.= " t.statut,"; $sql.= " t.note"; - + $sql.= " FROM ".MAIN_DB_PREFIX."projet_task as t"; $sql.= " WHERE t.rowid = ".$id; - + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) @@ -191,9 +191,10 @@ class Task // extends CommonObject if ($this->db->num_rows($resql)) { $obj = $this->db->fetch_object($resql); - + $this->id = $obj->rowid; - + $this->ref = $obj->rowid; + $this->fk_projet = $obj->fk_projet; $this->fk_task_parent = $obj->fk_task_parent; $this->title = $obj->title; @@ -202,10 +203,10 @@ class Task // extends CommonObject $this->statut = $obj->statut; $this->note = $obj->note; - + } $this->db->free($resql); - + return 1; } else @@ -215,7 +216,7 @@ class Task // extends CommonObject return -1; } } - + /** * \brief Update database @@ -227,9 +228,9 @@ class Task // extends CommonObject { global $conf, $langs; $error=0; - + // Clean parameters - + if (isset($this->fk_projet)) $this->fk_projet=trim($this->fk_projet); if (isset($this->fk_task_parent)) $this->fk_task_parent=trim($this->fk_task_parent); if (isset($this->title)) $this->title=trim($this->title); @@ -238,14 +239,14 @@ class Task // extends CommonObject if (isset($this->statut)) $this->statut=trim($this->statut); if (isset($this->note)) $this->note=trim($this->note); - + // Check parameters // Put here code to add control on parameters values // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task SET"; - + $sql.= " fk_projet=".(isset($this->fk_projet)?$this->fk_projet:"null").","; $sql.= " fk_task_parent=".(isset($this->fk_task_parent)?$this->fk_task_parent:"null").","; $sql.= " title=".(isset($this->title)?"'".addslashes($this->title)."'":"null").","; @@ -254,22 +255,22 @@ class Task // extends CommonObject $sql.= " statut=".(isset($this->statut)?$this->statut:"null").","; $sql.= " note=".(isset($this->note)?"'".addslashes($this->note)."'":"null").""; - + $sql.= " WHERE rowid=".$this->id; $this->db->begin(); - + dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); $resql = $this->db->query($sql); if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } - + if (! $error) { if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you // want this action call a trigger. - + //// Call triggers //include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); //$interface=new Interfaces($this->db); @@ -278,7 +279,7 @@ class Task // extends CommonObject //// End call triggers } } - + // Commit or rollback if ($error) { @@ -286,7 +287,7 @@ class Task // extends CommonObject { dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); $this->error.=($this->error?', '.$errmsg:$errmsg); - } + } $this->db->rollback(); return -1*$error; } @@ -294,10 +295,10 @@ class Task // extends CommonObject { $this->db->commit(); return 1; - } + } } - - + + /** * \brief Delete object in database * \param user User that delete @@ -308,9 +309,9 @@ class Task // extends CommonObject { global $conf, $langs; $error=0; - + $this->db->begin(); - + if ($this->hasChildren() > 0) { dol_syslog(get_class($this)."::delete Can't delete record as it has some child", LOG_WARNING); @@ -318,30 +319,30 @@ class Task // extends CommonObject $this->db->rollback(); return 0; } - + $sql = "DELETE FROM ".MAIN_DB_PREFIX."projet_task"; $sql.= " WHERE rowid=".$this->id; - + dol_syslog(get_class($this)."::delete sql=".$sql); $resql = $this->db->query($sql); if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } - + if (! $error) { if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you // want this action call a trigger. - + //// Call triggers //include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); //$interface=new Interfaces($this->db); //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); //if ($result < 0) { $error++; $this->errors=$interface->errors; } //// End call triggers - } + } } - + // Commit or rollback if ($error) { @@ -349,7 +350,7 @@ class Task // extends CommonObject { dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR); $this->error.=($this->error?', '.$errmsg:$errmsg); - } + } $this->db->rollback(); return -1*$error; } @@ -367,10 +368,10 @@ class Task // extends CommonObject function hasChildren() { $ret=0; - + $sql = "SELECT COUNT(*) as nb FROM ".MAIN_DB_PREFIX."projet_task"; $sql.= " WHERE fk_task_parent=".$this->id; - + dol_syslog(get_class($this)."::hasChildren sql=".$sql, LOG_DEBUG); $resql = $this->db->query($sql); if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } @@ -379,17 +380,43 @@ class Task // extends CommonObject $obj=$this->db->fetch_object($resql); if ($obj) $ret=$obj->nb; } - + if (! $error) { - return $ret; + return $ret; } else { return -1; } - } - + } + + + /** + * \brief Renvoie nom clicable (avec eventuellement le picto) + * \param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * \param option Sur quoi pointe le lien + * \return string Chaine avec URL + */ + function getNomUrl($withpicto=0,$option='') + { + global $langs; + + $result=''; + + $lien = '<a href="'.DOL_URL_ROOT.'/projet/tasks/task.php?id='.$this->id.'">'; + $lienfin='</a>'; + + $picto='projecttask'; + + $label=$langs->trans("ShowTask").': '.$this->ref; + + if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto && $withpicto != 2) $result.=' '; + if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + return $result; + } + /** * \brief Initialise object with example values * \remarks id must be 0 if object instance is a specimen. @@ -397,7 +424,7 @@ class Task // extends CommonObject function initAsSpecimen() { $this->id=0; - + $this->fk_projet=''; $this->fk_task_parent=''; $this->title=''; diff --git a/htdocs/theme/auguria/img/folder.png b/htdocs/theme/auguria/img/folder.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..908a6df9348330b2e9aaebcda75d5c6a08b86fef 100644 GIT binary patch literal 1232 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau*3rjw+0}62# zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zRh}-6Ar-fhXEZZOD1@Xt1gOusEji=jElHk7#y2c(-25e8dVWSo4)3E~;nSXM^Pe|s zo=_Isl(Y^0y*jJcb$WYzDhy;Sip^gA>b2M9PkZN-gjhc}IO6v@bCt)Jf-6@8m<t#G zmgbslJNK)})v2M4U3-5^o#uXYSI1}TR);$?A}_0dE8Frk)vZ;6X=mc*^z-v9Q=P)S vi~BeyWY3#Bcdn@5yXV=dnS76w8ZC<%7H5Ur<kz0l28sqxS3j3^P6<r_#*QOW delta 688 zcmV;h0#E(W3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZvGeb}S diff --git a/htdocs/theme/auguria/img/object_project.png b/htdocs/theme/auguria/img/object_project.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..5ea2e846ddfd125708ef8fdc650742f6acc88823 100644 GIT binary patch literal 1226 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau@#TR@@019yy zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zC7v#hAr-fhXEZZOD1@Xt2nd-QEZ%A?ab|1bhRt8~U(GXIc|+<*>3W@$x$|vIZB?)E z9NFsMtFwAtr?<za!a&BN*zDD>UVB~sw0BNPNaLLwnYO;7opOD<q_Pz9O6r{xH!a^h zZ`m%Rj@NguN5l!dPfJ|2mi5uGGqdbAZeOgcZ>)7h-~{h%+v;y;G=+CX%_{b3i23~H p&6_nH1@`gU-o*mqoM&b-Gd$i9>iuy=Cn#VUJYD@<);T3K0RX&V9`pbJ delta 688 zcmV;h0#E(Q3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZf6GKV> diff --git a/htdocs/theme/auguria/img/object_projecttask.png b/htdocs/theme/auguria/img/object_projecttask.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec85fed9d3b2f6ca50036741eed51f4b0ded557 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kawZMaUXd0);pW zJR*x37`Q%wFr(8NlNmrkmUKs7M+SzC{oH>NSs56Z83KGlT!G?TTzm{1(%d}4y!>K( z0ulm(;-X@*3>=Eg+-eM5T8!LUjJ(>+yjm>0T8heg%BlvUx_)X}PCmiatg0Q{TAiF) zJv`c-ygFTcI^FzwJp%f@g8F@e27TgIU91LM1T40S*=!ZI+bLjkSkZsKk<S8Y=c7_C z#}&LzD}`J&jyP@+b<8;Vx<T4~z09Z1q4Qiq=Q>7jjZ1Ei&zTaKzRfw~Vp#c+$f^VW zHIIrLR#&!dtZv!m*>W|k`)cIG+tHJ6#Z0;5-tykR|6@Sc$M^|PGH2b*p7}0k!Tqeo z-*cDz$X)-pZso(uwV#^$ws%e4*EaWD&*TFWW*nS6>*%z(C#KCm-Lmjj`^x)M795|u z;@pIFcjqm;(75Jd%gP5WYajKmeblo4Ys-dLZM*(-?)=iR=g*Y&k0$SZF=gNTx!ayD zT5)#S`Ws6&Tv@UC>h9fVm+XGDVfUl<1Ak{6{5k8)@7)J(?>lsV!O_=?kH24a;OX)U zzn5SAx8~ZHt!H2FI`d}NnYTMGzT0^5!|rPzwm$y5`^mrkPyZY_diC7-JI78vI&kLA zxvQ_v-u!go@{1ccp4__g_RO1KH=q8z`sM%4AOD{`dHdx3-xn{wzJ2%o-McTZ-u`^{ z``?@I|37^A`ThIvkH7!_{rm6#|Np>f9R<XMK;o+oQ0AIj666;Q47WiG7*7A$;{$Z) z22U5qkcwN$Gn$zso}Doi5;A(l!_ic*oWs~?6L-p%GPdTOW{o*LPKSike6+T)72efm zmAKhjbSc>BtV7K25M?(v#l>?}<i$l5u5Z0IePW=4gTir7chM8Qa}^GpIC1P)#>$0k zkKD{R8yguIaAmC0Zr*V(xaSA!jn=z9TemvgnGqShOD#fbYpPqT1k=vM&FSaoT~abg z^(yY;oRB?l?%cUkQ>RQ#P0i$c)YK?CV~#O9!{5EmAvP@v_Mph{boFyt=akR{01)CE AGynhq literal 0 HcmV?d00001 diff --git a/htdocs/theme/bluelagoon/img/folder.png b/htdocs/theme/bluelagoon/img/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..908a6df9348330b2e9aaebcda75d5c6a08b86fef GIT binary patch literal 1232 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau*3rjw+0}62# zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zRh}-6Ar-fhXEZZOD1@Xt1gOusEji=jElHk7#y2c(-25e8dVWSo4)3E~;nSXM^Pe|s zo=_Isl(Y^0y*jJcb$WYzDhy;Sip^gA>b2M9PkZN-gjhc}IO6v@bCt)Jf-6@8m<t#G zmgbslJNK)})v2M4U3-5^o#uXYSI1}TR);$?A}_0dE8Frk)vZ;6X=mc*^z-v9Q=P)S vi~BeyWY3#Bcdn@5yXV=dnS76w8ZC<%7H5Ur<kz0l28sqxS3j3^P6<r_#*QOW literal 0 HcmV?d00001 diff --git a/htdocs/theme/bluelagoon/img/object_project.png b/htdocs/theme/bluelagoon/img/object_project.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..5ea2e846ddfd125708ef8fdc650742f6acc88823 100644 GIT binary patch literal 1226 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau@#TR@@019yy zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zC7v#hAr-fhXEZZOD1@Xt2nd-QEZ%A?ab|1bhRt8~U(GXIc|+<*>3W@$x$|vIZB?)E z9NFsMtFwAtr?<za!a&BN*zDD>UVB~sw0BNPNaLLwnYO;7opOD<q_Pz9O6r{xH!a^h zZ`m%Rj@NguN5l!dPfJ|2mi5uGGqdbAZeOgcZ>)7h-~{h%+v;y;G=+CX%_{b3i23~H p&6_nH1@`gU-o*mqoM&b-Gd$i9>iuy=Cn#VUJYD@<);T3K0RX&V9`pbJ delta 688 zcmV;h0#E(Q3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZf6GKV> diff --git a/htdocs/theme/bluelagoon/img/object_projecttask.png b/htdocs/theme/bluelagoon/img/object_projecttask.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec85fed9d3b2f6ca50036741eed51f4b0ded557 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kawZMaUXd0);pW zJR*x37`Q%wFr(8NlNmrkmUKs7M+SzC{oH>NSs56Z83KGlT!G?TTzm{1(%d}4y!>K( z0ulm(;-X@*3>=Eg+-eM5T8!LUjJ(>+yjm>0T8heg%BlvUx_)X}PCmiatg0Q{TAiF) zJv`c-ygFTcI^FzwJp%f@g8F@e27TgIU91LM1T40S*=!ZI+bLjkSkZsKk<S8Y=c7_C z#}&LzD}`J&jyP@+b<8;Vx<T4~z09Z1q4Qiq=Q>7jjZ1Ei&zTaKzRfw~Vp#c+$f^VW zHIIrLR#&!dtZv!m*>W|k`)cIG+tHJ6#Z0;5-tykR|6@Sc$M^|PGH2b*p7}0k!Tqeo z-*cDz$X)-pZso(uwV#^$ws%e4*EaWD&*TFWW*nS6>*%z(C#KCm-Lmjj`^x)M795|u z;@pIFcjqm;(75Jd%gP5WYajKmeblo4Ys-dLZM*(-?)=iR=g*Y&k0$SZF=gNTx!ayD zT5)#S`Ws6&Tv@UC>h9fVm+XGDVfUl<1Ak{6{5k8)@7)J(?>lsV!O_=?kH24a;OX)U zzn5SAx8~ZHt!H2FI`d}NnYTMGzT0^5!|rPzwm$y5`^mrkPyZY_diC7-JI78vI&kLA zxvQ_v-u!go@{1ccp4__g_RO1KH=q8z`sM%4AOD{`dHdx3-xn{wzJ2%o-McTZ-u`^{ z``?@I|37^A`ThIvkH7!_{rm6#|Np>f9R<XMK;o+oQ0AIj666;Q47WiG7*7A$;{$Z) z22U5qkcwN$Gn$zso}Doi5;A(l!_ic*oWs~?6L-p%GPdTOW{o*LPKSike6+T)72efm zmAKhjbSc>BtV7K25M?(v#l>?}<i$l5u5Z0IePW=4gTir7chM8Qa}^GpIC1P)#>$0k zkKD{R8yguIaAmC0Zr*V(xaSA!jn=z9TemvgnGqShOD#fbYpPqT1k=vM&FSaoT~abg z^(yY;oRB?l?%cUkQ>RQ#P0i$c)YK?CV~#O9!{5EmAvP@v_Mph{boFyt=akR{01)CE AGynhq literal 0 HcmV?d00001 diff --git a/htdocs/theme/eldy/img/folder.png b/htdocs/theme/eldy/img/folder.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..908a6df9348330b2e9aaebcda75d5c6a08b86fef 100644 GIT binary patch literal 1232 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau*3rjw+0}62# zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zRh}-6Ar-fhXEZZOD1@Xt1gOusEji=jElHk7#y2c(-25e8dVWSo4)3E~;nSXM^Pe|s zo=_Isl(Y^0y*jJcb$WYzDhy;Sip^gA>b2M9PkZN-gjhc}IO6v@bCt)Jf-6@8m<t#G zmgbslJNK)})v2M4U3-5^o#uXYSI1}TR);$?A}_0dE8Frk)vZ;6X=mc*^z-v9Q=P)S vi~BeyWY3#Bcdn@5yXV=dnS76w8ZC<%7H5Ur<kz0l28sqxS3j3^P6<r_#*QOW delta 688 zcmV;h0#E(W3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZvGeb}S diff --git a/htdocs/theme/eldy/img/object_project.png b/htdocs/theme/eldy/img/object_project.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..5ea2e846ddfd125708ef8fdc650742f6acc88823 100644 GIT binary patch literal 1226 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau@#TR@@019yy zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zC7v#hAr-fhXEZZOD1@Xt2nd-QEZ%A?ab|1bhRt8~U(GXIc|+<*>3W@$x$|vIZB?)E z9NFsMtFwAtr?<za!a&BN*zDD>UVB~sw0BNPNaLLwnYO;7opOD<q_Pz9O6r{xH!a^h zZ`m%Rj@NguN5l!dPfJ|2mi5uGGqdbAZeOgcZ>)7h-~{h%+v;y;G=+CX%_{b3i23~H p&6_nH1@`gU-o*mqoM&b-Gd$i9>iuy=Cn#VUJYD@<);T3K0RX&V9`pbJ delta 688 zcmV;h0#E(Q3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZf6GKV> diff --git a/htdocs/theme/eldy/img/object_projecttask.png b/htdocs/theme/eldy/img/object_projecttask.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec85fed9d3b2f6ca50036741eed51f4b0ded557 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kawZMaUXd0);pW zJR*x37`Q%wFr(8NlNmrkmUKs7M+SzC{oH>NSs56Z83KGlT!G?TTzm{1(%d}4y!>K( z0ulm(;-X@*3>=Eg+-eM5T8!LUjJ(>+yjm>0T8heg%BlvUx_)X}PCmiatg0Q{TAiF) zJv`c-ygFTcI^FzwJp%f@g8F@e27TgIU91LM1T40S*=!ZI+bLjkSkZsKk<S8Y=c7_C z#}&LzD}`J&jyP@+b<8;Vx<T4~z09Z1q4Qiq=Q>7jjZ1Ei&zTaKzRfw~Vp#c+$f^VW zHIIrLR#&!dtZv!m*>W|k`)cIG+tHJ6#Z0;5-tykR|6@Sc$M^|PGH2b*p7}0k!Tqeo z-*cDz$X)-pZso(uwV#^$ws%e4*EaWD&*TFWW*nS6>*%z(C#KCm-Lmjj`^x)M795|u z;@pIFcjqm;(75Jd%gP5WYajKmeblo4Ys-dLZM*(-?)=iR=g*Y&k0$SZF=gNTx!ayD zT5)#S`Ws6&Tv@UC>h9fVm+XGDVfUl<1Ak{6{5k8)@7)J(?>lsV!O_=?kH24a;OX)U zzn5SAx8~ZHt!H2FI`d}NnYTMGzT0^5!|rPzwm$y5`^mrkPyZY_diC7-JI78vI&kLA zxvQ_v-u!go@{1ccp4__g_RO1KH=q8z`sM%4AOD{`dHdx3-xn{wzJ2%o-McTZ-u`^{ z``?@I|37^A`ThIvkH7!_{rm6#|Np>f9R<XMK;o+oQ0AIj666;Q47WiG7*7A$;{$Z) z22U5qkcwN$Gn$zso}Doi5;A(l!_ic*oWs~?6L-p%GPdTOW{o*LPKSike6+T)72efm zmAKhjbSc>BtV7K25M?(v#l>?}<i$l5u5Z0IePW=4gTir7chM8Qa}^GpIC1P)#>$0k zkKD{R8yguIaAmC0Zr*V(xaSA!jn=z9TemvgnGqShOD#fbYpPqT1k=vM&FSaoT~abg z^(yY;oRB?l?%cUkQ>RQ#P0i$c)YK?CV~#O9!{5EmAvP@v_Mph{boFyt=akR{01)CE AGynhq literal 0 HcmV?d00001 diff --git a/htdocs/theme/eldy/img/object_task.png b/htdocs/theme/eldy/img/object_task.png index 82f4dff41b953dd9e0d0318565215b665a709ecc..60c194f1048a75cc1f36c4ebf4394dd1ca91195e 100644 GIT binary patch delta 42 wcmbQiF@s}*mi$e286FL#3%W<67#J8h3p^r=85p=efH0%e8j~3tJ<l@(001uxkN^Mx delta 42 wcmbQiF@s}*mi$#FP7xXPi+gYQFfcH17I;J!Gca%qfiUBxyLEpydY)$n00HX^zyJUM diff --git a/htdocs/theme/freelug/img/folder.png b/htdocs/theme/freelug/img/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..908a6df9348330b2e9aaebcda75d5c6a08b86fef GIT binary patch literal 1232 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau*3rjw+0}62# zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zRh}-6Ar-fhXEZZOD1@Xt1gOusEji=jElHk7#y2c(-25e8dVWSo4)3E~;nSXM^Pe|s zo=_Isl(Y^0y*jJcb$WYzDhy;Sip^gA>b2M9PkZN-gjhc}IO6v@bCt)Jf-6@8m<t#G zmgbslJNK)})v2M4U3-5^o#uXYSI1}TR);$?A}_0dE8Frk)vZ;6X=mc*^z-v9Q=P)S vi~BeyWY3#Bcdn@5yXV=dnS76w8ZC<%7H5Ur<kz0l28sqxS3j3^P6<r_#*QOW literal 0 HcmV?d00001 diff --git a/htdocs/theme/freelug/img/object_project.png b/htdocs/theme/freelug/img/object_project.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..5ea2e846ddfd125708ef8fdc650742f6acc88823 100644 GIT binary patch literal 1226 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau@#TR@@019yy zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zC7v#hAr-fhXEZZOD1@Xt2nd-QEZ%A?ab|1bhRt8~U(GXIc|+<*>3W@$x$|vIZB?)E z9NFsMtFwAtr?<za!a&BN*zDD>UVB~sw0BNPNaLLwnYO;7opOD<q_Pz9O6r{xH!a^h zZ`m%Rj@NguN5l!dPfJ|2mi5uGGqdbAZeOgcZ>)7h-~{h%+v;y;G=+CX%_{b3i23~H p&6_nH1@`gU-o*mqoM&b-Gd$i9>iuy=Cn#VUJYD@<);T3K0RX&V9`pbJ delta 688 zcmV;h0#E(Q3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZf6GKV> diff --git a/htdocs/theme/freelug/img/object_projecttask.png b/htdocs/theme/freelug/img/object_projecttask.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec85fed9d3b2f6ca50036741eed51f4b0ded557 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kawZMaUXd0);pW zJR*x37`Q%wFr(8NlNmrkmUKs7M+SzC{oH>NSs56Z83KGlT!G?TTzm{1(%d}4y!>K( z0ulm(;-X@*3>=Eg+-eM5T8!LUjJ(>+yjm>0T8heg%BlvUx_)X}PCmiatg0Q{TAiF) zJv`c-ygFTcI^FzwJp%f@g8F@e27TgIU91LM1T40S*=!ZI+bLjkSkZsKk<S8Y=c7_C z#}&LzD}`J&jyP@+b<8;Vx<T4~z09Z1q4Qiq=Q>7jjZ1Ei&zTaKzRfw~Vp#c+$f^VW zHIIrLR#&!dtZv!m*>W|k`)cIG+tHJ6#Z0;5-tykR|6@Sc$M^|PGH2b*p7}0k!Tqeo z-*cDz$X)-pZso(uwV#^$ws%e4*EaWD&*TFWW*nS6>*%z(C#KCm-Lmjj`^x)M795|u z;@pIFcjqm;(75Jd%gP5WYajKmeblo4Ys-dLZM*(-?)=iR=g*Y&k0$SZF=gNTx!ayD zT5)#S`Ws6&Tv@UC>h9fVm+XGDVfUl<1Ak{6{5k8)@7)J(?>lsV!O_=?kH24a;OX)U zzn5SAx8~ZHt!H2FI`d}NnYTMGzT0^5!|rPzwm$y5`^mrkPyZY_diC7-JI78vI&kLA zxvQ_v-u!go@{1ccp4__g_RO1KH=q8z`sM%4AOD{`dHdx3-xn{wzJ2%o-McTZ-u`^{ z``?@I|37^A`ThIvkH7!_{rm6#|Np>f9R<XMK;o+oQ0AIj666;Q47WiG7*7A$;{$Z) z22U5qkcwN$Gn$zso}Doi5;A(l!_ic*oWs~?6L-p%GPdTOW{o*LPKSike6+T)72efm zmAKhjbSc>BtV7K25M?(v#l>?}<i$l5u5Z0IePW=4gTir7chM8Qa}^GpIC1P)#>$0k zkKD{R8yguIaAmC0Zr*V(xaSA!jn=z9TemvgnGqShOD#fbYpPqT1k=vM&FSaoT~abg z^(yY;oRB?l?%cUkQ>RQ#P0i$c)YK?CV~#O9!{5EmAvP@v_Mph{boFyt=akR{01)CE AGynhq literal 0 HcmV?d00001 diff --git a/htdocs/theme/rodolphe/img/Thumbs.db b/htdocs/theme/rodolphe/img/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..6e43e1b2cd962bdb595e1cadc275184de248df13 GIT binary patch literal 121344 zcmeF)2Ow7a|2Xi+o*~&;8Ih5_BGNFEQV1EPjD(QAqL3Xzsi=tT?8wTdA$w+zQg-xY z{@>@`-0%I}@4eq|rSI)u*SYuQJoJ2?x8r%<pY!>A&gY!-vVL>l-3+>Z)E^dU6c%b_ zl>mkNyPspiV~n-$$xtZddt$J%y1Kgd<BRYBzTH@UkiWn({GNF5o>2g7fCG^C93PMZ z0ze3e0P<dM0we(5eiRMZ49LM2KnXYi6`%&RfEmz%t$-dd07k$BwgE1{0$2eXU<ca) zC)fpc0B#@*cmOZh3HSg%5CDQe2#A2)Kop1paUcOCfhv#!(%=A)0egTf*bDZ7{Xh<= z0C}JQ6oC>@1_!|*paBkpQ{V_t14qFzpbj*F9ykuPfHu$pCx9-{2gbkvoCJoz7MuoW zfDteO7Qhso1!mwJFb9^v9-IeOz#7<q3&0Ne0tes@9Dx&X1}?xAxB(Av1*pNRSwcx> z_^VjJ+WMCg@DHE4P{Ai=?W2x-UjEZUMtoA^3TYh%7Ch<VDU4s9ioAd8S+G%<7;Ev7 z_2<6UUgVd6Wgol)7r;6AD<JR5mo8*b3w~+*K?t%PNjO-L&+d8_Wc!i7B$B(IyZuP+ z>VMjPq%0;tzC~VRE&uW0F+Lywf6RZRzDM3`UMRd7*5m-me`J%8I$$mTk@^9t1OAx* zNO>msIWyP>SO6<v18e!u0gpMs4uI4VNF9Kb`%n2V49`L8fIsFxQVyvDko-sL2c!;= z0egTf*bDZ7{Q#*OkUBsfAmtQc{rmh!>IS3^K<X2u4*0YDN9qTp>|f<SQa9)W18@?Y z0*2r;K=L0ci+mQ5I=~eCG5?Wz0jUH2nEyyQq#i-)0Hl6E>VUt>e|Pw|ivX$9F@Pu* ze16(j`%q*`a*A>&4ERtPAiv;h7yN0kFfoz;VZny~aqw|)u(5Fn@$hi*i3y2`i3o{^ zHj$8%Z6euBLPSJHMYeeh1tldVF)1|-6$K4B1tkUYA{bau1{;R}2Zw-S6VWD$FJ4wl zQJeAMvq*@A!GglvjDfWoW3>X=k6_@yZ;SlGpB4;E_#JWa@CgWs;0Za9p%_?LnAljz zZw=3Og?~q3Z^j|tCLoKu<;Y1q7Ap!tkC40gta~$_P^vXdu?d~B_9P&rqNbsxW8cof zxr0ksL{v;%V%NU?2jt`x6qSx1Q`gWuuBB~w`izmWiRoFJ3$}Ll4vtQjE_-?VT=De_ z4Z9W|5qbSa)V<ia`|$}65|c8svU76t9_1I5l~+_&RoB$kH8wT3w6?W(boLJn4h@ft zzJ4<{Ju~}$ZvF%M;{vi>7$~e?H|w`8`@?o^hV8<{#>T?NL$(V8(;i@L#>UwufJ-iW z1n;EP78XGde2TpxcQc+4unMV7QJ%7HAf#dw?q{DyHtm-!`@9YF{HiVcZNvVxU7aXm zEDU(_ur@;i&MtEtXp%AECZ$|bK*tQ+R_dx2T?ik0&e;;(j5e#a+gwR;@?rq9x`n*V ziKar{RTR#q<p;b=LU9Ky<2Iee&hj#Bj&D2|Y<Cy6MaXbur}Qc3ksO)6J1ZnFx6Jpv zjMXJoIo2GQoma=piutB4P5Vgjt?1z_{j^q5(N5j)qT9C%H6rY$Q~0||Jy?AyPO2Y6 z(g_bmIL%K(h(0LCl5=i<l3ZLmP0^j42D8!OJXcjoBCq7VsoG&lLva&fi;}N%+~ccP zJJvpSU$<V%Kl<;Ke{1oNey8}KUk$9~Klw)f|5C60@cBPy=_~WlxNOp=EpyKbX=77) zlvmX&?h_FVy&bbP?K<3z4l^BBj$5c&vs|0l!4|#s<RYhuJH?VcN4Y)@T2d*y_1rMI z!=;KXT1IULF7cG?@)WD95LfUZewT3VKuFu%O|>R-k=wh*%2rypz9o7PP2{h0y&^<q zD`rYi99f+#^Q9-a#g?lmPwRbKS8DaBo3$u&HXT}2&o6$=D)>rCgy_oU&=Sp)^hcPD z*v12??_ER*Ug$-$r@w14PSEb^UXlqrn(xORq|<fV=p*|h1C-#dN<lf=U^W&mPdD`= z7YP@N{ZOA#IehQ@L;6kYS-z(I%?JV4+Mh_9Z9NMTAF3{>xIe%B%LC6nj1+<eX)ms4 z`I_xV`n7BEk+$l379>6{ya3Wxhvwhv=e(8zJSpJQ_HWd`zco|-Y3;9#`WNzGt^VEr zgS3CBP*fZ3pP!@svwSrDn#{T2PR$BEBDC(HWQ=#`Wjga#4+?+#0WAaN%R1Stq8b^G zPDiM(q9PjkcaSma3uep|Ee_)O6sioAco)ov^^KpEAw`FdpmHOdEb;Nr@X}uRI6%&9 zvef*vy2Qz|24krly*%jLOSZ%~o$ezNxQh?hESj$AeiO%(ueuk{!x+vhnCe%(N$7>} zG{|ucx*lN7<@#~n!7O%JPAxHvA$4nBVNf@hE#w|(XBLfEVadzgl978#xvQRPXg2oa zjcXQaLDmVISQL)zVUle)K!NcY4W2*jpf>VvWBlR24y^od#veBF?|1vZiyQmDjq$&~ z8rb|F<sbHP+>&xCTDhMj*1iALiPyWzd*4KyAKTj_@%&ND;XIG7ry)vtwcO|B-KwLK zr!)so^oSM~P5Jnnr(RI?rIXS-Gai^6X8NGZyPfZymM<TcDCO1ADT$e0i6BM(Rh0S7 z+50Om3X0mr1<dG(NSEk4G;5uVVg^=G0ZdzXrG)w<OES@UswFBGgOy4*?@mQ!oSF5- zBUcv03(y`tH%5CJS0p4BwY=k=A1BuH5|fh4TbAt6vMCN+Z71|ePV}mtv7(BfcQ+#| z${7;lzMdD~cW|5ARMorL00x;$y?BKpQ({l3dT6F9vqL&#Z~7-cjUd-OOU;7{9U0hz z`%%ZFwv>?a$liNgi3d=2%|{NP+`oL^iR?<(_McyyzsPaY^(<f0|3!|EuJu2~*ApDd zBJq)9R-3@*_J5J%t4BWde<k4YdX}%*{tFOrEk6G*N3g&CH^7DMM~=@S$K5`6`#s^g zCqHff-+laMqyMsYT<V7(zg^y_zrS7mec%Uae-WZKj=%hRT=|F3--W@!m@0GQs>Zi& zBxrlyC2hUP9a+<2{=%XAA3nV$dh;Z6---FCzSBCyNh3CkF?eY9X}`(&qa};now_Ph zc4O9-!X~kf98(o(6*<q7tn1HKZkO;wWeJfLH&$PwmWUR@{cGDH^HlA|^IHz)R zn~j1vpA2~&E+tWXqo+9#?8hkRcs$SFwv}z>(0zebRL29Xh2xF3W(@91na%H?cDc%{ z6nX75x8!BlIvLGzxRzyCD6N*lHV<Y`{Cg!4iuav;^|W;3LfW$=Z$)q<a^&B;DD%aQ zsI~UfKQ;e6pe=yR8@UAQ%fJhG10Qe&_yRxR4+20S2m-+XDHj6kP!I;Lfp8E3BEfZV z14IGjxwl|_8$^Q`a0lE4_dqO&1NT8ZNB|E&B1i&A`4m{Ef;5m09)b*z39>*o$N{+^ z4<KdoVO;<ogF;XQia`k|1y4X3C<hgw5+LQOVO;}iK^=Gso`L7!1*iuvK?7(6O`sXH zfL4IKMmwxKKqu$|-QX4I0llCP^n(E~2!_Bg7y(H6*RXyA#=u+f4vd2dFbSr>G?)Ri z04XyE>v`}2putD502aX#SOzQLmjgu@&<@?0|MK4__WW=9zZ>;0d=7~Ld<;?QSn!$r z0p_2Pp~yClzx*7>Ulxv@Xq@W}oY&)M2|E%Z&E?=W=oa4JW!7X-aFAfTRF@V;hg7H+ z^Rth8-R;!n%<`6Rm7Kk4=}XPsPfB&UVaXQ5AzV)g+sQY0+2EMPsoT41F^1h{BKFc{ zu1LC|T7*@USGLr9j|?=aXNOO+H)T&r4Ta=~nyJfhQ^E0^i1C?&G6iVEnV9NczbKB1 zWyuxto3CW#rY8MTgq^F3TC&Ga37fsGxx2ke;Z6@nkjV(s&i5o9Hwdb17WO~rpVcN% zYh~b#OML7iTAX3mlx+XlVn*7MIH^C$x*1(Cr=~mEThf2#?tg6$39Nto;g`Ah!pJ@a z7Fhk)<tjWQ67$!m34Vk4Oz=`9;B({Ogy%kk`UY8q)*l~31YSoJd~W<?c<$Cu@rA!Z zd;)mAEng7-5j^+cr}%62uRpvWKSKSx6@{@;|Nb2H@3PFId=cf1`4}fotgYj3-yX1u zHd{qGH0)veueBC@fIls3pWo6Sr2Vil{`vEae~L7`SJ`DwQaki8$Jp#N&vU|1#Ur7I zxJUS|&~=A8yug`S_H+DTkE)u_V0lijBvdSR&QT>p87suwTH>{vZ>wbwDYjPE{<vBj zOM2|!iR&}%AGq-6UpQ-Cb=X_gFsG}pmtQe6VYb!a&JfPIXEu|}L_z0IN#{&CHVa6^ zTU~x?Dn@tMt<_vtuTxHJadPZ2lWO>(2qGe#t-`lbpHeIqm+-F0zm#Td9bZzuV;WU? z$2O;#_uk{nO8ot7d!Ak;c=CkdbsA~ke330jITK!z_6<W7sv6YAP?__$!Vb8;)i8d> zC^<OUDfT2X+4PQ{d)ZM#X@3VQN8t)zsd-<<?R!?vn+GVqBf&FllJ1(1L_40rJ}(>h z)*oAmoKvF_d;ej6)Dbb1(~$!g<Tk5WD{Jh#b?cZ;1C#s`(*f1X#e{^I!S9rJLN_#? z-~ffDWcU4yFG%{e<cIZI{*(S7`M=SB_-XQgF>7GdPvkB4VwcMH1tJYUg`mYN<(C7h zBTA(QB}9CuY$|pQPX-U<G}~r3=aoy=U9EV4fpLDT$!J)W&D@ie$xgiEISorXyI$2~ zI3{9W^$C!$rmQ-~v@iI&F{5|<a`Zb9m3>uAo$2?-s0vPqTC<$!(fNo!TxX8|i2kJN zL67!9$~h57!-)Hg$6lr18*vMET}2(O3DBv`7hYMWPW;StTFak38~L*_|KsnS|FM8K zkXP=^nrarc5}W2CU-T%SZX%h*l)Cf0XJ^lgVZ%D#Qg>b|g*FqO?oF|n`TCt^^KQ9l z^C_X~9+vEBnZTV1jqgTH#^-e2YUG7cEzT=!3p_p)?QxO&$pp7ymCTko*`zT#nJdyb zuh3CrWn(K;CHnYdA0A4DzR*@Qh+LEi4?F*nK@rDp=9QV>@|_hPbnie(87U1~{}5V! zz<j5xMp^&nR4Lk2sgx0hL~@Ia1L~*v?HP%vYAT(H#H!^8Hzze}Q;Rp859V<lw;XN% z%!K>hz6*J{mVZ02zfb>5<Qw!q#b7)3g3s;$R>5;cV0)28^c%z{gV!MkpBujop4<JY z|10(l;!D8m?fQcFqwrkDPw~aqAODwgu%*5r{(E??;-~mudj1CmiejVx{d4rc7mX{l zla~&*7HYbtjD6U}S1v=K!hXA%D(pI2bJ{74c=BDjle~v0IGHn~i=-XU)-L+ftkrg! z(OafkK6n>$+qf89(rj|+n-{ngSif^Blak3noOviHj;;$`{ot%L7J45{wev}3sIVWc zR1wU)i#e$puGg=tP;-uAYxUHJN&N$E&!kzho87P+oQ5y7zC3p>H2}L?rj{deCG&hW z6SwI6{AgpbEMM9{_zuPRNTG>W<4@gu9i2YLutc_5DP4<eQoixQVm@bqeHDc*g*Bbq z!?0@=r8r&mp2}@|gJoQk#gI4k%tS5@_bya|iR~HjcQ&Oo6q*t4Wr-!rcU<-jsBYCd z(be%rEGkSkp?3Sw;xV#ndS$^SAFj%+*b5i#6%jfF81qf^KW7XqYLlOpze_A96xr<~ z>?Ao+AQL4WFkN!-Lhuzj+oH4wVceZB@-*`7!i2@Bn)u{{4h*YmkEE^OywQH?$Lp>; zP3_CG`4WSSTC-x_)r(d|tjBuW#LoqB-g|6Twln*v&gAHro#tg-llZ*e`sVkNI>*nM z-_6bSmUMPFEKh%g^Vk6_jAJAytcy4lNAyD8{NK@$wf)D-AEf=ZQGfhA{huG8{<uhr zS~Ab`IaJc<V(E$#<D0GXMz||~o7d9gR1c*W7k6|rXdRNIpTfnV9FCbvg42Obn8?s! zRjrz$^G+%waW7406!WE9um!5gpOtK@%aD5_eVg+RX{?lG9|P+E?rlr6B(}Qwtkjm& zS8>lbRc1eJ7z}Yd+M1tS;^Cx`&El`$=5k;_8QY**wK<2}e2AIeQlUj`?!{JCILU@| zUrvs9Rp(YS6T`ebFKnwyaxWM(q1@94*DX5o+2_)%<v;lklK&(ql8yGm&(VHZI67!P z{;uGBn6|f}^X&er9h<|WM7b*LvCf~usMZT_b1Q3GSV^8L*UWFR7>ZG$OL=H|^<amy z!%NhdL!U)07DuW}#-ia$OECl5YTB%l5vL`4S$p(o(@w09xgixVDIe|6KS33uv(4zR zo8Fy4R%|q1X$+dHxM+${MRPynrkrWx%f`_<Pt6=B>FO2;dY>}Ay%<h>TwYSDs4I@c z4Y%>L&PH3ypWXk^{6Q|8gUlO(%d()b0S>?gcmN*|075_nh`}a60+2Ffu-**F!4^OP zC;=6q1~h;c(1ERh9xwn#0N1zq<u$g!ngy@|Hoy+H0}j9mb^tEG4R`<&cPFg*06!1_ zf<Ooe0}&t!!~pVK30Us}l0XUU2GT$V>;bZ1FW3k6g9AVg$O8qS2$0v&g!Mt70uBLH za2Ol`YTzh12GoHDK*|`wS_^0c9dH8Z0zIG)48Tc%Tnfz)oCaqAQq}|3CcqS&1!mwJ zFb5XE5}XHCz#7;9q?|3R?SMUS0FJ;3I0F~p3fzD@xCl1pe|^S<o&GoTzm{>QcNhB; z_i#0f=$P$&*u8Txv7h9WtQj8rL%RpHZ11ty`Y_F|q9r+eCf&BnCz@>0?k=~#ua^=@ zrH1Ei6y&`B)cr%PTyA^i_dZtT_Na7w=}wo;u%&`==al-Ac2up6Fp)ibHeoG$cEtS3 zxwB;^ue1hc$;6rOo-Y@F@?tqu>OjKT-Yr2l@9T}VX&Z&d_WIN07{n`^nQnjBfp?uD z>TuweapRAkf{8rGGUgqv1TNVvcLlrUE(K^d4=d(zj33L^XnbXxyNXJvTm76Xoxq^O zpDb(jFaJNZ{{7zhC$awVCk#n=UpWC(Kc6-K2NUWYDR{q;g@2t_Kt#@eLgKD1zrN~! z{z?k*cYYdw6!;GDnIS&Or|lQ~4)LWRK61SaWcdeQe{PwmP53$Ez=ujP?eLrshly*h z@ngbud>sZdjy@=Br-ioasB}LmxY7c}E0bQr_cvo`x_#5q;v(e=J$q0O8rbd{hYSP{ z^I6>7=NN=3u=U7Zr{M9e(?`oTqa!Pd38oox^LX|ybk3Y<YUSfP&wJ;zeD|RB8QIgU zn*!()nPW0X{VrHiEE&qQH=Zpc;v?0qoOj)`KSVCo$~aptWJ=&+(5vKh>d5A*!%Eg? zqZB)KzhAmiZn(`mshj22q*-xP%&*5A*6L4|?{xg&OUI9yQOq0tzn`Q3x4b(=pA3D) zRIpRKYdOm7?G4c@@i&bsIxA}SU|$s-OklrQ^W0IjLZ99&6rDSHFtf!gB8-g21jDx$ zJJ}Qc>grheFtZ_pnb4jV;Xux;tu=8WFLa|0Yz<Bv4V!!JMDft(!L<c?TLFPf!@J|T zQ%$gj({3g*e+=+t?SgZKPH!U-nm9q?M3R$iY|k*4ZBwBbSS2TiKZngIi|0wo9H4nq zYe_D{lYi4(wuyvH(c##+c(mC-L_qP*U`6Hkp}Z=-J{C%GtEg8m1ZIQXV(;>(a9vjl z@sHeD?#)7OcWz`w#DVQi9^TPh)%V=BdErbmRl^0VsM0f~tEk+I_E$rO4k#>WwlAbb znx~rPiBg9Uq*{<wvl%~<8BKMVzr85cU7R4$ob#%{I=`KVrNc^aG;oG-%gf7H?Ln8) zv4W1V^dGhG5#`2ztEjX!S_JpH<>bArKt|<!Ikg^|PQ~j^mk%G37(2gPAzgDyvs5Q> zIPY;Q<vC_~Eh!%soyaN@5|Wzy_d8t)qvlD8(UNjgwl{Jc-lNZj<lD>MV3ST89Wk6x zOpUrFXRMKQ-up@t4c&#Dh?GA&Lb+Cdz%@~Si20uz*MI$a#*gLp_OKPV+NvmPHXA<9 zD=G95UAT5NP{PnI_$;=;gS{-F3X++MH6mROHr09pkEiA%#iwqxRODvJ%zO4$lNHoq zja+UQomlL$s<P6QI@!O8NNu{!hwX90g|~@(j8@jOopK|tSC?+qGKqE*8^_~vzvT8O z^+}YwuN3xRDDJ(g$wyxIn&DWv3!@TB7K%mGhJThHzqXS8`s<hO|A>(*;BH*M7_Q6w z!=FF<L3NYE*|J`RhKmg;IXHzmL7Jfs6w6^;#iwT#v%~Y$N(+6Y^_)F1`&SyJQ4i5J zgS^}-8HC!pT#`3$7zXSQJ$NQunaA+*39gH=Qk=C$?7n@Zo$?j>Bo{mk<KJlWyi-?G ze*EZ+>CiEnKt=M4l(Nilc3?2iGgZ<-eY#$Ux9WZ~Gu+O{JU5%0o0_CN?5d!>F6VLM z%HbCkJJ>k4X%Z&IidRQ!=3m?PG`V}VLm#dfZVOks-w9U@xA=6Wd!)~{R{t;mAoKsf z_58`T?HAwJ|82~F`+MiVeKf0D5uGNjlA&`5u4WXO-kxYU@K!~x|1kU8(hD*>_mb0G z+dO=^x_Q~!tV@amE`LtD9M8MN9eaSvgE50nYj5&{`goz*3z)=8&!nd<3stR6OQsH| z6PO%!>s~k}@Vdao>MWlz?>jRy8l435$DOjs_0Ka^+{#TCT+_l%nj0FLZ@L|xtxQbS zI(=o(PXxuq6-2oQxoe6h1L2nYYH_1SY879{sIs{-n%?NQYCo}^iS%+Ht(w2uHN70h z==a&Zs=Iq~Gxfh_uL%{;r)9n4Uu*f>@q^S~|G%|gg}%f1lQN7y4a56|EW+O*{&9$J z@oD@^<U7PShWPBC;){NV_!l6)%%}Jp_pkWNJ9GSYVd%fOf5l>X#jcfDtF#^uS1TI7 z0fi$c!>=-HFrOz8@@Sr0(2O-%NV{(n*Kx2_-^7$zUdS=&aqVGyLwe&hE?xNpO%rpR zjLt-+(Yif`ii8<1e6%&Alo?u8yrNzCZF(tOO$juz2ks~9y1EVi#|n16@84SedFlsg z|9tEA-+K2y>;3!xgU8<&$_FE>C#ha78K`=dkXo`f8s{n-wc6HXS2y#SGw#iN=h>ZB z)nS1hU|0J{CHvgz?S%<_CF9A1GNf)Vr<MfKK8a5TR7llYCWMpu$W-HRZhf65RnOI- zM{|`^ivjc6X_7!ut@*o@`HPB6oYU3i?w#BD0;0*MBJNLPm4DdVIH}Pn{P@03dphs@ zKI%vs-`n@jC=lRh@^=ZaQzSB~PaU1NpPsB%?TqdkFe>VEwe0Wp6kc{yC6l6ie^0Wl zP*catTi79_M@aJ0qpIX#AK7go)@~7GWy^XKt;4;_vu<v;Nh7ai#ArK}_?w$Q{pd6& z^Jj^?-uHhke`$Y^{N0%U_4AD1Z5_ZZI#rNx1?E!oY97vN;5Bd5-9ctVu%i1;S56Vz zi$=V3$Y544aB=t2o?LYJRDyh~dHRdk+f$0%qYkG}q0Y_Te(X5eTCBQ!N1AqN58BIc z*~2*TjkbAC%Bc>If@?mVk8LV;FLS?UYA@-Jj-86>3yk(j($&$^Bg!{2<t3tcQd)H! ztE;hi-?ple_DYT$jRBIJE5)<B3oWP#_6D%;RjHlqnvwsrwEMO3318RpN9Z4#KggV+ zXlM^!0+)do@CH8M3h)Jfz#jyFKoA6i!Bv2i4~2CYxCX*O1c(IJ!3_`vZh~9jHbBax z!uk%l3+{nf5C`sqc#r@dfJBf4l0gbU%07m5I(P^&Kqkln*&qkxf;{jD<bwi$l&ghx z5hw;FpcFg-WuP2XfJ#sWszD7v%C*7zDR>5+gBPG4yaWxP5j25j&;nWkQV!7pk2^sZ z=mxJq59kGbpdSo?K`;c6G9$1a1+T#yFb3X&cVHY$fJra~rU6n01^ub_@OTc)gAV`= zK7s|X2$sMySOKfZ8p>_7f4<xNuSNapV(zA{0i5>>OJYvx-n`~L_`Kt60>bwAV`+{K zXlx}?4)GJGG5l9inQfI%Nw4(Kwg_KqA-S9UdJB&x=bn!&u4UUb=qa~L>|xk*=%RW3 zbD5k~RF!f%hS{!3FY^k2yGZhbGxsjhYPCPR&UWc)<^w6)`XjY%aL+4^*Y;TsmIHkL z+oL$Lnk`d>+ncOr_vgN0%M>Cu*r8LC;dw}X1{XtSQ<%}CrE+RDk;VX)?sJcm-#(W1 z-*Pc_A9hmm>~1%tW?k?72iNM~uf2Zt#`TNWcmGMT?=b%033boEuKz9g+rIc~9(>LG zuMmj8{nPk|#CO>K7>KX;DL(%%SI_#IE&sI)vi(Hx5XmE`&OdAZT^huf_!NJ={g3tL z|7YD;^?x+~cH{ch-|qU=bpO!y^G5sWyS1M_$aM4$*895g_be%2s$}FdJ3Td@&znN7 zbBQ7t_v79>$LrGTSXjkt$12(~-Ja`Hy(?xu+u3vb-k4ZHn!hRL3AVPHyRjj0AzGR! z(WX4{bAuUAN~dZ|&bXTO`BbRVq+ibAX4rRd+Uvu7oN`h<o3&PkAa%gIz`V3KG?&7~ ztKH0cWQ<}wqUy^!a#VD*Th8%Wh|s99=QSCa3<hv#kt@?@jHcn~KYx$)pE{uHt^d~A zPih<aw{iUX?>&CKfOT}5)T2;qs`nWB?)0It(PLX^CsN*j;Im~6BTyAFA0HsxV&%vF zYJ0<@G#$LC8HEzFk>%^zo3>VVl3cd6#6btqlFQ&$rZQ!|X%tRnJ1Q#>bU6PAf2c5q za<0wH>>DN;x9!?1<$}jw@0tjWW}b@35$P`8>dbN`Kf`akZ(!kcT`9lnZgn<ts%_S# zj0O6{D_hX^^WzQKlUG(G8ctby&sN${dGueOOk>HPZ5+NEIyR!9y*ow9=UAXt+quhO zw=fnM-pDHDZj(3})hPW~OJDwjZCgq0k-Jxpde@mgF8<T`l7DQe{f9fd|F`2u%iCfq zj;`e|??(P^<nP~{zxspv<A#HLJ~HGYDp&`z8%8p7T^(3o>C`m3-!&193XovgBN5f# z@@N>-BYQYlamsQ&U|O|8#<!StY9f~8=B9|-DGvUse#*xgPMf^j-eh<=!<adXsKed> zr4*0ZH<~g%`L6sPdbU!t;8mw-s>oA4fyDzwUE+)C*EBRG1YT7oxR6!d;_S*}-4r3I zw+W4L7tK+z5R{)#ZH_ZMHxld26T-H5W0J9Bgu`Vb-_VTl{2iBA6WK@7<^rEiet={g z^FGNw<KXt>j016nk<l6Rgwc~3Lg;8`P3DF8n0`{mCyClwuAy2@N<|S`2LqXHH58S} z6+7Q0zoShyt6F%kx0Zj*|IqvsSbzT$MFsBz*BA6Z3!(qX1AlL15&Q=6so{0F!RPjW z>wXts=o`eRf!I7>5WgMb^L^TW;cpP17Gm>$LHyz0#oy?^e7F9~G66a(^^KF5kBGz0 zl?KN9iI26~RSe0@uE+E5&|;O)y-)grq~8-y<e6K&G}p9T>Oc&&DcxN2ri9}irg?Pc z*QoT3sA>fYNC>keF%NRjOmN*nd1(4gO?F`o27B?WFhB2iUgkS;Q~l+rBAt5RLGrlP zsr-Y!>ONZ~s;o&Zib~!cohIoT(D#+HPt@+JHD@S}iS2N--YM{~XOKyV-XJJpw;73} z^C2A*^O}76f`3)H@JajELeR3aanK>Njb*tr&S<a2F`P5%s8B7@tEkbZmQI83q>1$$ z8r$A=dOe(q@xB!{Pjrr`!`o(-zpjEbSLc<Alkh*i{@uvG@0NdyqXWy&<0DNUs8}VR zjc5~Fe8&R^LYR$apV4ZCckK6T2&JbCM{yQ^tXYnBQ6C7@sg&N?DDw8f)<YSYO%}pk zoIJ(PctZ^@&{G=OVPDrA?pEJ}ftgO(-<yk9%|xiRBzv>$!-8I{X!6|`p~A^@*Vz?Q z`>k(~CzFWU1Pn30a&~V|7+}b&C?R*4RLjW=?UZztk<XkNI$?OSs7l&M{0YM$r#2bk zq6EHu7V0&_&3`_M&`jYN_wEKU{G;(NNr~)-kn16$6b^S?Wvjw4M4d#Pga7{9{D0Pe zX!~a)|Gr=T#S9)OwA*#L^K$1z;_0@-_3@n@Zyr`OF5eyWiVY{?<jy*2-qq|$ZF(a2 zb%}8dr9-U7w5or0pwk#`Q_8vQu0YW`BEBr5)7M|&;b`6V*iQM;p7JniPjaP${kX?; zby<WvnbB0yO5}s*Nw00<0=cT<3DnFSPQ>p|Di6FhD1n!!*E_!h?PEU8R}n4QoN7Ll z8`P`X@UAeQnx@^-D)>eazx>hYocibNnh~8_XVMN?B>YJVuI;}z@&|vT|Ni&(-xq(T z{Mr1K`=7P^6a32ZfA{=>|KH|6imbo?i9rX=jh*0g``@$B|CIjJ{}o+-eAHHm&G!ZI zF<`FL!l(03#J)j%dWg;c1@TEBHtwhG7ykzF86dX67sRKB_}f0k-<ZGt)#rayz(lGf zw~pwYS?IuY7pkd|Sdy6j_LNh>8c{8`jc>;Xo_5d;FMh3YSQBqs&2Ewlt0-eqANMWp z#xdU7nm#KuukG{Px6C<|<SwZ*)oyL?DtT&ZDp(hgQFG;S9X|=9={0f|gI#y0(sX*e z^at3NOMIkc24v_v9fEq6EnW86Z_D)~z!Zt9kn$C+@%7?;_>P&f*KaYV&%P|tjrMg^ z%0jHp33QB3al|U>*yG$&WAC&Ivq|bwo*Wwr#np|o9JoV@G-o!!X8{vn0c?N+Z~-2` z2Lyl+5CLL<%o*GYYf?Z4HUo071yBG=Kn17)4WI>d04cWv)(n6VFac(;4X^-Kzy{dC zcEABR0a8v3*4%&x@PeIy5AXv4AP9tjFc1Nv04b*iYYDImNCGLa8%P5gum{M3y<i{M z50G+lu$Bi3KoKYbWpEIvfI~nP90o@KQsyMAj{$X{0W`sJparyn4mbgHfgaEY1^_8* z32Q@e8k_+}z!;bSQ*aiTfpfqdSOBD)E3B=6HLw8}fGw~C_P_x+0w>@MTmVweAJ*>R zB3SSKZ*BiO0k8EV+&^yP`U^kJ`3K9Jo0rrF{E0s9%k{ts$#=Nx7^N>{G_THsQROf+ zO8Y)7p-kIrCE*^=!u33zhTRp1c=zE?h3(pjMQ)R$DK+=p_^dlAkI2pN=$Qd$Z$-W1 ztqOMxZu+vz84f#2(XZI%$C{eO9w$<d)`{s++!5jWxcza~t#Op?DO|jRhw;|Bf?s<5 zk3XKjww6B&KS=%%ZCt;Efbi$Ie%Ipm)|PF-d%PL2RH6yaU9fXxD&O*=@dgLCfY6T4 z`-gGaJ$i2u4!iNc$&GUNHIL2C&dUkt%A&~2S=<#iS|^nE8g4YsH`S_=USUbDrCn}` zn<{m_obCV}s)Q?{n?cg<eM*tBUdi;P#_qFXe71sVrIP_3k8;I77|Hmib+#uqhgpT` z^Jivi{ONgd(476O1@8TdfrIhOvi5uoOe}01T)ee<jtpkVVqsxoW8vUn!$tBiT;bnQ z*qd?4w+YDNZduDe%8mZx#`w+OJASjUI3I|<J5Z!r?Icsyi=lg4@_4gdPERc3Tqv2F z!QE?T)HO+-<%{orSh`UEL>1p5wsZv}yRlGzVEeRa7JaCYo>2D9!!hAf)gOndb?fV& z2VK<kbZc@F4erwqa-*1Di8ZyqkV>eGO+|f*!}+o4kvzpBddD+#BAt&o@WQKf-dOtd z2woZ>y>ua+tV^fXl=8jKlCJ{KWdRLZ207U$69T1gKI2ZT>m5H|%fGK3|5<PQ^-K5P z|G$mjthfIzvHtM~3`VGVk+V3UYw=m<A8<iihvC!s13z2=WIfB*oc|#X@saC2A&bCw zh<^a$@Awp7@H@mm3h@toivJHj|6_4WSqVj<PKudOxz&I&Eh};CQx<V*(k#M~f}L9S zOTA)Kq2iSeuj&Iu^l{Lm#|vND)}Bi{t?sRJe3JFL;FR+9XM3XMNp!?5eC!zm`^J@2 zWU6<?U)OsxVUSN{;ns{vohOiNlO-wWV^X!J%EoV}j8Q$cL&EXL#bO02X_3}0uW#oN z-8l2AY18Haxm|fL2sjur&3gPU>l8Fr^Gpn+=C5@ze*K{S#n<)b|62Wv%*Xl>`tLtm z{rgYOKkE5Z^d&=gx+Rf7x*6v#hdBmCUN+1De6=$sN>h6+!YQcE%ke*Y=69gJgLEL` zMjCooZ|TJpx)|?w_o(V-&rF^ZRFfzZ=*H*HDg7wRsfp2|F*z=u;u^|_ZF0ohV@Ww( z+cZ?S{Nn3C=7Tf%lKWrO;j^A+oa1{J-$u}1LS-t}&~-DI#35o)AxJ?}^4OI$_5-Id zc8sd->>eB@D6Qgdd+^3pjzGSrBt|FwP)tZAqkD?7F7Jx|=*Qp9g<8uWWPi4iKTjyt z8m8EUPFZ^r5K>Xo(9*GQ=iuDIB`oq;r@36Z?B(rq#n&%1>{@t4<n<d-_hRGj$0s~U zO!^PA?E8P4W<UL}>oip$_m{!?wOa^Zf2}+J&@cSquRpph&}!HiTCJ1cawab`Ctzh} z-hMN_W}WKIXKd!xCq@dp=3QFnY|<PO_LQ`qoTl`;pLY9!*4d066+7cCDGdUota)`R zcMOtCjcvjnV?8Y~T}5?9mb+25N$s0j87Ws^Y0AmZdMp+qOYzWB-E%-7Cl05L%fq9} z5fzjZyGXILHxC^?pvpLAH~o~>@2Rq<z99Bx;b`;4jAI%G)E}bb=4v^@B4tYI%xWiW znErBKw%+=0E&q`7SvT@;BmXosk85cgo<3vr`-ai~=KSHsRz6zAlp5PBac!af_d`-T zdsT{^RhcEPs9sCX+%xTE#5-%WmokiK_~R<7BE1W>B#@{4Aned|6#Kh^GsCyDt>1*T zci)rW-hmy+jg@&oQfWtdV*QaLOJ>Wlyza)q6bYBp-fQJZD&C><y4iIoak#6N)q@E0 z5e5UBI+h2`6&r6nxWQ^*FS&4xZ!v%IG;VmpD^s<z{uXWXO$w=7o)Z?D?($eN-<l*T zs(5@G?MJiOcNEhxy2lcv3&!Shm(4TXJ$gm(4lS$xWp4gOlk@-lc)jO;ujMZq`Xn3q z`}gOs(0Ay6o`Uxp`&0i@_&dZu5Al)vO(BcOH;OL~ul2d(A8rsIIbR-GM88pdBsQ}A z`l|o=YXHPY<|`u0diTHU&HvA882)eS?`7J8)}bQr5m)UQT_F{3%^=xxaTwXFsHcj! zN}l|1&w-pOxMK*ee_yKIyXQ8W;(ZfYPwaorQOB-9)I8T6C)Q`CIY5<Qe;1wGtN2hM z&XSCiD=Xu8<9>0TcI>Ni;tW<A@M0cxlmj1EI0K~=9m>6K+dZMqwhD?l8m8wtZ{;<b z^-eBtT}MCQ^CPyt`MYcNFB^OwHtOHMzyAFv=O5MdWQDRW-|@_;)SyI5(*fQC$~*Oh zgar(SW99pY#ka}P@a?RtyRQ|4EwwMnA-!}^y~Q$mM#ulg!5xCtqdIc@_jYKD56WGm zJhiAv`0OZemW?L5a;jGc9m(O7a$(stn}Lh_2Gg<p-0;S!vWD;-7ROHNK7pGvJUjcY zMr{1dM79cfdAauPi17Q`2TsO!?9H8@f4H;RPlQJONIQ!A#eHJ=*0YD=(l=3PT6_?( zkn-iN|M#ZSf9RS1)-nB8zqAuMdXB=}jI|jhgIY)*&>UaOKjeOJ-y{D#U|-+~E`iIy z3wQ$`a0U1RKY+{|iidR|2m-<2DhL6gAPigs;UEG;g6jY&7X|B^;1;+IqCpI}1MY%* zAQr@d`v57E4eJLW5hQ_RkOERc8b}8ZK?cYKSpX@A$c4vw;1S3N1>i9#1Vx}2lz>uz zJii{+<)8vof+|oAYCtWh15d#-@Ep7VNV!+AZUBv-2{eNi&<ff>JLmwNpbK;Zq}*Fr z_kupq4+g*>7y`p!1dM{$;0+i9NI5+CjEuu$WUkdDm;%#a2F!x@U=GZK4*+RXBju2} zC5vDQEF(Vys{jSB_fJ3m^-r#UB?_8&=5SgxhBqrq*Go<mti0JJb_A_?(}k#Tn&ien zFg5z<iDsFc*rwF?i(SqgJB_2Yh@T3pMufK~jlASP0s}`c-jU!9T8@YHmv~7_wn=TX zjXT?>?G<;mFsmy???^B9A<W??Qv73h67NU!JGKtokEtT1U)tYxE;Y^kln(Fq_G;U_ z^IRXQ1LFct`n)~vEI%&6d$%M@uReP8-)q`mnydfzg*#0(aZFn-dKxYLqH{z?f-j9? z_ftWEqdC_dtww2SiO<XLYpPq>;-czb8pC8RqBY6!D5E7_1yAi!!R`Bw#2#z)FZFk- ze>d{)x83AFZTxo8y<)|_;)&yY*NrwM=Le~G@^Wr8h=vN<C)8D&k@t%B?ZMi5$O3(| za&qcpeAC1vNAvsCdWJ_4N2MMXp2kz_JH4YDUt=_l;7L*pMfR(G{mn1OqSQK1yosc) z8|myH()98RnHl6NC5Ow_F16R73{%n0{X&Uvrp6XJ%k5_6R8sSeuI&lhSFClhTN!2J z@zH?v?oGe)L`AppcZI8{`ugS}&5=yFb=1G*-0y#|mOsQB`SU~0pA!2H;}18W?Lh;d z7i1Ct4)GHp{@VNtiSH0U2jU}bK4jsC5vcVn$o!Wb@B;DxntGo#{!<3Ak+vkV{J`Tk z3p%>!-2>O9wBk-YAFPa;=Puu#Nbx$6ry^8+pwk|s32XQ6M~N416AkKLb}@9diZ^pQ zFcN9C1wVycf}#FdoYK*IeW%HHO(eV1O4Fl#%AIysrEV_>baqYT44oh=+b@4g;jnwh zR;Txg(sT|jg$&6DFLe1oea(?WBt?y`zJA}X;OZf9Hp6Zw&0DXZx2YQ+d2DKlHasA0 zl4JJQhr53LqyO%!Hm$z^+jw~RZj{}8TGxC|W4))8MZsm!S!Lsa8kcat9;zEr3;YyG z_dJ!QbPl0L>kQwXh%DD{H&mbQ-mEx?zgGWl9Dm+8|5)kooxi$hDr3@1b^`6TNsScW z6mOg=#@xHdl1w3}_MyZZ6DM5MATv34dm;Nk5nnaq)~2~vbQ4?0cP+3->^K>Inm*`Q zIGY6?^Tk8>EX5L26PMD*dUnZ>bSb^u-j=Px-;ox}-u#r2N*Jfy@pMd4S@<9av7pWU zslie=@oC(|0T~hpRh_IUvZ<j4trOkt-LFo#-fbZ^{$Noi+I@<5ghCU=HA9eiqI1^8 zFLLLt5~06r#X!38=seS<Ry{95TV=CYi>rZBJ=4AN+6m>p+VKU~&p`V8-(&pdOZyLh zJpW|9^XJz)|M&NYX*cG7RM*tjH8wT3w6?W(bpF;c`it?yWwFBPO@-Q{^IGAdud7Fr z1p5TxP65uVsJTG>?85E=4jBPjeeIdxD>0;e=Ufz`S(*%^XC&C4y~RB^mGQcc8avGu zpH=!sRg6dBwxlkzkh6JYwWLO7sdqaRh757C=7is=y!w+7&)@C5;NjZ-hv_TZ|7+!u z@u?pne>Tp4T05`iho3*SI9cvQb+MT8WwZ*bY^d?WJX7L%(eWLIgaSsqEMcLl=jP@) z>Q=-|=SB6{n!EzTZ{Jcg9eWpXIL_qxNS)AS9-)i4)=qAe{%58oD|flxqRQ=j^-Oe1 zE<>I!#7mt9Wz|kt)8=v@(IH}dXO40{pT%ZuGq&qBhZV7AIcC$6u1AI53=PY2tv#}? z6QI_6{)50b=zlOnJ)i(SxBu}Ha-HQ<|3mN_#NP(76~7>U55y<^6kq5Y#AkunN?#EF z9mHR|{(|r~h|dbKmA@eVM~J`g)Ap~`zf|!3k5K<^%>Vvr>fdFdmOD+G;&Y@E*r;;H z&VR5G53bYSA<<jaZTnWwd{Jg>q1kB_<yR<~cy`)s-cF;_b~!#i&qi0c>`WAg<d9ui zm<bKn6m9p=MCq(dr|Nv_RIlffVmg}S?V*;KBRP+<^UWTd^6l?o^>jd+Vw}91k4HP? z+!EY=vpPbbY)Nq%>qutMfUvTzs02<O*A`Y4cWz2`BMcipEGf5~|2}aQ@(o$m+x}k5 zKdg=X`yt0qf8g=6#d>Y@+wC5Mwb@U*jx#shiF_Ji9V(pk*zX3$VOd(N;VQ?p#d3Wz zVNx1hRm(X2<unuO3;shjH|4BauGy#UtBxU_OQ(Kr9a3++DQi;U=?QVy;1a9qh`qNY zs)XvLtGD#2mcp&eE-#Fa&vi##xHr;r*C^X~r;gJ@HcG6F<=qaW_YYm@&L4elZ#z76 z;y$$*_ZJMC{hEC6b-n%9wfx&S|9fNn>~9`F`zg-<Udtb`js4dTx&Oj|_YJOxfkN6J z$ee5(fLxmnnKy*gi3ETU5CP;E?<RoERYUquWB@sDpB!uf6aXoQ%q>RdQy|Cqko!_2 zbDg&WdVn0KU<Al`5pvH3q#uOz1(9+Bux1Cyz4<r*CqRzVaRF|CoTG}|CuJu<uAh(0 z;YP|K*AhhT-zyA6fG9vdkH|UR$az7#fFzIty8%+>AguQQS+Ex%{h|E;IWJlc$O8qS z2$X;_K+2iG`VdeBhrtnm+<WOLI0n>#2G9h@ffmpPNZAvx)&<DD|MY<YI0;SxLvR|L z0Y<<WAZ6@eeHNI3bHE%}084NlSOIHb11<ntfRwuoYX{&6oPaZM0j|IexPyz}M{d6; z4`>Dsv=pijl#q<Q{y^n)I`{d>vxc}W_m8vQK7G~DMuF`r8O=4u6Xz&)P4Fz=mS!1? zlxBZ4rTaWy_<G8j;-(>^ZK<IWEc-A$C4xVcKB%vucu+S^(CMOxmfxO}BzC1xgyEX@ z`^ReYjq`HeZAT7cCM&!SYN+!=kz<?J-4n&e@8s?!bt9AQE3$C4o;(_+-pZEeykDS< zcRaP<)INmXAj`tws<*NI2v0%;?X{(uvO(#R@mtH4AEjehOFA3pcS;qk{Mj{ye{0-) z#)I{azl*GY{Na~zANa`qvV6v`jKYV{9g^$FBD((g80_#mDggNfkk|Zg3o_Qh_9?#D zH;BI-0v-aN8y|^{)QQL<{te=D!0V`j&y9~<D;Jp)iY#mUZ=~Mc82{Or|NnQMKPf#r zkms9LD4Z9~8oisb>Nx8Sxf>Sd+as-wEu&_oD?j=?yCX*L#L(OEbkH@S(rUnbJMHtK zVx}lc>b<gDg@VZ+&o&zKv0RVC?z4Ir`s{dHJ>6t=Fs?&vncXhE#D1c#n^$;QazkaE zD32%Muvs<vO}d}FEhC%T;>KLxzs#HMuNbCEiuLRa`;&r?nR~`)h@CY%2c{mG7@U3H zboSoaF6&ga*OPf6ef>$Awz0G-;!BfxcmM4;@_LV7uH_%nR@%tFjr{u?^KY4JTBIr@ z{*BY~k@V}SORxK8?|BVf6G}1hz&6NdzlD))pDw)|BXZls%#Guv2(P+r7q`xCF}2L* zz-P0yg57Kl8NA#A>N00E2nD?DcTY*x&xbE3xd`-=ZZ_*d6*tYr7v&UW=0}V?Kg@d4 z;1*Y2R0;`d>m%k{LATzlR5NY9P~scSJv|Z|+tJ;Ayz@=xZa<yw@j7g?M${82m<_Ha zu{gFpiE%LG-%{?^9oMI?>z%*9mVZc}W+VSL^6&4=zn|g!i}m&&*YXcJr)eYqHuCRp z%)f=3WqMm1bIfVF>-!mmv~tx(<UI%JJP6x)hd*G=QAQ596TL2APmNE!U%AD^zGG&m zp>9x`^m{duXS;VNN2p#Yz`c#<WlKu>MpHwNrHMUAMQ%(U!{Yp{q^pYMjD;jz6}>dP zhi<26pD;D9Eox;t>M6{eLRcqPN}B(|<hOf*f2;GikukEb$sdVt(Ep@>eX$An-2SHw z{I19t9kTGl2*7%luetuC3dBan@Q_8|JH*$4*vOb9vIu^M_@)pW8Gl8VWq8v(VSNc) z2427$_y9i;0&W3+5C8%}5C{fWK`6KZ!oW2U4kAD#xDKMgJ#Z7;1`k0rhyi!NT@VYB zKpeOa;z0s<01`nm$O0)K6{LZ5kO3+{CddXkAQu#XJn#tQgU6r@6oMj93`#&LC<oo( z8K?wppbAuj8c+-Bz*F!XG=UeO9=rq%pb<0!WZbm{)~%rZ)Az{PQ=Ope)Az`8{%RS5 z=L~}pFbZCSH((6B1y8_VmHpbEuXp~~m(G9Kn7{MW%->nGChg?YFMK(k!zslYw~C7E zB&spESwYU7NkLje<#UIb-Z*NWiO?b8;B>lAifs`iGW~yM8;@E!SB=D2Tp}y;5E&`< zX8kP=_GQxBTBKR(rxrM~Gt%EsO{YZi+H-X&W$a13S|(UJOWS#D$dZ;8x4_az8fUut zimf|2+P=)GCFY`Ld03^Pm6f55t<Aj8v6&Z!cAJY`3O{;Lma6N?iqtFFo*qh)YjrYn zPFvCQ4m+Y~{rJPo|GDDII<DWaye+2U=vw;~IfnE#``?ZHGd*i_!Pd^+!O>}B{{I)v z|6e>hpc=I8*W+Jr@!P1P;P{u}*#_@iQw{u4EjE;eDRw9(7Wt*8fu26PRWcoI1KSg= z2DFxFZA=5VbJJR8f26tEnn)kA%|q^A$G^e}rrn>AQr8YhGHrEuTS2|+!<7rV#K)^2 zxMo$@*IH-2I`~lMMMhlgxTH%_O0cm0c78<^X<W&vVA@qwSvmUBpjocB>5D*1ip?if z`LAeKTKAlKLeG_Qy7uBkl$J6E1@jJGp1|4jcYPh&+vcMu3LNcrONh&b`Rpuk{p@r8 zVK?~OvX*~4H}da?oPV(1@q_jDpVm?TFBn#|QR{J{dy`EWxwEK5`S(u_rNtY4%&pR3 z54px4SYFFa@G!9bqm{N3UU1}|qLvGj1nqB0lglrxoYr>PzF42P?YNRX6&pAIp64|~ z#x!ZwgCCv<PqVjAQ-!l_9@A8lJ!3`LA+3{Du#euaR6tEIsT`Yf$iS0vvb5x4flt}8 z#pLnkIb|Jx-*J_Domy3uWYikGBccQnCk#y%qCT25R=S!t41aLEb*o7;>(JBbjIsR2 z`4b;nTk{S@{<aSs^FGNw<KXt>j016nk<l6Rgwc~3Lg;8`P3DF8n0`{mCyClwuAy2@ zN<|S`2LqXHH58S}6+7Q0zoShaLSI-WS<63U{>R4tZ)5!CZydjQzluV0iB-r@yYNkm zmFezNMEgHL>y&riexIwkU>jJIH>|YTx?<CW|6}4^C|rK+;z~62^v&`ZCTY4iZv0a@ z9feI69=<oi!((rVhmh>4-Bjh=%2!?AVc*|7&XLd|J9wKwMDhLm@N*XX8|CIl_F%9Y z63<Zd4O!{vV@NR>_VHbcCVzR3hbQ}WN;dj#D6jN3dS1@MZ0Aw*S(p_ep{l|d|M}3x zFZ;0a^5`9fEp6KF0nhEcJLTIghf1DeW^gT4wZAtgx9B#^aTPf^b!xUMqQt0~*XQz* z@KDS{9Rs~*LNPbIHJDv9*YXdUi}f}6C-fc0AMD|GMdpGbi|}`d@AbR*BI}QjVuS5C z2#`KFvQ7VO34{2^oHb+-U4MLx-}n80ebxW`^$x^F#=wxp1J<745<tc#5Z>_E2V4QZ zzz_I?01ya*KrpxpLI6@G4c6B{IEVm|;5xVgqQFgX3)}|LAO;}i?!x*Why`)rK8Obi z-~mVkNgx@dfK-5#tAq7JkO4A57RUxUAQ$9;M<5>*fXAQ^AZ3eTT>?tM6Ho@qK?SG; zRiGNwfLef*>45b!@Ep7V_24CF0F9stG=mn<3fe$BK+3*{br<LcuRssz1%03&41hr} z1ct!~K+3&_^&2n--hy{v987>oFa@T;444H-88U3R{u@000MOtgSOAM)2`qyZunJJ{ z+>QR{M*lN6?@@k1S$Rce)tB`@tz|k{E9~{Q`e^1&*<Dj}K4MQHWH!S}xuXP+$`}tX z*D>8-D$?(L3B7}*YTE^~N0!-dUq>9j@2!5-T0-qu$Rm1B3~^?^kEG=q(Ok_g>U?Fr z8784)+6R0(o_D=^_AoT$P7i5>V!ub{G3#A^8DDnohhOh*{7V)0AHVdBofYgpClGS& zKI5@s=iVlD^PHT9-oP>*Zohz!=_`sKoXlby=bcR4VP9^Gx&Ze%Kaa9N8UON{obYwM z``?ZH+sMDK&A+3Ak>$Zu4oww#)*a|@;bit~h4)V#naSm{Y(u&k^WRiUsrPo+l(`8{ zS%jp$S>c}Elzzp48oxEzltAGQ8^d%W+YpwgRVmwItNu9NplJ3qL1P-@F;Ak?5tLq7 znD0ud&V>XJdj!m-&Gw~V>2Kw+<yMw|6k67}e@42|FU`YS$$*?6zh<<^koMSosQ>NO zpjK^{53fzy9^EcUe-rZ=jo;tp4=J)wYG3U`ktxY3%At^(wiv*FsMRjiKDaqKCh|Wl z*zi9NK5{2d96~%iTzulS{6prneogs}{M*RCug$;mL5?do%iYP{7?rIOdE*0jKYMtV zYLc)(DZuN<^{aMCH4Vd$s`{huPLoz>r(YD2uw@__5Z`t?0x!=2Bj6VK)(5p8tz!1Q zuZ~e1G-L9kyVkji3K)DGtPuUOv)y!;A`QP#-u0afS9lZyT)Ro|lv2~pw6PgC=QRi) zO;Mz<HyV7_GCDi-L<7e@($FKs<0WDB&Tyrsa2>r{bDD07<{h2OQVs7NbLeQak4<IT zr7KN`D(YwqPn&edI`5`C+iE9|WawJ{$o?StvvK{RpXd1D<N1K;O`~4DPpGHPQZ2Y% zY`yD$#O!)V%edA{g%W=8IW~hnMmesw3ZIy=*~%0XRdZ9DQ=v+A4=u>!DXy8Pl<erL zVV-Bjkxj#^>=DXBj}GYWHaE&_C}fXke@Pcne6jMuQx=|s8T)nJhO7mi(g*XOk)^rU z*~&+V-lyAS;kHd1o%HfJjqq#s87dP>Lj#He`nqZ^LH7dgFdU8hC-x`M<Q>wHj<SSw z$<}$Bl|M)8O&-LAqZF=HC4NP>PSoYO;_I7=X{U3}s%aeR6fyq19o{c3$A5iU@BU{k zfA@c7{)&Bv@rQKyT@M3f5&sVHiy$`pr}z@zA^uZ{eehF!ew5g+e~7RA3iF>(yP@n6 z0Nwx38h`49*t<T(U+?GdOXq)3p{TGhSl|{27+9MzR^dK<>%4#ade47b@A(_+oqzrV zAOBiDntn~@TyUpmg&q-FcTh6MyYn)gd8-G7zx{xgf%0XYY*tZ?j7O&<)K^gvjr=>v z81)4+W{MUE@q7wZ21>jO=EM5N&&rUZLq|}#kxiEP_-A-&FMJ#zXEs@Cep+4P<XMBU zRE}OAbnYcvVuU#)B7wX3aLuCWn(jAoO!=yN@jQ&-yn?BI)tiJ~2v36?*P!bG)?BV1 z=N-&qm*vzF!x&Px<`o8YbJ;@ffp%umh!vK++$|Zor<A+usfK1_Ki;@zp%!GFu!%+C z$Q~xyh65CzGhqLRJYB1QX(69}g#HIHoVC4?e^Bw{{P5SWTTmUWue=$!uc~v!%gWZu z%+R2$XRFB&C#|QaZbo1SN5Fh_YvJR*$m-tB4)TM>UQ3cB_pKh7IK7%_f1aSa?Sd+Q zpTfoE#suua2Y4dy@y0!-{AF7TIh+T1PISD@?KvoCriGa@cARsT;!-F^UjQTCNxxZ{ z_Ub-MZ%Y?tjsU&`Eh`xb8D@r7oB|cyCq2FB1LmGPH&&=Q9H3-E+l=&kCuO8rxVrx~ z)%g#Z^Xs=?y8rlN`+qI}_WU6EN3xNB1cXFCNB;TG`%dRwDddIGv4XsdIZunq@Fy;l zR4yf$ZsrIyw2T(YvmrK@u<PqL%R#G5n`svpzGRtBd(dlM*vQktn<CsgGh7gkcm2d2 z>o`VS1^w%{hzT2)@2=pUa5?@m=LYNa?g=lxc5)h$=zC(ip^kwChmL!{-cyaTO;z<` z!kv@xqDwI&y>hxOJE3VHD_Uj$X1jVaObH@lAE`$&_LKINE@BU>k5<SDG&n2gxk}L4 zeQ=Dp)t31<cl?61f9J_j#eA~~Eq7n-g)V2?+{gNfU)6nCcl&KEe|P>M`Adx4!E2-a z`ZMf57v%>gs~od=<u=J^c#{%$o3;t`mgU(Oj$v#aK3;Q}R+agp;&@Qb>z+;1D@B70 zn7taR_{xTsR<nEZ#A;I69B9sq4q<iemS^=O7%e<7Wn5N5;kFGOG+If;n=DMl-`*9M zN%l~lCBpT3HCw=Jv{^b@#dJAlYVttV7UlC1899ZP0yy)mnRnPQ8ul=Gxl9m7bBQO` zr7Bm>>X<v~<}|P;m@mX=1}9#Oz`SOnmZNTAoLV&OZr@XqE>>5wmaS{~!}*o@Bk&FS zpVF`^R|B8h{~U$iRTv<P;5Udb1Fv%wd~W<Xi0%F<zR)*_zXxI;`-1pbaNK>Z|1JCt z;>$v8^)HCO8RBbx+Wx=0|G#nm$Iml<TT)T5JX+D7gI_3ZarMm>DKWYWp()BvVwtDO zI{IQ=QZL%nYo|{oRCOl!xX9Y~rMmsU_Ra(xtL<yxuT(@RQ>LgWN}1=eC_;u1A(VN@ zkXb}2Nru9QQm9KwLKzcMW~r1=AybAZQv)J=Ya4D}sat<N-KXw*dVY=`YwdN;K4<T} z_OSL@PVuaENn-VG!LY*@YH1v49E)9F@0O(dgvaXrA;HR0K5K!v!KhWkgBLNo&K|KH z36IPUao%yXG+C?9^ys3*Yjj~*B$4Bo6Aeu3tfbf;cAR1+l6(Eg{>XXFd;6O8E=#C} z95`=v$YzPGj<(?AH=~-3??2>vZzMmEc2PVnEoQCd>uT%Up3c)XClnYs<~x2gUH{rc zdHNmt|KzY++f4rj59)#i09re=5YCH$#Q*_72rL1J0AgS%Kmw2gWB}4(f-^Zl0Z;-| z05z}zpaEzBI)ENv09FEw0MZqO^J-uXzznbeYk_qDE5HV<2Q~ogz(!ybfOI+G%mr`* zJOD4i2k-*|fFK|Q2m>Mj(vgF+I3NK?0-J#?fD|ANYz4LfGJq_w9YA^pa8>|z0E&PT zpbV%0I{{Td4NwPm0Z2y^&bt9EKpW5j_5iwo9-t5G1@-|*-UiM_fH7bKm;z>iIbZ=; z0{a0gz#2e0zHmMO*a7x{1K<ca0nUI6;0hcB+yJC=2+kgWCvX_RjlV7=fYk&Tyamnx z{_=&3R&y^V-?Ecn-vNp>JVyvArGhTrxVwazSGAAI!0s^-H49(!+Wr+Zv~=rO+1791 z{}<yAMhW|s1EuOaotzHxx`b<0Zw=P!jB+`?@CcW-)*dg+T|Ha5jTkELW_{mE1<#g+ zo+R}y)`v*fhP@>dDz_BzF%G#Wx><DdLN0ukCV!%fFE<Ii%)eE0&dJfmT{ynea-#rU z<a?5}-fh>s<&GN=J}XamI~rPADz>DBM6=`|Ti=U}WXl%O^5-;q7IeC)+l(!(pDn_t z7JbM=Ap9|_Q{O0l-^=65p+dPYS`&Lcn@H^HM(QhW`xJ}Zj5nyYGfxb?@MKU^KS08A z9OE3y5fRlD$g*u;>As+C0)(H=FrP{)BK}Ck{!%%W;Z+I;tu&bwuVNr!^EgJ6PIj#8 z2#nOOrGznCsLH47-`}PGID7mGSN?wA^0)M<m||jA6lc}@LmZ=g=}&Uf@(WYa3&bo} zn`|UR6P&bNc6ONV9LXzXS37ss?_j1N2wpE16IvfwT6oYdF7Ut;R@%!JdUQ|HEz@q@ z^e(zrY(TMvH@|Jk!zD5cn>uJaL;Q`N-XEjw>o_H8YICwiTj{Ln)uDuZx}J-45A2x3 z+8Bk6)h&IWQ{8@Gzqn8L8DX5SedxXumb8AyRx8S!d$F#v?!gC(u?(0AS#&gUL$#@D z(m9CJ<tVG`m7Mm1<~#p2UH%k)6aNQS{{Ec)hkZ#S4Syr?P_p_HP7cHCscB9M3Xu{o zj0BYo1s4b(%UWjTGp0@bb{yllF_=$&mu!Lyy=skP0CD%h7V|#6v`QJP_fK8d`0ac9 z%ry|tPIqN$x-AXI64h?~F{%t-j&zB1M~1<Os=s!RW71+HgB`q|EnmQA>{OVoX%X0z zRi2&g-rdwl=u$UeIusdaCc+pQKXmG@$b<Jg`GSfz73!%6vzVC6vlDA|7c98H`J_uY zvn9vsathyp1DCVtH8Xq#lB-eSd{=)>g7%>!OGjc-vYV)b?uyrKH>L~cWEbU|Kj%CD z%s>C}hl%(T4Y*2hFUP-mu~UCs1%4-5Z-x$m`P+vDqA;ETe6M{Du+K7OU+^c`-wL*O z|A2iluum~%U+5>;-v+j|e!#vw*l&jYw$L$MfAhoj{0{wB(pmjiod5LO`cESo!`u?N z$x`wQ2A>Mm!zahDiIW~0WiN8q966->i9M4}#7x`qZD+y&KabL@`^@=EKeV>oPI!8I zWoMXGyk(ww)zTZj*0nEK)dT9*-itonr@V6LLvobS5O?z-gU;A0cm9hOg5>1d3b_)r z#8H>dq%efkM{D=ws~4z+xSX-))M40t)#YT60-1znr+r@T=!H*mmTm_yDV3#xGD`bG z#27p)<k_toS}NIHf)(+lZU(8dD~ca>Wm#o+|9NXv>>!`!l3ElMGQVTG{L%a-<q!A$ z!#~G=l5XiO(p6J>y8nGbIoo^7011aYf8Pk>n|Id;F5J*YO3$1{BeW)$DW8$AU)i6J z*h-s>#C#wla|0v3^VM5?k53bx-cXl8l^PUs-u{u7>$5SYA<vRLDlx}(d6zH84#b;U z;RV&Z?##hE!$EkrLiAQ(p+@5!0+S)Ri|Y;YnGX;dbr6P=uQ_#Boh(1cUwlJXPKQXi zUv60B%4`qWL&_%c37dB1QF;8st|0SWKQ~?e2!50Dhns)?W6Iws{*ZBB`Q5>B3`q{F zqhqr;X?wfXx=J~db4uP(vRoH87ADED1j{8yjAJa5$;|cWhC(jacG4L~h3+5Tp~@$q z!ov2@<P7!d&9ry$CGt;^c|6tQ>Z>_&*_`^8wa?m&XiKVCWj=}(Mq7!9m$T8{p}j+O z$6aOU;?+-DPrE-H(rb8F+fKhLO+7_coo(eaa@sQ;9B#uZ1V7lK&3F8By8KmxKl(fP zpSbe($CSU3Ua3cE&(jno<oHH3oiYQ?Mo_T?$FQ8&T;5Opu%Sf9OVo@xQ`-8P1`E-W z`ue7wru{2aZ=`zF3T={?rYpV_l(LzI_G4}Wlit%LF=>}@!S!?^#moy<ZN9@Y$Xb&p za&AwYUHw0nrs?;;@n3rXh3DV@#FGIRSR44>{<jA7KVMJvKe-?RWIo6A{;xVeVBZkz z_f6U7{z>-t{D6I1u>WDoKF?3Gulob`-N8PZFG0tTuD`|Ae}7E<_o?lPL!BJoYYofY zTK@8K++K2b29lhMH2QVAxUcPul{X+Dys)%&c&ANEcD4(%ui>$47L??1Limj7vZ_^= zs#&#+)isDS2?=S+#4B<=mHRVHLk(P1BbV}%YDZ^34P!S>if>daDv&ymR38=bwQ%tH z?7x=WqS-xNf42Th^(U_Uw7hI>Ywvi~+13B{-TMy%gF_#O$04o@4}%Xu{FBFIRRh!O z3l}XW_+!e?a7BItweCStBL%Y?Z7~YGGK4C!YF)~4o)1%RuYWZV!I*7oX-rhGELGL% zFtNa3IfJ9v&X`YXRqw?`=-G8d@hIh2Y@!b{^f!w96ve)xh>`79zwsw$=b!=x-(@EV zDUTeM>rs~EPF_rY{_5)+_u`9}y_+M%ls!o~zDrvss((lV{COQ=&Lm3lavpBA^fRsp zI%sK^+R92lxi?1PuIzUwn#qb^tC#iWjq1ya1gbZ0MP71UdStr%bmGbnZvRX*^<BSk z|Gr_?{IL~}lf-yq6*z(nHzu1Bi{_?K8>o=Wm8{Dte@Pl?e%U3WmR)qW)fxedqE-HD zLUN03Mf)T-@b&tOJUkm$`@G1?;IU5O^@}d`H;6E_ABX$*44!mXb8hLD5-l%nKB;~} zY9WzS6S-SR#eK_;*ryym<#I{7WLQ4=^!vZ&KRW(%1bjg+;3#km@CJ?pKEMe8tr-i4 zvmf9O1OS1+Dd02^1Ox*i!2bcEKp24Z5NF}{2;dxW9*6{@fN0<Xa1r<mhyh{&q;nb0 zaljQI9=Hl50M~#-APGnYt^+p!q>~EgG$0+w05XA_Ko)Qd$OdwNT;Mi<bnd|UE|3ot z0EIviPz;m+r9c^Q4=4wa&I33<1S)_>z+<2icmh-b)j$pK6nF+8omx280rkKOpaEzE znt*1Y1$YUx0&M`&>45VqpcCi<UITA{ZlDL~1^R$~;4SbDKzbkGJOB&=L%>I17#IOQ z0i(beFb-fA&42yteAkc6cm8_5<G=GAznX{tI>K6@N7t9^<&NJhnvlHY)$p*zuyJn5 z@UHWU{IQo=%uORSWY#?5J?^Trj{FYh-m4o!$=zF;%9$3r4CmK8q<4wx*b&&(@h0rG z4Y9m&s8VV8F_kM<F=hE)MQ2jEn<{FL7U>aIUQA8D{<xP>$RJ}xx0NUD0i{9)+uM{Y zM1H5KHq&k_+1T^oj?2^H%m$HagPfd`4b`iT>F8){vu_mWUu?4cf{6ho?+qe3BEnty zSFd2OD$Yrt4x>%$$Ia3m8Y+%)8c06lzU5NgXn0|CUr@mnh5j(t;}m9A@`_t~?iKrm zn^jyE2rU*$jvu2NE1*jbY&xk-BjY|@|Kj~e>)-jVKc8>;<NZnF4|?!EK=t!o>pxCH z-9s`p{=oN>?Cbx4eNvD`@lxpE|4H`uLR#N@|3Y|^-&IHU1%8tKeLrCTE!bZ<b^rh2 z`gb6gcSogzBv~hUd8}3!v8yFRbgnmXej8;@U@JvyYulL)6Iqqbddw|Rev5rth+Qsj ze|#xj%lNI~@{4vo66y?WcQ9nua>6W+J=S;CuKY`yD);>TD?zSLn8Vp(2y?hFc#kk5 zAyvVy-S&H;^|IwIZ*STCXd5M$7dhX;$b?`e9;L-D4;RB%+22I8NoXkAeQksUy(M2i zmNy$T7`(dWcI3)K-spzyJl7YvadZqyKZ2<Hy3;Jhc!rpLnEmiiA7eA;{*{71>HRZ+ zOZ?vV|1R`3*{9w=p`T>m@CWP%gKhdL`@%oTKDu{weEms%{>vGt{}`w2b76!(|KWf5 z4ekFkX?gPJ_at!%>{CwJpKgE2;s3wG{2Oll?jJLLHu3$Wd3=8&zlM{v&V^k&t2&~0 zjQSi^U2vR=$Pogz6M4e^Q5XEFz}M8fKE&<%Qb9k}g1R8zgU(L**{189CbSjz3)q)Q zJhyS=F9~T^xo;?}#Ng}N=u{o$*PxNDUHe+KOFFp58P>@EbNxA8eh6{p2RDB9Ysb&J zbGA9gm<=<Y+c-$)=-ssa@`?KGH+ZRP<<w5w_lVF9n+_Zpy_6PBGeqRv?|IUJc%^p! zhigYG;-%^93z-9IRB4YZ_YwsQtzGhg>TTYsUX~&IYtOf}@N#<h#9iN=7_EB1f;M!_ zWKkcjjBv62Y0;;F?z@IA+Qh%oPO}?I-4XHV*`BSZJ8Qjqg6{9Y7wKuGD1Q7zd;|ka zBA1~?XuHaH`5)8e2en7I_UG4sKZg5X@IO+(|5!EUfAIVZ_Vd90^!|^$|APJdVE^;} z55M03dp_g-|HJ*i`T8GiFXT3DN~`m=VfOW471J@YjqQ@%Syzhj=<|Acfu3l9&2^Zk zpsA=MV3Ws#D>`ILhRn+(_h#J5J!2}#yY$-T5#!vd8dqxpnj%5Ax0mAF8hfgpYDxkQ z-)9t!u5W7_%iiP`gFFyxj4{S#)|Us+ni+<PT6Vhr{9X1R#QE=kjQ>8Ed{RF>^W=xR z6AqqawURy!y&kKi{jQ&|ZEIh3%|&e4;f#Y^MMh)gc@(UDo+V^&a`o14Z0@&n<uH!C z{KCoa)(VdL;Je0B%Jww9TH}~>)5F$c?ENV<x{Ng~UGFs4jqFIx%yb=lbboW!Q42e+ zuHeP5#A+&5iVYSulDQl9ohoji9t!VID(xIw=+)k!k=8d_Z2Y8FSg>Tk2h--)ZE(Wl zP&U44+g>!^_x16Q>GFe%A1B25@4wc6pKtrqZnMlKQ}t1rBClFyj&xGJ`>x!ZXZgiR z_mnY&vmEZr%{%Muze-g8Vky(X$mTqvSBx9_C6DAtHYeKa=iIKMWLo|#Vc~Mw+<=mZ zOJ$kHs}|uA>=#fxsKsD-ZfBxqlgh`&7ws?hS0^T`wXZj|NUNe^O;Cu_@z^l-w$ro? zynGl#hZbnM{NUOjT=|jzwdH3Rt^b?v`X{XU%d=x^hWrY-392Y|)o_e)cCFwk@w^zy z!}m1c@FRMwMq9RzwmwJBHxVWF*)%Wq?iX!IKAf}iuP#RBD7WKeEeUKoWtO{lov-LH z_RTcjd-cMaC>i>7hhZ4$JKCRrEB@9BzQCvt-?OrVc>-7PG>x#naJ3OiIGS0*bfnpk z@|WV-gCA-LGYMAkZxe<aOI8HL_99tB^~PYKvM*%6ZiNMu(EQc(n1KVv9IRMkrM?dS zjOG|Hhh7{RYb(P;G7gZh##mCQMlwWFQ=<=#@U5=>aJ{or+W;a)NG^DE4?bQAo+EtK zYair+9mqOkrHJerBT0+~B_C5Mo)e^nB(d`e-GK=bvi7TJVJQPCbI`(03E7<ZZrIed zIZvcx4U*`4Vl%%hh9u2UY8NvFR-7)ubB3$3gZ!A5G=<+LtWDIw=17usjk*unJv<YT z+z;1g4DvHm+zcWXNbbx5X(VR@d1(PshA{v6>-(SW(Et1#|NralzX$uOQ{xYU|HAz* zfOR+1_b>D>*k1<rMIaB*@uTaPas9VHrvEl_a-@YH58ef|ZVVsJ3xP$zVt@c31eO3q z05Px>AOT1LG63l<hch`q0Z;-|05z}zpaEzBI)ENv09FEw028nZKxwRjGc&*ftOeEq ztN<IZ9@qe|0~>)&0Mg-vGZ(-O@Bq93AHWX?0D^!JAPk5ANJk9L;(!Do32X+o08)T7 zuoc(_$N;hc(vgF+JfHyV02BcwKp9X0b^@w^8lVm!9St~Z0=oe%KpW5j_5iwo9-t5G z1@-|*#}Lj&fH7bKm;z>iIbZ=;0{a0gz#2e0ws1ZG*a7x{1K<ca0nUI6;0hcB+yJC= z2+kgWCvX@j@f9;qFn4l}Hocwdn%HuEMKaTQgU}Gd71p|5VRwfY9N6=qu_)K{t|XPa z;3c^P5*cxsfjXtzl|>a1L45aBR=%MP+y1=jbmDP*^NyfGch$bQLMCs0iu7*%ZI5i+ zWv!BO3kS3>`^AY@)kw+K_lNE|6RTUa_2_X8mc3rooIai;?w<XgEjB)4JCk0i4H+sw zPF{8ER&LdsfW)HKj5b}_;O$PPrHfS;^wo#y#)U*^W~#lS+OUD4J4wgAchtQCd@Jmh z4(&yZ+U#i$;B!mo0G`aW?}FM#Luf_!{oQ|&f%X75|M2VQAO6GR&%GY&#~w#*=+`ek zMQv7VbE4;c{QGm|i6T$sQ>xlC<TM&wnen7}dP4KV*QU7El49_qhulWgT{@ZvyGfb? z7K{`L>M=h_@76Atsd}$)?wwr_f5Dku$AS~m?6$s5NQuET3uFqh7kgAiV{UVPVi+21 zsaQT_njeuI$d^Z5-(W%KaickrQRn&lag2oO+k!Rg+P%~pb{UPNFdN(6t)>{T91Zv2 z{A4-Q(Nw_zo6coMEqvt8d$qPp@YeC%IC}Q%kKK&I8vGe{DWVElTh3hBjDJ3LT`{Z? z)rV4LI8oA&_l^C<TmdMUE3r!F^!UNQ)&KcX{|C2!^&jK^j0)N?3|TqS=ZfcSxkNl7 z)Sz=t&5h~Y0=Dwhq&HXagSWTjXmpf#hz@nOSk@`~IG5y)kw3v>>I+u3V9}M@TjwNu z(=OWO(}kC28)e$4V)}IkG%Cex5|gr;M^c-u^qjf7NGxs!b}f;Rd-!<Jh&%PIkimAF zoZSZpkL9et?800SMn`?hdXvLzwof->9xAKKv1YLZE88i$k_w&QCaaX3y{Lv$%jun- z=W(A0_o5`}wbi+qvg20T(2ABhXg)4U7N{^v%bHr{huzBkFXfK|`UAg1`?m^aj%V&) z&4l}Y+;6*ov09Q~p@(?JNwbY<0aBHg8R7fiF5<mLNaf3Fj_)MpPthnOl)Q2%u_Ze| zzi9BZK!RNaT|0k<XP9{ZjlgZSr1b53+Oj_0GNd|t$)#MT(#t!fox$43K(_OUUL*r$ z*EYrd2h<CT$^LKfoKE+ym<Jh&RE2x3$1zH2i=GWz2b^9sjyX&&{JQd%IPcC=yHWyM zxYPxtnH^;amc}s{Et6$9Xry_x?$hokt5vjz@Wx(Ke7f3rbWEUAV2tN@X-<M+{Plo# z$2tak+vQop9X%nZdfsB<)bKU9?O+O6rAW<+y=V8(hb9bjNFnvkBb5GmRw@#$hZkwx zKDLkPmH&1^`=;Ur9TxGdk4P<h6cWsmtuAFo@kcCCi4D4WFD1x}@O_c1#<>w8GcF5z z<tq&h7Ga|0(s8AA%=p3!r1JP~j$_Q41{bzgH{Hn7^z+YnrNm0y9r1t85*~ex-kdo) z9##$s!XH*h`%2uq5bN1nx_#TQsYG#Z-JNkv>Ki(v(=T4z%e-ApHo&f=5_Hse?OxiC zD=Alr6Y{@~@Hl54t5sxfXhjlvO(8>Q@8%OnAK~3e;HUA=Pxo{b<tW;D_sOM%>ge(3 zXw>TS`2X*+e;Ka*#%{lbf5P~a3cLqsJQBK>-?jdEHS{~D_uu5gaKSk8|9%i+7EJ6v zifp6fds5;6`@~b@f80O8zA+d@W#N16i-LXR@1ld}C)l63@u?q^seb$CcCbIa{{453 zpYv()@qJ(SLZ0}6jdpgWJM*HfGv!8s!SaO*h`Bnfg`4ana!0s_dKy~@yd4!rdBzlF zx1Q`ROOHB`A+tB;{=F!5>Q=IYAM;-J7I>bJki0Q=C$;K*qCi6p_x?LC<fXfHvsxJ5 zb?P;aEOTF9H3pv`wPMo9Nzcs=9+2}7^FE2$OjC|=JE&P|B=n|{_WrvKJAI5->Q^+F z4RYVyvzCZEl2(v4&!&tCt>MA;&n9CsjG=dA^!NC~_-_(_PXdu!IR9(>&-ngXAy-}5 z1sB)-2ASsyGy96x`#+Z!t?${aCr4Wq^iZkA^<!$3e6wXlQp{g2`UQj3!DTUxy8M+d zM!h{sD`{GZF4l16Br^vUE5|3)CI`Gp+ax{0qsyq^7r9zTam6G3+|+wPkvVT@@3Ke6 zo;S(ZzfrRJkj=+&%=K|h%8j~iMw@fv7<a3Z@ZR$SMQGXZ<m?!R1u8FkRDn&+lYQU% zxAnit_#Mvw!1h0W<MwATmv`Vul|z7Lv*~eu;#`BVaZC~22HkoKtHjtfwA2lPqA|?E zLFc<ymacMRN+&2xrW}%O{*c&lJZD=A39E{(HoG~iWnx_ncfIlUy|!`zN+K_*o(|bJ znHG`II-E#$=kCkX%zX0xoUXXXWBUW`IghUBi{0DrXLmKmbW33R*?zw!!4gjY+ms>F zRdIc5uURGp$k*=f?I}CXO(C<2`Av)yajK2jK+*aJB@T`<o6Ex<bX}(9><wr`)i2kN zlHtk^ZvES@UB5F*QsWT7F$|@KLT`6%{hm#gSIakU=)t5PKD>nXb@aomQ$FM+=KUtM zm6dGW-IpHQumq8>RecyzyGR&coW+{=q3bL5(?h8v(nFrjgQq^pHIGVFs7G{itT`K1 z!&b|~ShLiw62Go8!K1>HJT2K*pKfcdkzma@#^907uA0uB(yrmuF00rDw!f{2(;f^J zz9t${TmDw;snCde*x;!0`12oXe}32gFYiz2e;7eyjaHX@Z~tc(^gpKie|$f|{*U&5 z48T5mUg+STzkQfTg!x(Ed+*-{>`(8%C@_Ef6a8Q4K76-*cd#!%b^o~W)8F^|2^|C8 zLnT&yr}70w(kdJW+$1>^V&aNf&f=HeD8`7{JzO$CknXHU)X({eB|@q5diX%cy)3_r zB!Q&jgsmR@FQX|PB2@<zO%=j+lN8;*m)~D{dOvB>;li>^Z<Sp5Wci+_5yx}g+}esP z&BDfZJib;`t3~YPZx?fcoHVaU|Ll{8shl6YXiT@=;%!%a$LUlil&v?M&R#q6J|!<% zWZ7=F58C6H=ufZ_!T0okm*V^nod5A_{f_}jhR)mKqiLV^z2qcuF)enAV(N>GyqS_! zwUM#)?tvv)fo=y{x8KOoG+&#Yu>Dd{j2&+&es{TBNL=aOn`gCl$&js0?L5qdVLElN zzmdjWxLR!aOA^x(I_gw=hSY*~y)rkaLGnGK@_tL%>B%_Q)~Kx~I!tY<DpyyL=;9`Q zt1>pSr<blr#(BYxm-kh-XgI!Nu*<RCOyD0h@nORs?En6+`_~<Tw!jNG3LFExf#ZM= za02iJ(7GYq@n_}$?)%^77WNK~PR=f_2ag`}KJIhE_hfL$|AmHypE(=xS4`}s%W+rY zuYO~fx90!s{<k9nuUq1Ldve5A4xUH~k+~lBV%?I<I-_A)nQWpvQsmoKMCaVJY13{@ zbuOWoJh?)T?a^PiET5+d8@lxDXs|U~OOn1cQmZ=Xt+I)d+yfWV?EaT`quBZ)1H-Sn zNDZ{N5N}V6J+0@hvEhgugF{Pp<1<s`M^@?jCwPZE6|B}&8a*kv^Nv=|*82AT(;~<5 z8LJ1L<p|Kx(4{)mUWv%4Pf))l+TH3xV-fnotXNG+QZ!c_0s&DhAUeJr|B%4>A2|Qx z*ZLo&{XX5gFPVIpGD7kK$5y|NZz?}WXnm>j8fQRmdW527J`FQTrseg$wnla7DRLd} z=?9#Lo?7+GC{w<QUw`XnUt8hMb3v;@wP~f_XoLv6QvG$B;z)5pm_hMvmZ77u?hHdg z31$t<IYUmK&D`m3i*Hw%Wbtfsro<yx=QdiWz1DcC=4vmB^UFMfMt#!8F{HJx^_R2u z)r7AL+Q;?eu9sF$4GaI%`${6G?-<tJzIvOQvah;LgF4tUtR`hJ{dJwO;k`Hw)kuC? zT^)UKRJQg(KX^Y@)CnqOD1vBuBp-Vg49$NTW0qkECdLl-f*1m=--Yez;D_pl)>rv> zC=$p9B=s>U_GlmA2)|9n5*dTOHI_v#P((dpOm{N<;=*D)ZkS<15k1xuu{K{u_eg>0 zL`T^Bb=GLX-15k>@kFGNAy}UsA%!eXgi@?n%ROlk#Uz<bT<cu%M93nzRIq{V-ik?! zU&?>mA`d7pMk)Ml(GGIn6e5OD{>)`_D+m)HjlXSv)<CPGZ9&UsDjvvTA{F~t(N{BL ziO}k5N|YKuuhPox*pXPDBa`GofC@={_jA;TJf6Ofnf6dz8TEIhWcS6hkpZn0->vyI z`)EFj2BkvJREu`hLs3{L&T8g0A{kmFGc{&7SIilTO{1G7V+!dwLXOW)>-*=wCU@Dv zE?Gaa{%<-C47~?P55?7?@;38|P&sCtapl<73?|+>R7z3Y*-Sn3ro#Br-?=hd57igg zH3lCDuR<COx9L*f%^o)}n5bd)gT0wnkj`qP(-6Pz>pIx+dPrx@Kk8sd7NEOfMmkf^ zc=p}cKn`HXETT6Ty&2!uu$sufFE!VGRdeS00aW5==Ejf4KVauSdeW@lu!|x;QKY0b z#EQ<eiuBO?J@=hX*5IgiLhsj1J(NT1|4|Rcrq0$x^)8B&#E@Nx7IH3~wZg&(-W2S7 zK~J0=$<O)pjN!iixAw~pYF-rUIrFYiZfyFhEmM$2Eg!0b4YBmlHF6-mPdR2hxn;BN z$rQ>8dgrihAstSnGv|GwxL#Dl*kaj1Z4k=8xph$ehT1thjMK!G&Q&8Is}rlXA_>Fd z7R=6lR6@~pV!vCc{2(yx3)EUpeyL+V(ZbKnM`VQ;Y0P<VC?@vHNLQ5iNN;W(^zORC zvqnz<`%Of8{NK<sgM6GTRu}1^sD`iEL-}t6Phj@@i}VDMo&?zz?1<biTjZH}f@~q( zZ`nh4iJkW-M<(KIr`j;=x@)rKMAtae5_&^W`JCI59Xu_2EO~TQqF<FqJ``H-G#$fi z3;#oF<|gk(?3;S%O+;no%Qs*A8+s0q^Rwf=(ffyL$hq$c)ljoNAEY7q4GmO^u}c@y z*o-vNmC}i?%zn?2_c}W|8?_NzkVczzn^92-o-O2)36zzYPXo!Ia*Hj)izS16ZD}Mk zRbG%^XFQR2s1Cq>S}47(NVcc@8S-juC*D!)97Z+zHY78Z9!d>8h1q2X)x*fw!i-B$ zyOfmSO}<Z){yKIoj3i}|<ct(eCa%&R{MVWHi)?R4l12wc#D)td(nR&&KFFKda&ky+ zDn*pLs7*ASl^%L3$S0jk&Jaq=q}I%ok)NwDO9S;ju%9-{#~nzDbITE?Gm|?c%x;s> zT`M9PvV>wQx#EeP5hi;w4p0xzw235@kfcWI7`_6wB=&9#NKzR|%CtPMds2v%Cia_y zBvp{)`qa_cX=1-WNOC8VH0oB{KkGXAzPL_RB-wkn#&VV<KbGXQ&xZZfP<@2+zfk-s zc0G;i&|m9+;rieIZvXppkNw-depI&;0-t;RU*EF?wQx(2?BD%;Y}s#HLbU)9(w=G= zP>qY)Bh*{NZXb}ZN{l3@>Rtn=9ntu~<amt%wC^+PHdF&IMbcC0VoRfO6||$vObt}G zk|2%E*TQUiN~ZR*$M#ZCzK|lBseAoa-w35ghGeI%cTyI+1fuko%^~x({qvX4kVW1o z$|K}G&%6(mqvTj}$k#<a^6VT%S4c5Ka;{v#jlbZ=UuKTl;KpB2kI4XP9o+cKbj^m{ zzr&5c%q%as@fY0q%jBp7Zu|wg8mP~K8-Kx#zu?ASCTA4>tnnAr_fSK{T&tArt~~aL zlE4?e6m=w7dT@OG6>LetFC=#%$*CFWnY)5wk7uE}MFUCBu_q|k)GYp7`;MZk)<k+6 z4iTKZhrRD8_Ba@_up3F9_HLTJ>nQg>SkOXxb6CJ0KSLI@k>nf}c>ckH4$_;$0`|BY jvakn9&XG&J|6oBE>HR(S`FVF%?D0BeK@UlOVd4J)xRkQx literal 0 HcmV?d00001 diff --git a/htdocs/theme/rodolphe/img/folder.png b/htdocs/theme/rodolphe/img/folder.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..908a6df9348330b2e9aaebcda75d5c6a08b86fef 100644 GIT binary patch literal 1232 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau*3rjw+0}62# zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zRh}-6Ar-fhXEZZOD1@Xt1gOusEji=jElHk7#y2c(-25e8dVWSo4)3E~;nSXM^Pe|s zo=_Isl(Y^0y*jJcb$WYzDhy;Sip^gA>b2M9PkZN-gjhc}IO6v@bCt)Jf-6@8m<t#G zmgbslJNK)})v2M4U3-5^o#uXYSI1}TR);$?A}_0dE8Frk)vZ;6X=mc*^z-v9Q=P)S vi~BeyWY3#Bcdn@5yXV=dnS76w8ZC<%7H5Ur<kz0l28sqxS3j3^P6<r_#*QOW delta 688 zcmV;h0#E(W3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZvGeb}S diff --git a/htdocs/theme/rodolphe/img/object_project.png b/htdocs/theme/rodolphe/img/object_project.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..5ea2e846ddfd125708ef8fdc650742f6acc88823 100644 GIT binary patch literal 1226 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau@#TR@@019yy zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zC7v#hAr-fhXEZZOD1@Xt2nd-QEZ%A?ab|1bhRt8~U(GXIc|+<*>3W@$x$|vIZB?)E z9NFsMtFwAtr?<za!a&BN*zDD>UVB~sw0BNPNaLLwnYO;7opOD<q_Pz9O6r{xH!a^h zZ`m%Rj@NguN5l!dPfJ|2mi5uGGqdbAZeOgcZ>)7h-~{h%+v;y;G=+CX%_{b3i23~H p&6_nH1@`gU-o*mqoM&b-Gd$i9>iuy=Cn#VUJYD@<);T3K0RX&V9`pbJ delta 688 zcmV;h0#E(Q3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZf6GKV> diff --git a/htdocs/theme/rodolphe/img/object_projecttask.png b/htdocs/theme/rodolphe/img/object_projecttask.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec85fed9d3b2f6ca50036741eed51f4b0ded557 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kawZMaUXd0);pW zJR*x37`Q%wFr(8NlNmrkmUKs7M+SzC{oH>NSs56Z83KGlT!G?TTzm{1(%d}4y!>K( z0ulm(;-X@*3>=Eg+-eM5T8!LUjJ(>+yjm>0T8heg%BlvUx_)X}PCmiatg0Q{TAiF) zJv`c-ygFTcI^FzwJp%f@g8F@e27TgIU91LM1T40S*=!ZI+bLjkSkZsKk<S8Y=c7_C z#}&LzD}`J&jyP@+b<8;Vx<T4~z09Z1q4Qiq=Q>7jjZ1Ei&zTaKzRfw~Vp#c+$f^VW zHIIrLR#&!dtZv!m*>W|k`)cIG+tHJ6#Z0;5-tykR|6@Sc$M^|PGH2b*p7}0k!Tqeo z-*cDz$X)-pZso(uwV#^$ws%e4*EaWD&*TFWW*nS6>*%z(C#KCm-Lmjj`^x)M795|u z;@pIFcjqm;(75Jd%gP5WYajKmeblo4Ys-dLZM*(-?)=iR=g*Y&k0$SZF=gNTx!ayD zT5)#S`Ws6&Tv@UC>h9fVm+XGDVfUl<1Ak{6{5k8)@7)J(?>lsV!O_=?kH24a;OX)U zzn5SAx8~ZHt!H2FI`d}NnYTMGzT0^5!|rPzwm$y5`^mrkPyZY_diC7-JI78vI&kLA zxvQ_v-u!go@{1ccp4__g_RO1KH=q8z`sM%4AOD{`dHdx3-xn{wzJ2%o-McTZ-u`^{ z``?@I|37^A`ThIvkH7!_{rm6#|Np>f9R<XMK;o+oQ0AIj666;Q47WiG7*7A$;{$Z) z22U5qkcwN$Gn$zso}Doi5;A(l!_ic*oWs~?6L-p%GPdTOW{o*LPKSike6+T)72efm zmAKhjbSc>BtV7K25M?(v#l>?}<i$l5u5Z0IePW=4gTir7chM8Qa}^GpIC1P)#>$0k zkKD{R8yguIaAmC0Zr*V(xaSA!jn=z9TemvgnGqShOD#fbYpPqT1k=vM&FSaoT~abg z^(yY;oRB?l?%cUkQ>RQ#P0i$c)YK?CV~#O9!{5EmAvP@v_Mph{boFyt=akR{01)CE AGynhq literal 0 HcmV?d00001 diff --git a/htdocs/theme/yellow/img/folder.png b/htdocs/theme/yellow/img/folder.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..908a6df9348330b2e9aaebcda75d5c6a08b86fef 100644 GIT binary patch literal 1232 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau*3rjw+0}62# zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zRh}-6Ar-fhXEZZOD1@Xt1gOusEji=jElHk7#y2c(-25e8dVWSo4)3E~;nSXM^Pe|s zo=_Isl(Y^0y*jJcb$WYzDhy;Sip^gA>b2M9PkZN-gjhc}IO6v@bCt)Jf-6@8m<t#G zmgbslJNK)})v2M4U3-5^o#uXYSI1}TR);$?A}_0dE8Frk)vZ;6X=mc*^z-v9Q=P)S vi~BeyWY3#Bcdn@5yXV=dnS76w8ZC<%7H5Ur<kz0l28sqxS3j3^P6<r_#*QOW delta 688 zcmV;h0#E(W3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZvGeb}S diff --git a/htdocs/theme/yellow/img/object_project.png b/htdocs/theme/yellow/img/object_project.png index 9e1316935bcc4e9fa30bb8948914fd362662a86b..5ea2e846ddfd125708ef8fdc650742f6acc88823 100644 GIT binary patch literal 1226 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kau@#TR@@019yy zctjR6FmQbUVMeDlCNqG7Ea{HEjtmSN`?>!lvNA9*GX(gAxB|twxcC@2q`7&7dHKco z1SA9m#YM$r88{S~xz!lBv>3Uy7<sjsd9_%0wG@^0lvNExb^X+|oP2_-Syel@wK_Sq zdU&)ud3Cz@bh`QVdIa=)1@-#`4f@2bx>yai2v}?tv)L+aw^P98u%iEdBcBD*&PSzO zjw^VbRtmXl9C6$t>X>ozb%V6~dYMn1L+81K&UK958kgK2pED&eeVcQ}#jx@tkyQu$ zYaSIhtgdX^SlzPAv*l`7_tnUWx1%TDikWi9z2&`s|Hpu?kMR?pWX`&qJ@Z}8g8NyE zzvnLbk-PqH-O7iRYd<yhZSR`8uWjzRp2-I$%s4oC*3oHmPfVMCx@F<5_LcXiEI2-Q z#kmRV?#^3wp>fT_mX!}$);{WA`>198*Om>h+IIcv-1((r&z~vlA5Gr-V#>bvbGJQR zwBqct^*5GmxUypN)!n<#F4_HP!|q4z2ma1D_;c2o-@6ao-goH!f}^h&AAi5<z|-Xy zelNfJZ_TwYThG4Ub>_{kGjDfXe7Eu9huzmcY<>K9_mhA7pZ+;=^y<0ucaEKUbl}XJ zb5~!Tz4__F<rg<@Jh^q}?U^^fZa)2a^~?X8KmI>?^7hI5zb{^Vef#eFyLVq+z5V&@ z_rEva|9|-K^ZWPTAAkS<`}g1f|Nnu}Itqvhfy7rGpv*P5B*-rq7;b|WFr5Cg#|P-p zC7v#hAr-fhXEZZOD1@Xt2nd-QEZ%A?ab|1bhRt8~U(GXIc|+<*>3W@$x$|vIZB?)E z9NFsMtFwAtr?<za!a&BN*zDD>UVB~sw0BNPNaLLwnYO;7opOD<q_Pz9O6r{xH!a^h zZ`m%Rj@NguN5l!dPfJ|2mi5uGGqdbAZeOgcZ>)7h-~{h%+v;y;G=+CX%_{b3i23~H p&6_nH1@`gU-o*mqoM&b-Gd$i9>iuy=Cn#VUJYD@<);T3K0RX&V9`pbJ delta 688 zcmV;h0#E(Q3E%~g85;%w0019IEztk~00(qQO+^RQ0s$5Z2%yBQLy<Hme*$kwL_t(| z+I^C{PgFq^#=p6becZjf+<gmzAdhGeOi0v*7>o%@Oti5uv9PqUu%OWYz{=i+Kfo9b z78(m|DAdB3AU>kTO%`@p7S`pm_x+eV&WeJuaAuP4%*^@a<eYpW{<E}fSxzKXMG!<9 z1RneQPy9EzSQ<e2&=AQNe|j_XcNZ?t&RxH%WskHgmDNq(v-b0(;^Y;TYw7phx-@ga zo0^y$&1vez(c$7PB^gVKqNuiYv%dUtVXLEW?t!PS-Mg9B;?tBeP~Tramh-kxjHJ&F z_UEQc1yyz3FgiX~o~=*Ky!rb1^-~Tyzrc}x<<7Y?#ge(>K(ZZkf4r~g4)&%qlnL_V zS1mXmC3+_~`pr;o?`m@sNPKw!w_cNWjG)wLn4r5B`f>@i<p^r4V&h}gf+Z#(D?P-D zqC~P+Ijt0fB9XNxjDtcZE@G?@!`NU3*-{FQETI_)kh5usS{^k!iBD^cd{{Na&W^8~ zpPMhF)Vv@a&dWGCf39I;H-zB{uyq0JMub{3!1rng%{3i*t%bnz`3%AY0UP2i$`WM^ z1|?`ZBI?ZuZ9PI`E5t^_N26}TY}@et5VjY=a+$gG?EX90KRk(2APj*RAxKL=BvXVb zil~Qz<ta=S!iq5jk%aXc!8QT9PLN_;`r|-3PvE8mSat-{f21%5BIv__ZN}j`46Ya8 z(Gsw{0?;lfaxf!xBVH{=;3ot)N#1LUz*M<95^P(BV^e4<0r}&c_bXLARP22#h1>|9 z>%(z9*p|a9c|7)cpFXN}3oHuvz{SP4H(op!4$R8Bhi^VK7O{hvzxx5RC=Dvzw4X1l WHn9p5J%a!M3IG5}MNUMnLSTZf6GKV> diff --git a/htdocs/theme/yellow/img/object_projecttask.png b/htdocs/theme/yellow/img/object_projecttask.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec85fed9d3b2f6ca50036741eed51f4b0ded557 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC*h@TpUD<E4%kawZMaUXd0);pW zJR*x37`Q%wFr(8NlNmrkmUKs7M+SzC{oH>NSs56Z83KGlT!G?TTzm{1(%d}4y!>K( z0ulm(;-X@*3>=Eg+-eM5T8!LUjJ(>+yjm>0T8heg%BlvUx_)X}PCmiatg0Q{TAiF) zJv`c-ygFTcI^FzwJp%f@g8F@e27TgIU91LM1T40S*=!ZI+bLjkSkZsKk<S8Y=c7_C z#}&LzD}`J&jyP@+b<8;Vx<T4~z09Z1q4Qiq=Q>7jjZ1Ei&zTaKzRfw~Vp#c+$f^VW zHIIrLR#&!dtZv!m*>W|k`)cIG+tHJ6#Z0;5-tykR|6@Sc$M^|PGH2b*p7}0k!Tqeo z-*cDz$X)-pZso(uwV#^$ws%e4*EaWD&*TFWW*nS6>*%z(C#KCm-Lmjj`^x)M795|u z;@pIFcjqm;(75Jd%gP5WYajKmeblo4Ys-dLZM*(-?)=iR=g*Y&k0$SZF=gNTx!ayD zT5)#S`Ws6&Tv@UC>h9fVm+XGDVfUl<1Ak{6{5k8)@7)J(?>lsV!O_=?kH24a;OX)U zzn5SAx8~ZHt!H2FI`d}NnYTMGzT0^5!|rPzwm$y5`^mrkPyZY_diC7-JI78vI&kLA zxvQ_v-u!go@{1ccp4__g_RO1KH=q8z`sM%4AOD{`dHdx3-xn{wzJ2%o-McTZ-u`^{ z``?@I|37^A`ThIvkH7!_{rm6#|Np>f9R<XMK;o+oQ0AIj666;Q47WiG7*7A$;{$Z) z22U5qkcwN$Gn$zso}Doi5;A(l!_ic*oWs~?6L-p%GPdTOW{o*LPKSike6+T)72efm zmAKhjbSc>BtV7K25M?(v#l>?}<i$l5u5Z0IePW=4gTir7chM8Qa}^GpIC1P)#>$0k zkKD{R8yguIaAmC0Zr*V(xaSA!jn=z9TemvgnGqShOD#fbYpPqT1k=vM&FSaoT~abg z^(yY;oRB?l?%cUkQ>RQ#P0i$c)YK?CV~#O9!{5EmAvP@v_Mph{boFyt=akR{01)CE AGynhq literal 0 HcmV?d00001 -- GitLab